To make the programs work you need to open the file hardware/arduino/avr/cores/arduino/USBAPI.h located in your Arduino folder and make the Keyboard_::sendReport method public.
The PS2 protocol is implemented with information from: http://retired.beyondlogic.org/keyboard/keybrd.htm
USB scancodes are taken from: http://www.win.tue.nl/~aeb/linux/kbd/scancodes-14.html
Some of the code to receive the PS2 scan codes is taken from the PS2Keyboard library: http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
Information on how to use the KeyReport.modifiers field can be taken from: http://www.usb.org/developers/hidpage/HID1_11.pdf (page 56)
Hey, I wrote this a very long time ago and am not really interested in maintaining this anymore. But some others have posted fixes in this thread. And you are right, the Uno cannot act as HID out of the box. I used this with the Leonardo.