###### (This is the documentation for SDL3, which is the current stable version. [SDL2](https://wiki.libsdl.org/SDL2/) was the previous version!) # SDL_GetScancodeName Get a human-readable name for a scancode. ## Header File Defined in [](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_keyboard.h) ## Syntax ```c const char * SDL_GetScancodeName(SDL_Scancode scancode); ``` ## Function Parameters | | | | | ---------------------------- | ------------ | -------------------------------------------------- | | [SDL_Scancode](SDL_Scancode) | **scancode** | the desired [SDL_Scancode](SDL_Scancode) to query. | ## Return Value (const char *) Returns a pointer to the name for the scancode. If the scancode doesn't have a name this function returns an empty string (""). ## Remarks **Warning**: The returned name is by design not stable across platforms, e.g. the name for [`SDL_SCANCODE_LGUI`](SDL_SCANCODE_LGUI) is "Left GUI" under Linux but "Left Windows" under Microsoft Windows, and some scancodes like [`SDL_SCANCODE_NONUSBACKSLASH`](SDL_SCANCODE_NONUSBACKSLASH) don't have any name at all. There are even scancodes that share names, e.g. [`SDL_SCANCODE_RETURN`](SDL_SCANCODE_RETURN) and [`SDL_SCANCODE_RETURN2`](SDL_SCANCODE_RETURN2) (both called "Return"). This function is therefore unsuitable for creating a stable cross-platform two-way mapping between strings and scancodes. ## Thread Safety This function is not thread safe. ## Version This function is available since SDL 3.1.3. ## See Also - [SDL_GetScancodeFromKey](SDL_GetScancodeFromKey) - [SDL_GetScancodeFromName](SDL_GetScancodeFromName) - [SDL_SetScancodeName](SDL_SetScancodeName) ---- [CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryKeyboard](CategoryKeyboard)