---
name: "SDL_Keycode"
section: "3type"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_Keycode"
---

# SDL\_Keycode(3type)

The SDL virtual key representation.

## NAME

SDL\_Keycode - The SDL virtual key representation.

## HEADER FILE

Defined in SDL3/SDL\_keycode.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**typedef Uint32 SDL\_Keycode;** **#define SDLK\_EXTENDED\_MASK          (1u \<\< 29)** **#define SDLK\_SCANCODE\_MASK          (1u \<\< 30)** **#define SDL\_SCANCODE\_TO\_KEYCODE(X)  (X \| SDLK\_SCANCODE\_MASK)** **#define SDLK\_UNKNOWN                0x00000000u /\*\*\< 0 \*/** **#define SDLK\_RETURN                 0x0000000du /\*\*\< '' \*/** **#define SDLK\_ESCAPE                 0x0000001bu /\*\*\< '** **#define SDLK\_BACKSPACE              0x00000008u /\*\*\< '** **#define SDLK\_TAB                    0x00000009u /\*\*\< ' ' \*/** **#define SDLK\_SPACE                  0x00000020u /\*\*\< ' ' \*/** **#define SDLK\_EXCLAIM                0x00000021u /\*\*\< '!' \*/** **#define SDLK\_DBLAPOSTROPHE          0x00000022u /\*\*\< '***'***\*/** **#define SDLK\_HASH                   0x00000023u /\*\*\< '#' \*/** **#define SDLK\_DOLLAR                 0x00000024u /\*\*\< '$' \*/** **#define SDLK\_PERCENT                0x00000025u /\*\*\< '%' \*/** **#define SDLK\_AMPERSAND              0x00000026u /\*\*\< '&' \*/** **#define SDLK\_APOSTROPHE             0x00000027u /\*\*\< '´' \*/** **#define SDLK\_LEFTPAREN              0x00000028u /\*\*\< '(' \*/** **#define SDLK\_RIGHTPAREN             0x00000029u /\*\*\< ')' \*/** **#define SDLK\_ASTERISK               0x0000002au /\*\*\< '\*' \*/** **#define SDLK\_PLUS                   0x0000002bu /\*\*\< '+' \*/** **#define SDLK\_COMMA                  0x0000002cu /\*\*\< ',' \*/** **#define SDLK\_MINUS                  0x0000002du /\*\*\< '-' \*/** **#define SDLK\_PERIOD                 0x0000002eu /\*\*\< '.' \*/** **#define SDLK\_SLASH                  0x0000002fu /\*\*\< '/' \*/** **#define SDLK\_0                      0x00000030u /\*\*\< '0' \*/** **#define SDLK\_1                      0x00000031u /\*\*\< '1' \*/** **#define SDLK\_2                      0x00000032u /\*\*\< '2' \*/** **#define SDLK\_3                      0x00000033u /\*\*\< '3' \*/** **#define SDLK\_4                      0x00000034u /\*\*\< '4' \*/** **#define SDLK\_5                      0x00000035u /\*\*\< '5' \*/** **#define SDLK\_6                      0x00000036u /\*\*\< '6' \*/** **#define SDLK\_7                      0x00000037u /\*\*\< '7' \*/** **#define SDLK\_8                      0x00000038u /\*\*\< '8' \*/** **#define SDLK\_9                      0x00000039u /\*\*\< '9' \*/** **#define SDLK\_COLON                  0x0000003au /\*\*\< ':' \*/** **#define SDLK\_SEMICOLON              0x0000003bu /\*\*\< ';' \*/** **#define SDLK\_LESS                   0x0000003cu /\*\*\< '\<' \*/** **#define SDLK\_EQUALS                 0x0000003du /\*\*\< '=' \*/** **#define SDLK\_GREATER                0x0000003eu /\*\*\< '\>' \*/** **#define SDLK\_QUESTION               0x0000003fu /\*\*\< '?' \*/** **#define SDLK\_AT                     0x00000040u /\*\*\< '@' \*/** **#define SDLK\_LEFTBRACKET            0x0000005bu /\*\*\< '\[' \*/** **#define SDLK\_BACKSLASH              0x0000005cu /\*\*\< '\\' \*/** **#define SDLK\_RIGHTBRACKET           0x0000005du /\*\*\< '\]' \*/** **#define SDLK\_CARET                  0x0000005eu /\*\*\< '^' \*/** **#define SDLK\_UNDERSCORE             0x0000005fu /\*\*\< '\_' \*/** **#define SDLK\_GRAVE                  0x00000060u /\*\*\< '\`' \*/** **#define SDLK\_A                      0x00000061u /\*\*\< 'a' \*/** **#define SDLK\_B                      0x00000062u /\*\*\< 'b' \*/** **#define SDLK\_C                      0x00000063u /\*\*\< 'c' \*/** **#define SDLK\_D                      0x00000064u /\*\*\< 'd' \*/** **#define SDLK\_E                      0x00000065u /\*\*\< 'e' \*/** **#define SDLK\_F                      0x00000066u /\*\*\< 'f' \*/** **#define SDLK\_G                      0x00000067u /\*\*\< 'g' \*/** **#define SDLK\_H                      0x00000068u /\*\*\< 'h' \*/** **#define SDLK\_I                      0x00000069u /\*\*\< 'i' \*/** **#define SDLK\_J                      0x0000006au /\*\*\< 'j' \*/** **#define SDLK\_K                      0x0000006bu /\*\*\< 'k' \*/** **#define SDLK\_L                      0x0000006cu /\*\*\< 'l' \*/** **#define SDLK\_M                      0x0000006du /\*\*\< 'm' \*/** **#define SDLK\_N                      0x0000006eu /\*\*\< 'n' \*/** **#define SDLK\_O                      0x0000006fu /\*\*\< 'o' \*/** **#define SDLK\_P                      0x00000070u /\*\*\< 'p' \*/** **#define SDLK\_Q                      0x00000071u /\*\*\< 'q' \*/** **#define SDLK\_R                      0x00000072u /\*\*\< 'r' \*/** **#define SDLK\_S                      0x00000073u /\*\*\< 's' \*/** **#define SDLK\_T                      0x00000074u /\*\*\< 't' \*/** **#define SDLK\_U                      0x00000075u /\*\*\< 'u' \*/** **#define SDLK\_V                      0x00000076u /\*\*\< 'v' \*/** **#define SDLK\_W                      0x00000077u /\*\*\< 'w' \*/** **#define SDLK\_X                      0x00000078u /\*\*\< 'x' \*/** **#define SDLK\_Y                      0x00000079u /\*\*\< 'y' \*/** **#define SDLK\_Z                      0x0000007au /\*\*\< 'z' \*/** **#define SDLK\_LEFTBRACE              0x0000007bu /\*\*\< '{' \*/** **#define SDLK\_PIPE                   0x0000007cu /\*\*\< '\|' \*/** **#define SDLK\_RIGHTBRACE             0x0000007du /\*\*\< '}' \*/** **#define SDLK\_TILDE                  0x0000007eu /\*\*\< '~' \*/** **#define SDLK\_DELETE                 0x0000007fu /\*\*\< '** **#define SDLK\_PLUSMINUS              0x000000b1u /\*\*\< '** **#define SDLK\_CAPSLOCK               0x40000039u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CAPSLOCK) \*/** **#define SDLK\_F1                     0x4000003au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F1) \*/** **#define SDLK\_F2                     0x4000003bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F2) \*/** **#define SDLK\_F3                     0x4000003cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F3) \*/** **#define SDLK\_F4                     0x4000003du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F4) \*/** **#define SDLK\_F5                     0x4000003eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F5) \*/** **#define SDLK\_F6                     0x4000003fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F6) \*/** **#define SDLK\_F7                     0x40000040u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F7) \*/** **#define SDLK\_F8                     0x40000041u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F8) \*/** **#define SDLK\_F9                     0x40000042u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F9) \*/** **#define SDLK\_F10                    0x40000043u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F10) \*/** **#define SDLK\_F11                    0x40000044u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F11) \*/** **#define SDLK\_F12                    0x40000045u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F12) \*/** **#define SDLK\_PRINTSCREEN            0x40000046u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PRINTSCREEN) \*/** **#define SDLK\_SCROLLLOCK             0x40000047u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SCROLLLOCK) \*/** **#define SDLK\_PAUSE                  0x40000048u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PAUSE) \*/** **#define SDLK\_INSERT                 0x40000049u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_INSERT) \*/** **#define SDLK\_HOME                   0x4000004au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_HOME) \*/** **#define SDLK\_PAGEUP                 0x4000004bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PAGEUP) \*/** **#define SDLK\_END                    0x4000004du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_END) \*/** **#define SDLK\_PAGEDOWN               0x4000004eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PAGEDOWN) \*/** **#define SDLK\_RIGHT                  0x4000004fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RIGHT) \*/** **#define SDLK\_LEFT                   0x40000050u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_LEFT) \*/** **#define SDLK\_DOWN                   0x40000051u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_DOWN) \*/** **#define SDLK\_UP                     0x40000052u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_UP) \*/** **#define SDLK\_NUMLOCKCLEAR           0x40000053u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_NUMLOCKCLEAR) \*/** **#define SDLK\_KP\_DIVIDE              0x40000054u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_DIVIDE) \*/** **#define SDLK\_KP\_MULTIPLY            0x40000055u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MULTIPLY) \*/** **#define SDLK\_KP\_MINUS               0x40000056u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MINUS) \*/** **#define SDLK\_KP\_PLUS                0x40000057u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_PLUS) \*/** **#define SDLK\_KP\_ENTER               0x40000058u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_ENTER) \*/** **#define SDLK\_KP\_1                   0x40000059u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_1) \*/** **#define SDLK\_KP\_2                   0x4000005au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_2) \*/** **#define SDLK\_KP\_3                   0x4000005bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_3) \*/** **#define SDLK\_KP\_4                   0x4000005cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_4) \*/** **#define SDLK\_KP\_5                   0x4000005du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_5) \*/** **#define SDLK\_KP\_6                   0x4000005eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_6) \*/** **#define SDLK\_KP\_7                   0x4000005fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_7) \*/** **#define SDLK\_KP\_8                   0x40000060u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_8) \*/** **#define SDLK\_KP\_9                   0x40000061u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_9) \*/** **#define SDLK\_KP\_0                   0x40000062u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_0) \*/** **#define SDLK\_KP\_PERIOD              0x40000063u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_PERIOD) \*/** **#define SDLK\_APPLICATION            0x40000065u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_APPLICATION) \*/** **#define SDLK\_POWER                  0x40000066u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_POWER) \*/** **#define SDLK\_KP\_EQUALS              0x40000067u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_EQUALS) \*/** **#define SDLK\_F13                    0x40000068u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F13) \*/** **#define SDLK\_F14                    0x40000069u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F14) \*/** **#define SDLK\_F15                    0x4000006au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F15) \*/** **#define SDLK\_F16                    0x4000006bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F16) \*/** **#define SDLK\_F17                    0x4000006cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F17) \*/** **#define SDLK\_F18                    0x4000006du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F18) \*/** **#define SDLK\_F19                    0x4000006eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F19) \*/** **#define SDLK\_F20                    0x4000006fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F20) \*/** **#define SDLK\_F21                    0x40000070u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F21) \*/** **#define SDLK\_F22                    0x40000071u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F22) \*/** **#define SDLK\_F23                    0x40000072u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F23) \*/** **#define SDLK\_F24                    0x40000073u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_F24) \*/** **#define SDLK\_EXECUTE                0x40000074u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_EXECUTE) \*/** **#define SDLK\_HELP                   0x40000075u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_HELP) \*/** **#define SDLK\_MENU                   0x40000076u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MENU) \*/** **#define SDLK\_SELECT                 0x40000077u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SELECT) \*/** **#define SDLK\_STOP                   0x40000078u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_STOP) \*/** **#define SDLK\_AGAIN                  0x40000079u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AGAIN) \*/** **#define SDLK\_UNDO                   0x4000007au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_UNDO) \*/** **#define SDLK\_CUT                    0x4000007bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CUT) \*/** **#define SDLK\_COPY                   0x4000007cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_COPY) \*/** **#define SDLK\_PASTE                  0x4000007du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PASTE) \*/** **#define SDLK\_FIND                   0x4000007eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_FIND) \*/** **#define SDLK\_MUTE                   0x4000007fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MUTE) \*/** **#define SDLK\_VOLUMEUP               0x40000080u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_VOLUMEUP) \*/** **#define SDLK\_VOLUMEDOWN             0x40000081u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_VOLUMEDOWN) \*/** **#define SDLK\_KP\_COMMA               0x40000085u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_COMMA) \*/** **#define SDLK\_KP\_EQUALSAS400         0x40000086u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_EQUALSAS400) \*/** **#define SDLK\_ALTERASE               0x40000099u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_ALTERASE) \*/** **#define SDLK\_SYSREQ                 0x4000009au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SYSREQ) \*/** **#define SDLK\_CANCEL                 0x4000009bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CANCEL) \*/** **#define SDLK\_CLEAR                  0x4000009cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CLEAR) \*/** **#define SDLK\_PRIOR                  0x4000009du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_PRIOR) \*/** **#define SDLK\_RETURN2                0x4000009eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RETURN2) \*/** **#define SDLK\_SEPARATOR              0x4000009fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SEPARATOR) \*/** **#define SDLK\_OUT                    0x400000a0u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_OUT) \*/** **#define SDLK\_OPER                   0x400000a1u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_OPER) \*/** **#define SDLK\_CLEARAGAIN             0x400000a2u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CLEARAGAIN) \*/** **#define SDLK\_CRSEL                  0x400000a3u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CRSEL) \*/** **#define SDLK\_EXSEL                  0x400000a4u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_EXSEL) \*/** **#define SDLK\_KP\_00                  0x400000b0u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_00) \*/** **#define SDLK\_KP\_000                 0x400000b1u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_000) \*/** **#define SDLK\_THOUSANDSSEPARATOR     0x400000b2u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_THOUSANDSSEPARATOR) \*/** **#define SDLK\_DECIMALSEPARATOR       0x400000b3u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_DECIMALSEPARATOR) \*/** **#define SDLK\_CURRENCYUNIT           0x400000b4u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CURRENCYUNIT) \*/** **#define SDLK\_CURRENCYSUBUNIT        0x400000b5u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CURRENCYSUBUNIT) \*/** **#define SDLK\_KP\_LEFTPAREN           0x400000b6u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_LEFTPAREN) \*/** **#define SDLK\_KP\_RIGHTPAREN          0x400000b7u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_RIGHTPAREN) \*/** **#define SDLK\_KP\_LEFTBRACE           0x400000b8u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_LEFTBRACE) \*/** **#define SDLK\_KP\_RIGHTBRACE          0x400000b9u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_RIGHTBRACE) \*/** **#define SDLK\_KP\_TAB                 0x400000bau /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_TAB) \*/** **#define SDLK\_KP\_BACKSPACE           0x400000bbu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_BACKSPACE) \*/** **#define SDLK\_KP\_A                   0x400000bcu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_A) \*/** **#define SDLK\_KP\_B                   0x400000bdu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_B) \*/** **#define SDLK\_KP\_C                   0x400000beu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_C) \*/** **#define SDLK\_KP\_D                   0x400000bfu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_D) \*/** **#define SDLK\_KP\_E                   0x400000c0u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_E) \*/** **#define SDLK\_KP\_F                   0x400000c1u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_F) \*/** **#define SDLK\_KP\_XOR                 0x400000c2u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_XOR) \*/** **#define SDLK\_KP\_POWER               0x400000c3u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_POWER) \*/** **#define SDLK\_KP\_PERCENT             0x400000c4u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_PERCENT) \*/** **#define SDLK\_KP\_LESS                0x400000c5u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_LESS) \*/** **#define SDLK\_KP\_GREATER             0x400000c6u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_GREATER) \*/** **#define SDLK\_KP\_AMPERSAND           0x400000c7u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_AMPERSAND) \*/** **#define SDLK\_KP\_DBLAMPERSAND        0x400000c8u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_DBLAMPERSAND) \*/** **#define SDLK\_KP\_VERTICALBAR         0x400000c9u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_VERTICALBAR) \*/** **#define SDLK\_KP\_DBLVERTICALBAR      0x400000cau /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_DBLVERTICALBAR) \*/** **#define SDLK\_KP\_COLON               0x400000cbu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_COLON) \*/** **#define SDLK\_KP\_HASH                0x400000ccu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_HASH) \*/** **#define SDLK\_KP\_SPACE               0x400000cdu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_SPACE) \*/** **#define SDLK\_KP\_AT                  0x400000ceu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_AT) \*/** **#define SDLK\_KP\_EXCLAM              0x400000cfu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_EXCLAM) \*/** **#define SDLK\_KP\_MEMSTORE            0x400000d0u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMSTORE) \*/** **#define SDLK\_KP\_MEMRECALL           0x400000d1u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMRECALL) \*/** **#define SDLK\_KP\_MEMCLEAR            0x400000d2u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMCLEAR) \*/** **#define SDLK\_KP\_MEMADD              0x400000d3u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMADD) \*/** **#define SDLK\_KP\_MEMSUBTRACT         0x400000d4u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMSUBTRACT) \*/** **#define SDLK\_KP\_MEMMULTIPLY         0x400000d5u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMMULTIPLY) \*/** **#define SDLK\_KP\_MEMDIVIDE           0x400000d6u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_MEMDIVIDE) \*/** **#define SDLK\_KP\_PLUSMINUS           0x400000d7u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_PLUSMINUS) \*/** **#define SDLK\_KP\_CLEAR               0x400000d8u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_CLEAR) \*/** **#define SDLK\_KP\_CLEARENTRY          0x400000d9u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_CLEARENTRY) \*/** **#define SDLK\_KP\_BINARY              0x400000dau /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_BINARY) \*/** **#define SDLK\_KP\_OCTAL               0x400000dbu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_OCTAL) \*/** **#define SDLK\_KP\_DECIMAL             0x400000dcu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_DECIMAL) \*/** **#define SDLK\_KP\_HEXADECIMAL         0x400000ddu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_KP\_HEXADECIMAL) \*/** **#define SDLK\_LCTRL                  0x400000e0u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_LCTRL) \*/** **#define SDLK\_LSHIFT                 0x400000e1u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_LSHIFT) \*/** **#define SDLK\_LALT                   0x400000e2u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_LALT) \*/** **#define SDLK\_LGUI                   0x400000e3u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_LGUI) \*/** **#define SDLK\_RCTRL                  0x400000e4u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RCTRL) \*/** **#define SDLK\_RSHIFT                 0x400000e5u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RSHIFT) \*/** **#define SDLK\_RALT                   0x400000e6u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RALT) \*/** **#define SDLK\_RGUI                   0x400000e7u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_RGUI) \*/** **#define SDLK\_MODE                   0x40000101u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MODE) \*/** **#define SDLK\_SLEEP                  0x40000102u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SLEEP) \*/** **#define SDLK\_WAKE                   0x40000103u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_WAKE) \*/** **#define SDLK\_CHANNEL\_INCREMENT      0x40000104u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CHANNEL\_INCREMENT) \*/** **#define SDLK\_CHANNEL\_DECREMENT      0x40000105u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CHANNEL\_DECREMENT) \*/** **#define SDLK\_MEDIA\_PLAY             0x40000106u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_PLAY) \*/** **#define SDLK\_MEDIA\_PAUSE            0x40000107u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_PAUSE) \*/** **#define SDLK\_MEDIA\_RECORD           0x40000108u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_RECORD) \*/** **#define SDLK\_MEDIA\_FAST\_FORWARD     0x40000109u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_FAST\_FORWARD) \*/** **#define SDLK\_MEDIA\_REWIND           0x4000010au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_REWIND) \*/** **#define SDLK\_MEDIA\_NEXT\_TRACK       0x4000010bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_NEXT\_TRACK) \*/** **#define SDLK\_MEDIA\_PREVIOUS\_TRACK   0x4000010cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_PREVIOUS\_TRACK) \*/** **#define SDLK\_MEDIA\_STOP             0x4000010du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_STOP) \*/** **#define SDLK\_MEDIA\_EJECT            0x4000010eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_EJECT) \*/** **#define SDLK\_MEDIA\_PLAY\_PAUSE       0x4000010fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_PLAY\_PAUSE) \*/** **#define SDLK\_MEDIA\_SELECT           0x40000110u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_MEDIA\_SELECT) \*/** **#define SDLK\_AC\_NEW                 0x40000111u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_NEW) \*/** **#define SDLK\_AC\_OPEN                0x40000112u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_OPEN) \*/** **#define SDLK\_AC\_CLOSE               0x40000113u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_CLOSE) \*/** **#define SDLK\_AC\_EXIT                0x40000114u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_EXIT) \*/** **#define SDLK\_AC\_SAVE                0x40000115u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_SAVE) \*/** **#define SDLK\_AC\_PRINT               0x40000116u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_PRINT) \*/** **#define SDLK\_AC\_PROPERTIES          0x40000117u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_PROPERTIES) \*/** **#define SDLK\_AC\_SEARCH              0x40000118u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_SEARCH) \*/** **#define SDLK\_AC\_HOME                0x40000119u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_HOME) \*/** **#define SDLK\_AC\_BACK                0x4000011au /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_BACK) \*/** **#define SDLK\_AC\_FORWARD             0x4000011bu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_FORWARD) \*/** **#define SDLK\_AC\_STOP                0x4000011cu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_STOP) \*/** **#define SDLK\_AC\_REFRESH             0x4000011du /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_REFRESH) \*/** **#define SDLK\_AC\_BOOKMARKS           0x4000011eu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_AC\_BOOKMARKS) \*/** **#define SDLK\_SOFTLEFT               0x4000011fu /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SOFTLEFT) \*/** **#define SDLK\_SOFTRIGHT              0x40000120u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_SOFTRIGHT) \*/** **#define SDLK\_CALL                   0x40000121u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_CALL) \*/** **#define SDLK\_ENDCALL                0x40000122u /\*\*\< SDL\_SCANCODE\_TO\_KEYCODE(SDL\_SCANCODE\_ENDCALL) \*/** **#define SDLK\_LEFT\_TAB               0x20000001u /\*\*\< Extended key Left Tab \*/** **#define SDLK\_LEVEL5\_SHIFT           0x20000002u /\*\*\< Extended key Level 5 Shift \*/** **#define SDLK\_MULTI\_KEY\_COMPOSE      0x20000003u /\*\*\< Extended key Multi-key Compose \*/** **#define SDLK\_LMETA                  0x20000004u /\*\*\< Extended key Left Meta \*/** **#define SDLK\_RMETA                  0x20000005u /\*\*\< Extended key Right Meta \*/** **#define SDLK\_LHYPER                 0x20000006u /\*\*\< Extended key Left Hyper \*/** **#define SDLK\_RHYPER                 0x20000007u /\*\*\< Extended key Right Hyper \*/**

## DESCRIPTION

Values of this type are used to represent keyboard keys using the current layout of the keyboard. These values include Unicode values representing the unmodified character that would be generated by pressing the key, or an **SDLK\_\*** constant for those keys that do not generate characters.

A special exception is the number keys at the top of the keyboard which map to  **SDLK\_0** ... **SDLK\_9**\
  on AZERTY layouts.

Keys with the  **SDLK\_EXTENDED\_MASK** bit set do not map to a scancode or unicode code point.

## AVAILABILITY

This datatype is available since SDL 3.2.0.
