Track keys based on client supplied key codes

This makes it easier to provide more sane events to the backend code
even with crazy clients.
2 files changed