Start on keyboard, add keycode/scancode definitions

As keycodes and scancodes can be macro'd, they weren't especially
difficult, but the keyboard functions will take a bit longer.