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)
in the file "/libraries/Keyboard/src/Keybard.h" I moved the line
void sendReport(KeyReport* keys);
three rows down so it no more sits in the "private:" section but in the "public:" section
Then I added:
#include <Keyboard.h>
to the top of the main program code
it compiled without error (Arduino 1.6.9 used) for a Leonardo