There are three input methods provided: an on-screen keyboard, a Bluetooth keyboard, and handwriting recognition. The on-screen keyboard works quite well. As you type, it suggests the remainder of the word and learns from your recent typing history. There are a few slight oddities. The largest, and therefore easiest to hit, keys on the virtual keyboard are q, z, @, and ? — hardly the most commonly pressed. One side effect of this is that the top row are in a slightly different location relative to the middle row than on a normal QWERTY keyboard.
A third-party program claims to be able to connect to a Bluetooth keyboard, but I was unable to make it detect an Apple Bluetooth keyboard I had on hand. Nokia also produces one, and it might work better with that.
The other major disappointment is the handwriting recognition. The thing this most reminds me of is the imp in a Terry Pratchett novel which, when asked to demonstrate its handwriting recognition feature, exclaims 'Yes, that's handwriting alright.' It is certainly capable of determining that you have entered some letters, but telling what they are seems beyond its capability. I handed it around a few people to see if it was just my — admittedly poor — handwriting it was having problems with, but it seemed to be a universal failing. Hopefully this will be improved on in a future firmware release.