Keyboard Fixes

Implements keyboard_key and also fixes keyboard_lastkey so that they both behave the same as GM8.1,
also tested multiple keyboard key combinations and releases to ensure the
behavior is implemented properly. Also fixed for XLIB.