Add keyboard input

Keyboard keys + 3 (max) modifiers