(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)![](/static_files/link.svg)
SDL_HINT_KEYCODE_OPTIONS
A variable that controls keycode representation in keyboard events.
Defined in <SDL3/SDL_hints.h>
Syntax![](/static_files/link.svg)
#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"
This variable is a comma separated set of options for translating keycodes in events:
- "none": Keycode options are cleared, this overrides other options.
- "hide_numpad": The numpad keysyms will be translated into their non-numpad versions based on the current NumLock state. For example, SDLK_KP_4 would become SDLK_4 if SDL_KMOD_NUM is set in the event modifiers, and SDLK_LEFT if it is unset.
- "french_numbers": The number row on French keyboards is inverted, so pressing the 1 key would yield the keycode SDLK_1, or '1', instead of SDLK_AMPERSAND, or '&'
- "latin_letters": For keyboards using non-Latin letters, such as Russian or Thai, the letter keys generate keycodes as though it had an en_US layout. e.g. pressing the key associated with SDL_SCANCODE_A on a Russian keyboard would yield 'a' instead of a Cyrillic letter.
The default value for this hint is "french_numbers,latin_letters"
Some platforms like Emscripten only provide modified keycodes and the options are not used.
These options do not affect the return value of SDL_GetKeyFromScancode() or SDL_GetScancodeFromKey(), they just apply to the keycode included in key events.
This hint can be set anytime.
Version![](/static_files/link.svg)
This hint is available since SDL 3.0.0.
CategoryAPI, CategoryAPIMacro, CategoryHints