Keyboard support

YEEEEEEAH, finally, isn't documented anywhere...