Abstract the keycodes so they they're simpler to maintain

Dummy pull request etc