SDL_HINT_KEYCODE_OPTIONS - Man Page

A variable that controls keycode representation in keyboard events.

Synopsis

#include <SDL3/SDL_hints.h>

#define SDL_HINT_KEYCODE_OPTIONS "SDL_KEYCODE_OPTIONS"

Description

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.

Availability

This hint is available since SDL 3.2.0.

Referenced By

SDL_KeyboardEvent.3type(3).

SDL 3.2.16 Simple Directmedia Layer SDL3 FUNCTIONS