- Convey both fixed scancodes and keyboard-layout dependent keycodes in key events. - Update scancode to keycode mapping when keyboard layout changes - Allow querying key input state using either keycodes or scancodes