Another idea, which doesn't really take any "hacking" would be AACKeys... basically, it listens for ASCII values on a Serial port of your choice, then turns those into key presses.
For example, to type out Arduino Rocks! would simply be:
Serial.println("ARDUINO ROCKS!");
And there is a difference when using print and println, using println will actually press enter after the text. Also, you can set keys to do full keystrokes, or open programs/text files/delete anything/open/copy... you name it, it can be done!
Here's the link for the Serial program, based of SerialKeys:
http://www.aacinstitute.org/Resources/ProductsandServices/AACKeys/AACKeys.htmlAnd, if you want to add some more abilities (such as emulating a keyboard and mouse, from 1 MCU) this program can control your mouse/keyboard as if it was you!
http://www.autohotkey.com/ (this works with regular keyboards as well, not just for the Serial keyboard)
The Serial keyboard is pretty fun though, controlling video games with your Arduino is always exciting!:)