Generic Keyboard wrapper, but keeps having problems on JavaScript side with keydown/keypress