Hi,
here is another hardware solution which does not use the Arduino:
http://www.codemercs.com/KeyWarriorE.html
Its one of the chips you might find in USB-keyboards.
The good part of the story is that its available in DIP-packages too, and
the datasheet for the chip also provides a schematic.
Eberhard