{"name":"DIK KeyCodes","title":"DIK KeyCodes","type":"topic","url":"https://community.bistudio.com/wiki/DIK_KeyCodes","revid":378099,"updated":"2026-02-13T10:43:17Z","aliases":["DIK","ListOfKeyCodes"],"markdown":"Each key on any keyboard has a unique Direct Input Keyboard (DIK) code. They are **not** character symbols.\nThey refer to the **position of the key** on the keyboard. In other words, depending on the keyboard layout, the actual key can change, but its position is always identical.\nThis is useful to **fulfill ergonomic needs**.\n\n**In addition to that, using DIK codes has more advantages:**\n\n- Recognize keys that can not be represented in character equivalents. Function keys for example have no character set code.\n- Using the defines below, makes using key codes easier in configs, since the actual code is replaced by a memorable string, e.g `DIK_K` instead of `0x25`.\n- Unique DIK codes exist for numeric pad '9' versus standard key '9'. They are key codes, not character codes.\n\n> [!NOTE]\n> Specific keys cannot be detected with DIK codes, since the position of the keys changes with the Keyboard layout ([QWERTY](https://en.wikipedia.org/wiki/QWERTY), [Dvorak](https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard)).\n\n### Script Usage\n\nDIK codes are **always** accompanied by the state of the <kbd>⇧ Shift</kbd>, <kbd>Alt</kbd>, and <kbd>Ctrl</kbd> keys. Any script can differentiate between e.g <kbd>Q</kbd> and <kbd>Alt</kbd> + <kbd>Q</kbd>.\n\n> [!NOTE]\n> For parameters passed to key event handlers, see onKeyDown event handler.\n\n#### Example Script\n\n```sqf\n#include \"\\a3\\ui_f\\hpp\\definedikcodes.inc\"\n\nfindDisplay 46 displayAddEventHandler [\"KeyDown\", {\n    params [\"_displayOrControl\", \"_key\", \"_shift\", \"_ctrl\", \"_alt\"];\n\n    private _override = false;\n\n    if (_key isEqualTo DIK_W) then // DIK_W = 17 = 0x11\n    {\n        systemChat \"You pressed W.\";\n\n        if (_shift) then\n        {\n            systemChat \"You are not allowed to use Shift + W!\";\n            _override = true;\n        };\n    };\n\n    _override;\n}];\n```\n\n### Defines\n\n**Arma 3**\n\n```cpp\n#include \"\\a3\\ui_f\\hpp\\definedikcodes.inc\"\n```\n\n### DIK Codes\n\n#### North-American Keyboard\n\n`QWERTY`\n\n| Key | Type | DIK ID | Hexadecimal | Integer | Note |\n|---|---|---|---|---|---|\n| Function Keys |  |  |  |  |  |\n| <kbd>F1</kbd> | F1..F24 | DIK_F1 | 0x3B | 59 | N/A |\n| <kbd>F2</kbd> | F1..F24 | DIK_F2 | 0x3C | 60 | N/A |\n| <kbd>F3</kbd> | F1..F24 | DIK_F3 | 0x3D | 61 | N/A |\n| <kbd>F4</kbd> | F1..F24 | DIK_F4 | 0x3E | 62 | N/A |\n| <kbd>F5</kbd> | F1..F24 | DIK_F5 | 0x3F | 63 | N/A |\n| <kbd>F6</kbd> | F1..F24 | DIK_F6 | 0x40 | 64 | N/A |\n| <kbd>F7</kbd> | F1..F24 | DIK_F7 | 0x41 | 65 | N/A |\n| <kbd>F8</kbd> | F1..F24 | DIK_F8 | 0x42 | 66 | N/A |\n| <kbd>F9</kbd> | F1..F24 | DIK_F9 | 0x43 | 67 | N/A |\n| <kbd>F10</kbd> | F1..F24 | DIK_F10 | 0x44 | 68 | N/A |\n| <kbd>F11</kbd> | F1..F24 | DIK_F11 | 0x57 | 87 | N/A |\n| <kbd>F12</kbd> | F1..F24 | DIK_F12 | 0x58 | 88 | N/A |\n| <kbd>F13</kbd> | F1..F24 | DIK_F13 | 0x64 | 100 | NEC PC98 |\n| <kbd>F14</kbd> | F1..F24 | DIK_F14 | 0x65 | 101 | NEC PC98 |\n| <kbd>F15</kbd> | F1..F24 | DIK_F15 | 0x66 | 102 | NEC PC98 |\n| <kbd>F16</kbd> | F1..F24 | DIK_F16 | 0x67 | 103 | N/A |\n| <kbd>F17</kbd> | F1..F24 | DIK_F17 | 0x68 | 104 | N/A |\n| <kbd>F18</kbd> | F1..F24 | DIK_F18 | 0x69 | 105 | N/A |\n| <kbd>F19</kbd> | F1..F24 | DIK_F19 | 0x6A | 106 | N/A |\n| <kbd>F20</kbd> | F1..F24 | DIK_F20 | 0x6B | 107 | N/A |\n| <kbd>F21</kbd> | F1..F24 | DIK_F21 | 0x6C | 108 | N/A |\n| <kbd>F22</kbd> | F1..F24 | DIK_F22 | 0x6D | 109 | N/A |\n| <kbd>F23</kbd> | F1..F24 | DIK_F23 | 0x6E | 110 | N/A |\n| <kbd>F24</kbd> | F1..F24 | DIK_F24 | 0x76 | 118 | N/A |\n| Numeric Keys |  |  |  |  |  |\n| <kbd>0</kbd> | 0..9 | DIK_0 | 0x0B | 11 | N/A |\n| <kbd>1</kbd> | 0..9 | DIK_1 | 0x02 | 2 | N/A |\n| <kbd>2</kbd> | 0..9 | DIK_2 | 0x03 | 3 | N/A |\n| <kbd>3</kbd> | 0..9 | DIK_3 | 0x04 | 4 | N/A |\n| <kbd>4</kbd> | 0..9 | DIK_4 | 0x05 | 5 | N/A |\n| <kbd>5</kbd> | 0..9 | DIK_5 | 0x06 | 6 | N/A |\n| <kbd>6</kbd> | 0..9 | DIK_6 | 0x07 | 7 | N/A |\n| <kbd>7</kbd> | 0..9 | DIK_7 | 0x08 | 8 | N/A |\n| <kbd>8</kbd> | 0..9 | DIK_8 | 0x09 | 9 | N/A |\n| <kbd>9</kbd> | 0..9 | DIK_9 | 0x0A | 10 | N/A |\n| Numpad Keys |  |  |  |  |  |\n| <kbd>NUM 0</kbd> | Numpad | DIK_NUMPAD0 | 0x52 | 82 | N/A |\n| <kbd>NUM 1</kbd> | Numpad | DIK_NUMPAD1 | 0x4F | 79 | N/A |\n| <kbd>NUM 2</kbd> | Numpad | DIK_NUMPAD2 | 0x50 | 80 | N/A |\n| <kbd>NUM 3</kbd> | Numpad | DIK_NUMPAD3 | 0x51 | 81 | N/A |\n| <kbd>NUM 4</kbd> | Numpad | DIK_NUMPAD4 | 0x4B | 75 | N/A |\n| <kbd>NUM 5</kbd> | Numpad | DIK_NUMPAD5 | 0x4C | 76 | N/A |\n| <kbd>NUM 6</kbd> | Numpad | DIK_NUMPAD6 | 0x4D | 77 | N/A |\n| <kbd>NUM 7</kbd> | Numpad | DIK_NUMPAD7 | 0x47 | 71 | N/A |\n| <kbd>NUM 8</kbd> | Numpad | DIK_NUMPAD8 | 0x48 | 72 | N/A |\n| <kbd>NUM 9</kbd> | Numpad | DIK_NUMPAD9 | 0x49 | 73 | N/A |\n| Alphabet Keys |  |  |  |  |  |\n| <kbd>A</kbd> | A..Z | DIK_A | 0x1E | 30 | N/A |\n| <kbd>B</kbd> | A..Z | DIK_B | 0x30 | 48 | N/A |\n| <kbd>C</kbd> | A..Z | DIK_C | 0x2E | 46 | N/A |\n| <kbd>D</kbd> | A..Z | DIK_D | 0x20 | 32 | N/A |\n| <kbd>E</kbd> | A..Z | DIK_E | 0x12 | 18 | N/A |\n| <kbd>F</kbd> | A..Z | DIK_F | 0x21 | 33 | N/A |\n| <kbd>G</kbd> | A..Z | DIK_G | 0x22 | 34 | N/A |\n| <kbd>H</kbd> | A..Z | DIK_H | 0x23 | 35 | N/A |\n| <kbd>I</kbd> | A..Z | DIK_I | 0x17 | 23 | N/A |\n| <kbd>J</kbd> | A..Z | DIK_J | 0x24 | 36 | N/A |\n| <kbd>K</kbd> | A..Z | DIK_K | 0x25 | 37 | N/A |\n| <kbd>L</kbd> | A..Z | DIK_L | 0x26 | 38 | N/A |\n| <kbd>M</kbd> | A..Z | DIK_M | 0x32 | 50 | N/A |\n| <kbd>N</kbd> | A..Z | DIK_N | 0x31 | 49 | N/A |\n| <kbd>O</kbd> | A..Z | DIK_O | 0x18 | 24 | N/A |\n| <kbd>P</kbd> | A..Z | DIK_P | 0x19 | 25 | N/A |\n| <kbd>Q</kbd> | A..Z | DIK_Q | 0x10 | 16 | N/A |\n| <kbd>R</kbd> | A..Z | DIK_R | 0x13 | 19 | N/A |\n| <kbd>S</kbd> | A..Z | DIK_S | 0x1F | 31 | N/A |\n| <kbd>T</kbd> | A..Z | DIK_T | 0x14 | 20 | N/A |\n| <kbd>U</kbd> | A..Z | DIK_U | 0x16 | 22 | N/A |\n| <kbd>V</kbd> | A..Z | DIK_V | 0x2F | 47 | N/A |\n| <kbd>W</kbd> | A..Z | DIK_W | 0x11 | 17 | N/A |\n| <kbd>X</kbd> | A..Z | DIK_X | 0x2D | 45 | N/A |\n| <kbd>Y</kbd> | A..Z | DIK_Y | 0x15 | 21 | N/A |\n| <kbd>Z</kbd> | A..Z | DIK_Z | 0x2C | 44 | N/A |\n| Control Keys |  |  |  |  |  |\n| <kbd>Esc</kbd> | Control key | DIK_ESCAPE | 0x01 | 1 | N/A |\n| <kbd>↹ Tab</kbd> | Control key | DIK_TAB | 0x0F | 15 | N/A |\n| <kbd>⇧ Shift</kbd> Shift (left) | Control key | DIK_LSHIFT | 0x2A | 42 | N/A |\n| <kbd>RShift ⇧</kbd> Shift (right) | Control key | DIK_RSHIFT | 0x36 | 54 | N/A |\n| <kbd>Ctrl</kbd> Control (left) | Control key | DIK_LCONTROL | 0x1D | 29 | N/A |\n| <kbd>RCtrl</kbd> Control (right) | Control key | DIK_RCONTROL | 0x9D | 157 | N/A |\n| <kbd>⟵ Backspace</kbd> | Control key | DIK_BACK | 0x0E | 14 | N/A |\n|  | Control key | DIK_BACKSPACE | DIK_BACK |  | N/A |\n| <kbd>Return ↵</kbd> | Control key | DIK_RETURN | 0x1C | 28 | N/A |\n| <kbd>NUM Enter ↵</kbd> | Control key | DIK_NUMPADENTER | 0x9C | 156 | N/A |\n| <kbd>Alt</kbd> | Control key | DIK_LMENU | 0x38 | 56 | N/A |\n|  | Control key | DIK_LALT | DIK_LMENU |  | N/A |\n| <kbd>Space</kbd> | Control key | DIK_SPACE | 0x39 | 57 | N/A |\n| <kbd>⇪ Caps Lock</kbd> | Control key | DIK_CAPITAL | 0x3A | 58 | N/A |\n| <kbd>⇪ Caps Lock</kbd> | Control key | DIK_CAPSLOCK | DIK_CAPITAL |  | N/A |\n| Num lock (numpad) | Control key | DIK_NUMLOCK | 0x45 | 69 | N/A |\n| Scroll lock | Control key | DIK_SCROLL | 0x46 | 70 | N/A |\n| Menu button | Control key | DIK_RMENU | 0xB8 | 184 | N/A |\n| <kbd>AltGr</kbd> | Control key | DIK_RALT | DIK_RMENU |  | N/A |\n| <kbd>Ctrl</kbd> (left, right) | Control key | INPUT_CTRL_OFFSET | N/A | 512 | N/A |\n| <kbd>⇧ Shift</kbd> (left, right) | Control key | INPUT_SHIFT_OFFSET | N/A | 1024 | N/A |\n| <kbd>Alt</kbd> (left, right) | Control key | INPUT_ALT_OFFSET | N/A | 2048 | N/A |\n| Symbol Keys |  |  |  |  |  |\n|  | Graphics | DIK_AT | 0x91 | 145 | NEC PC98 |\n|  | Graphics | DIK_COLON | 0x92 | 146 | NEC PC98 |\n|  | Graphics | DIK_UNDERLINE | 0x93 | 147 | NEC PC98 |\n| Minus (on main keyboard) | Graphics | DIK_MINUS | 0x0C | 12 | N/A |\n|  | Graphics | DIK_EQUALS | 0x0D | 13 | N/A |\n|  | Graphics | DIK_LBRACKET | 0x1A | 26 | N/A |\n|  | Graphics | DIK_RBRACKET | 0x1B | 27 | N/A |\n| Semicolon | Graphics | DIK_SEMICOLON | 0x27 | 39 | N/A |\n| Apostrophe | Graphics | DIK_APOSTROPHE | 0x28 | 40 | N/A |\n| Accent grave | Graphics | DIK_GRAVE | 0x29 | 41 | N/A |\n| Backslash | Graphics | DIK_BACKSLASH | 0x2B | 43 | N/A |\n| Comma | Graphics | DIK_COMMA | 0x33 | 51 | N/A |\n| Period (main) | Graphics | DIK_PERIOD | 0x34 | 52 | N/A |\n| Slash (main) | Graphics | DIK_SLASH | 0x35 | 53 | N/A |\n| * (numpad) | Graphics | DIK_MULTIPLY | 0x37 | 55 | N/A |\n| * (numpad) | Graphics | DIK_NUMPADSTAR | DIK_MULTIPLY |  | N/A |\n| - (numpad) | Graphics | DIK_SUBTRACT | 0x4A | 74 | N/A |\n| + (numpad) | Graphics | DIK_ADD | 0x4E | 78 | N/A |\n| . (numpad) | Graphics | DIK_DECIMAL | 0x53 | 83 | N/A |\n| = (numpad) | Graphics | DIK_NUMPADEQUALS | 0x8D | 141 | NEC PC98 |\n| - (numpad) | Graphics | DIK_NUMPADMINUS | DIK_SUBTRACT |  | N/A |\n| + (numpad) | Graphics | DIK_NUMPADPLUS | DIK_ADD |  | N/A |\n| . (numpad) | Graphics | DIK_NUMPADPERIOD | DIK_DECIMAL |  | N/A |\n| / (numpad) | Graphics | DIK_NUMPADSLASH | DIK_DIVIDE |  | N/A |\n| KataKana Keys |  |  |  |  |  |\n|  | KataKana | DIK_KANA | 0x70 | 112 | Japanese keyboard |\n|  | KataKana | DIK_ABNT_C1 | 0x73 | 115 | / ? on Portugese (Brazilian) keyboards |\n|  | KataKana | DIK_CONVERT | 0x79 | 121 | Japanese keyboard |\n|  | KataKana | DIK_NOCONVERT | 0x7B | 123 | Japanese keyboard |\n|  | KataKana | DIK_YEN | 0x7D | 125 | Japanese keyboard |\n|  | KataKana | DIK_OEM_102 | 0x56 | 86 | on UK/Germany keyboards |\n|  | KataKana | DIK_ABNT_C2 | 0x7E | 126 | Numpad . on Portugese (Brazilian) keyboards |\n|  | KataKana | DIK_PREVTRACK | 0x90 | 144 | Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) |\n|  | KataKana | DIK_KANJI | 0x94 | 148 | Japanese keyboard |\n|  | KataKana | DIK_STOP | 0x95 | 149 | NEC PC98 |\n|  | KataKana | DIK_AX | 0x96 | 150 | Japan AX |\n|  | KataKana | DIK_UNLABELED | 0x97 | 151 | J3100 |\n|  | KataKana | DIK_NUMPADCOMMA | 0xB3 | 179 | , on numeric keypad - NEC PC98 |\n|  | KataKana | DIK_CIRCUMFLEX | DIK_PREVTRACK |  | Japanese keyboard |\n| App Keys |  |  |  |  |  |\n|  | Apps | DIK_NEXTTRACK | 0x99 | 153 | Next Track |\n|  | Apps | DIK_MUTE | 0xA0 | 160 | Mute |\n|  | Apps | DIK_CALCULATOR | 0xA1 | 161 | Calculator |\n|  | Apps | DIK_PLAYPAUSE | 0xA2 | 162 | Play / Pause |\n|  | Apps | DIK_MEDIASTOP | 0xA4 | 164 | Media Stop |\n|  | Apps | DIK_VOLUMEDOWN | 0xAE | 174 | Volume - |\n|  | Apps | DIK_VOLUMEUP | 0xB0 | 176 | Volume + |\n|  | Apps | DIK_WEBHOME | 0xB2 | 178 | Web home |\n|  | Apps | DIK_SYSRQ | 0xB7 | 183 | N/A |\n|  | Apps | DIK_PAUSE | 0xC5 | 197 | Pause |\n|  | Apps | DIK_APPS | 0xDD | 221 | AppMenu key |\n|  | Apps | DIK_POWER | 0xDE | 222 | System Power |\n|  | Apps | DIK_SLEEP | 0xDF | 223 | System Sleep |\n|  | Apps | DIK_WAKE | 0xE3 | 227 | System Wake |\n|  | Apps | DIK_WEBSEARCH | 0xE5 | 229 | Web Search |\n|  | Apps | DIK_WEBFAVORITES | 0xE6 | 230 | Web Favorites |\n|  | Apps | DIK_WEBREFRESH | 0xE7 | 231 | Web Refresh |\n|  | Apps | DIK_WEBSTOP | 0xE8 | 232 | Web Stop |\n|  | Apps | DIK_WEBFORWARD | 0xE9 | 233 | Web Forward |\n|  | Apps | DIK_WEBBACK | 0xEA | 234 | Web Back |\n|  | Apps | DIK_MYCOMPUTER | 0xEB | 235 | My Computer |\n|  | Apps | DIK_MAIL | 0xEC | 236 | Mail |\n|  | Apps | DIK_MEDIASELECT | 0xED | 237 | Media Select |\n| Arrow Keypad |  |  |  |  |  |\n|  | ArrowKeypad | DIK_HOME | 0xC7 | 199 | Home on arrow keypad |\n|  | ArrowKeypad | DIK_UP | 0xC8 | 200 | UpArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PRIOR | 0xC9 | 201 | PgUp on arrow keypad |\n|  | ArrowKeypad | DIK_LEFT | 0xCB | 203 | LeftArrow on arrow keypad |\n|  | ArrowKeypad | DIK_RIGHT | 0xCD | 205 | RightArrow on arrow keypad |\n|  | ArrowKeypad | DIK_END | 0xCF | 207 | End on arrow keypad |\n|  | ArrowKeypad | DIK_DOWN | 0xD0 | 208 | DownArrow on arrow keypad |\n|  | ArrowKeypad | DIK_NEXT | 0xD1 | 209 | PgDn on arrow keypad |\n|  | ArrowKeypad | DIK_INSERT | 0xD2 | 210 | Insert on arrow keypad |\n|  | ArrowKeypad | DIK_DELETE | 0xD3 | 211 | Delete on arrow keypad |\n|  | ArrowKeypad | DIK_UPARROW | DIK_UP |  | UpArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PGUP | DIK_PRIOR |  | PgUp on arrow keypad |\n|  | ArrowKeypad | DIK_LEFTARROW | DIK_LEFT |  | LeftArrow on arrow keypad |\n|  | ArrowKeypad | DIK_RIGHTARROW | DIK_RIGHT |  | RightArrow on arrow keypad |\n|  | ArrowKeypad | DIK_DOWNARROW | DIK_DOWN |  | DownArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PGDN | DIK_NEXT |  | PgDn on arrow keypad |\n| Other Keys |  |  |  |  |  |\n| <kbd>⊞ Win</kbd> OS key (left) | Other | DIK_LWIN | 0xDB | 219 | Left Windows key |\n| <kbd>RWin ⊞</kbd> key (right) | Other | DIK_RWIN | 0xDC | 220 | Right Windows key |\n\n#### German Keyboard\n\n`QWERTZ`\n\n| Number | Key Name | Number | Key Name | Number | Key Name |\n|---|---|---|---|---|---|\n| 1 | ESC | 11 | 0 | 21 | Z |\n| 2 | 1 | 12 | ß | 22 | U |\n| 3 | 2 | 13 | ´ | 23 | I |\n| 4 | 3 | 14 | BACKSPACE | 24 | O |\n| 5 | 4 | 15 | TAB | 25 | P |\n| 6 | 5 | 16 | Q | 26 | Ü |\n| 7 | 6 | 17 | W |  |  |\n| 8 | 7 | 18 | E | 28 | ENTER |\n| 9 | 8 | 19 | R | 29 | STRGL |\n| 10 | 9 | 20 | T | 30 | A |\n| 31 | S | 41 | ^ | 51 | , |\n| 32 | D | 42 | SHIFTL | 52 | . |\n| 33 | F | 43 | # | 53 | - |\n| 34 | G | 44 | Y | 54 | SHIFTR |\n| 35 | H | 45 | X | 55 | NUM_* |\n| 36 | J | 46 | C | 56 | ALT |\n| 37 | K | 47 | V | 57 | SPACE |\n| 38 | L | 48 | B | 58 | CAPS |\n| 39 | Ö | 49 | N | 59 | F1 |\n| 40 | Ä | 50 | M | 60 | F2 |\n| 61 | F3 | 71 | NUM_7 | 81 | NUM_3 |\n| 62 | F4 | 72 | NUM_8 | 82 | NUM_0 |\n| 63 | F5 | 73 | NUM_9 | 83 | NUM_, |\n| 64 | F6 | 74 | NUM_- |  |  |\n| 65 | F7 | 75 | NUM_4 |  |  |\n| 66 | F8 | 76 | NUM_5 | 86 | < |\n| 67 | F9 | 77 | NUM_6 | 87 | F11 |\n| 68 | F10 | 78 | NUM_+ | 88 | F12 |\n| 69 | NUM | 79 | NUM_1 |  |  |\n| 70 | SCROLL | 80 | NUM_2 |  |  |\n| 156 | NUM_ENTER | 200 | UP | 211 | DELETE |\n| 157 | STRGR | 201 | PAGEUP | 219 | WINR |\n|  |  | 220 | WINL |  |  |\n| 181 | NUM_/ | 203 | LEFT | 221 | APP |\n| 183 | PRINT |  |  |  |  |\n| 184 | ALTGR | 205 | RIGHT | NOT DEFINED | + |\n| 197 | PAUSE | 207 | END |  |  |\n| 199 | POS1 | 208 | DOWN |  |  |\n|  |  | 209 | PAGEDOWN |  |  |\n|  |  | 210 | INSERT |  |  |\n\n#### French Keyboard\n\n`AZERTY`\n\n| Number | Key Name | Number | Key Name | Number | Key Name |\n|---|---|---|---|---|---|\n| 1 | ESC | 11 | 0 | 21 | Y |\n| 2 | 1 | 12 | ) | 22 | U |\n| 3 | 2 | 13 | = | 23 | I |\n| 4 | 3 | 14 | BACKSPACE | 24 | O |\n| 5 | 4 | 15 | TAB | 25 | P |\n| 6 | 5 | 16 | A | 26 | ^ |\n| 7 | 6 | 17 | Z | 27 | $ |\n| 8 | 7 | 18 | E | 28 | ENTER |\n| 9 | 8 | 19 | R | 29 | CTRLG |\n| 10 | 9 | 20 | T | 30 | Q |\n| 31 | S | 41 | ² | 51 | ; |\n| 32 | D | 42 | SHIFTL | 52 | : |\n| 33 | F | 43 | * | 53 | ! |\n| 34 | G | 44 | W | 54 | SHIFTR |\n| 35 | H | 45 | X | 55 | NUM_* |\n| 36 | J | 46 | C | 56 | ALT |\n| 37 | K | 47 | V | 57 | SPACE |\n| 38 | L | 48 | B | 58 | CAPS |\n| 39 | M | 49 | N | 59 | F1 |\n| 40 | ù | 50 | , | 60 | F2 |\n| 61 | F3 | 71 | NUM_7 | 81 | NUM_3 |\n| 62 | F4 | 72 | NUM_8 | 82 | NUM_0 |\n| 63 | F5 | 73 | NUM_9 | 83 | NUM_. |\n| 64 | F6 | 74 | NUM_- |  |  |\n| 65 | F7 | 75 | NUM_4 |  |  |\n| 66 | F8 | 76 | NUM_5 | 86 | < |\n| 67 | F9 | 77 | NUM_6 | 87 | F11 |\n| 68 | F10 | 78 | NUM_+ | 88 | F12 |\n| 69 | NUM | 79 | NUM_1 |  |  |\n| 70 | SCROLL | 80 | NUM_2 |  |  |\n| 156 | NUM_ENTER | 200 | UP | 211 | DELETE |\n| 157 | CTRLR | 201 | PAGEUP | 219 | WINR |\n|  |  | 220 | WINL |  |  |\n| 181 | NUM_/ | 203 | LEFT | 221 | APP |\n| 183 | PRINT |  |  |  |  |\n| 184 | ALTGR | 205 | RIGHT | NOT DEFINED | + |\n| 197 | PAUSE | 207 | END |  |  |\n| 199 | POS1 | 208 | DOWN |  |  |\n|  |  | 209 | PAGEDOWN |  |  |\n|  |  | 210 | INSERT |  |  |","sections":[{"heading":null,"level":1,"markdown":"Each key on any keyboard has a unique Direct Input Keyboard (DIK) code. They are **not** character symbols.\nThey refer to the **position of the key** on the keyboard. In other words, depending on the keyboard layout, the actual key can change, but its position is always identical.\nThis is useful to **fulfill ergonomic needs**.\n\n**In addition to that, using DIK codes has more advantages:**\n\n- Recognize keys that can not be represented in character equivalents. Function keys for example have no character set code.\n- Using the defines below, makes using key codes easier in configs, since the actual code is replaced by a memorable string, e.g `DIK_K` instead of `0x25`.\n- Unique DIK codes exist for numeric pad '9' versus standard key '9'. They are key codes, not character codes.\n\n> [!NOTE]\n> Specific keys cannot be detected with DIK codes, since the position of the keys changes with the Keyboard layout ([QWERTY](https://en.wikipedia.org/wiki/QWERTY), [Dvorak](https://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard))."},{"heading":"Script Usage","level":3,"markdown":"DIK codes are **always** accompanied by the state of the <kbd>⇧ Shift</kbd>, <kbd>Alt</kbd>, and <kbd>Ctrl</kbd> keys. Any script can differentiate between e.g <kbd>Q</kbd> and <kbd>Alt</kbd> + <kbd>Q</kbd>.\n\n> [!NOTE]\n> For parameters passed to key event handlers, see onKeyDown event handler."},{"heading":"Example Script","level":4,"markdown":"```sqf\n#include \"\\a3\\ui_f\\hpp\\definedikcodes.inc\"\n\nfindDisplay 46 displayAddEventHandler [\"KeyDown\", {\n    params [\"_displayOrControl\", \"_key\", \"_shift\", \"_ctrl\", \"_alt\"];\n\n    private _override = false;\n\n    if (_key isEqualTo DIK_W) then // DIK_W = 17 = 0x11\n    {\n        systemChat \"You pressed W.\";\n\n        if (_shift) then\n        {\n            systemChat \"You are not allowed to use Shift + W!\";\n            _override = true;\n        };\n    };\n\n    _override;\n}];\n```"},{"heading":"Defines","level":3,"markdown":"**Arma 3**\n\n```cpp\n#include \"\\a3\\ui_f\\hpp\\definedikcodes.inc\"\n```"},{"heading":"DIK Codes","level":3,"markdown":""},{"heading":"North-American Keyboard","level":4,"markdown":"`QWERTY`\n\n| Key | Type | DIK ID | Hexadecimal | Integer | Note |\n|---|---|---|---|---|---|\n| Function Keys |  |  |  |  |  |\n| <kbd>F1</kbd> | F1..F24 | DIK_F1 | 0x3B | 59 | N/A |\n| <kbd>F2</kbd> | F1..F24 | DIK_F2 | 0x3C | 60 | N/A |\n| <kbd>F3</kbd> | F1..F24 | DIK_F3 | 0x3D | 61 | N/A |\n| <kbd>F4</kbd> | F1..F24 | DIK_F4 | 0x3E | 62 | N/A |\n| <kbd>F5</kbd> | F1..F24 | DIK_F5 | 0x3F | 63 | N/A |\n| <kbd>F6</kbd> | F1..F24 | DIK_F6 | 0x40 | 64 | N/A |\n| <kbd>F7</kbd> | F1..F24 | DIK_F7 | 0x41 | 65 | N/A |\n| <kbd>F8</kbd> | F1..F24 | DIK_F8 | 0x42 | 66 | N/A |\n| <kbd>F9</kbd> | F1..F24 | DIK_F9 | 0x43 | 67 | N/A |\n| <kbd>F10</kbd> | F1..F24 | DIK_F10 | 0x44 | 68 | N/A |\n| <kbd>F11</kbd> | F1..F24 | DIK_F11 | 0x57 | 87 | N/A |\n| <kbd>F12</kbd> | F1..F24 | DIK_F12 | 0x58 | 88 | N/A |\n| <kbd>F13</kbd> | F1..F24 | DIK_F13 | 0x64 | 100 | NEC PC98 |\n| <kbd>F14</kbd> | F1..F24 | DIK_F14 | 0x65 | 101 | NEC PC98 |\n| <kbd>F15</kbd> | F1..F24 | DIK_F15 | 0x66 | 102 | NEC PC98 |\n| <kbd>F16</kbd> | F1..F24 | DIK_F16 | 0x67 | 103 | N/A |\n| <kbd>F17</kbd> | F1..F24 | DIK_F17 | 0x68 | 104 | N/A |\n| <kbd>F18</kbd> | F1..F24 | DIK_F18 | 0x69 | 105 | N/A |\n| <kbd>F19</kbd> | F1..F24 | DIK_F19 | 0x6A | 106 | N/A |\n| <kbd>F20</kbd> | F1..F24 | DIK_F20 | 0x6B | 107 | N/A |\n| <kbd>F21</kbd> | F1..F24 | DIK_F21 | 0x6C | 108 | N/A |\n| <kbd>F22</kbd> | F1..F24 | DIK_F22 | 0x6D | 109 | N/A |\n| <kbd>F23</kbd> | F1..F24 | DIK_F23 | 0x6E | 110 | N/A |\n| <kbd>F24</kbd> | F1..F24 | DIK_F24 | 0x76 | 118 | N/A |\n| Numeric Keys |  |  |  |  |  |\n| <kbd>0</kbd> | 0..9 | DIK_0 | 0x0B | 11 | N/A |\n| <kbd>1</kbd> | 0..9 | DIK_1 | 0x02 | 2 | N/A |\n| <kbd>2</kbd> | 0..9 | DIK_2 | 0x03 | 3 | N/A |\n| <kbd>3</kbd> | 0..9 | DIK_3 | 0x04 | 4 | N/A |\n| <kbd>4</kbd> | 0..9 | DIK_4 | 0x05 | 5 | N/A |\n| <kbd>5</kbd> | 0..9 | DIK_5 | 0x06 | 6 | N/A |\n| <kbd>6</kbd> | 0..9 | DIK_6 | 0x07 | 7 | N/A |\n| <kbd>7</kbd> | 0..9 | DIK_7 | 0x08 | 8 | N/A |\n| <kbd>8</kbd> | 0..9 | DIK_8 | 0x09 | 9 | N/A |\n| <kbd>9</kbd> | 0..9 | DIK_9 | 0x0A | 10 | N/A |\n| Numpad Keys |  |  |  |  |  |\n| <kbd>NUM 0</kbd> | Numpad | DIK_NUMPAD0 | 0x52 | 82 | N/A |\n| <kbd>NUM 1</kbd> | Numpad | DIK_NUMPAD1 | 0x4F | 79 | N/A |\n| <kbd>NUM 2</kbd> | Numpad | DIK_NUMPAD2 | 0x50 | 80 | N/A |\n| <kbd>NUM 3</kbd> | Numpad | DIK_NUMPAD3 | 0x51 | 81 | N/A |\n| <kbd>NUM 4</kbd> | Numpad | DIK_NUMPAD4 | 0x4B | 75 | N/A |\n| <kbd>NUM 5</kbd> | Numpad | DIK_NUMPAD5 | 0x4C | 76 | N/A |\n| <kbd>NUM 6</kbd> | Numpad | DIK_NUMPAD6 | 0x4D | 77 | N/A |\n| <kbd>NUM 7</kbd> | Numpad | DIK_NUMPAD7 | 0x47 | 71 | N/A |\n| <kbd>NUM 8</kbd> | Numpad | DIK_NUMPAD8 | 0x48 | 72 | N/A |\n| <kbd>NUM 9</kbd> | Numpad | DIK_NUMPAD9 | 0x49 | 73 | N/A |\n| Alphabet Keys |  |  |  |  |  |\n| <kbd>A</kbd> | A..Z | DIK_A | 0x1E | 30 | N/A |\n| <kbd>B</kbd> | A..Z | DIK_B | 0x30 | 48 | N/A |\n| <kbd>C</kbd> | A..Z | DIK_C | 0x2E | 46 | N/A |\n| <kbd>D</kbd> | A..Z | DIK_D | 0x20 | 32 | N/A |\n| <kbd>E</kbd> | A..Z | DIK_E | 0x12 | 18 | N/A |\n| <kbd>F</kbd> | A..Z | DIK_F | 0x21 | 33 | N/A |\n| <kbd>G</kbd> | A..Z | DIK_G | 0x22 | 34 | N/A |\n| <kbd>H</kbd> | A..Z | DIK_H | 0x23 | 35 | N/A |\n| <kbd>I</kbd> | A..Z | DIK_I | 0x17 | 23 | N/A |\n| <kbd>J</kbd> | A..Z | DIK_J | 0x24 | 36 | N/A |\n| <kbd>K</kbd> | A..Z | DIK_K | 0x25 | 37 | N/A |\n| <kbd>L</kbd> | A..Z | DIK_L | 0x26 | 38 | N/A |\n| <kbd>M</kbd> | A..Z | DIK_M | 0x32 | 50 | N/A |\n| <kbd>N</kbd> | A..Z | DIK_N | 0x31 | 49 | N/A |\n| <kbd>O</kbd> | A..Z | DIK_O | 0x18 | 24 | N/A |\n| <kbd>P</kbd> | A..Z | DIK_P | 0x19 | 25 | N/A |\n| <kbd>Q</kbd> | A..Z | DIK_Q | 0x10 | 16 | N/A |\n| <kbd>R</kbd> | A..Z | DIK_R | 0x13 | 19 | N/A |\n| <kbd>S</kbd> | A..Z | DIK_S | 0x1F | 31 | N/A |\n| <kbd>T</kbd> | A..Z | DIK_T | 0x14 | 20 | N/A |\n| <kbd>U</kbd> | A..Z | DIK_U | 0x16 | 22 | N/A |\n| <kbd>V</kbd> | A..Z | DIK_V | 0x2F | 47 | N/A |\n| <kbd>W</kbd> | A..Z | DIK_W | 0x11 | 17 | N/A |\n| <kbd>X</kbd> | A..Z | DIK_X | 0x2D | 45 | N/A |\n| <kbd>Y</kbd> | A..Z | DIK_Y | 0x15 | 21 | N/A |\n| <kbd>Z</kbd> | A..Z | DIK_Z | 0x2C | 44 | N/A |\n| Control Keys |  |  |  |  |  |\n| <kbd>Esc</kbd> | Control key | DIK_ESCAPE | 0x01 | 1 | N/A |\n| <kbd>↹ Tab</kbd> | Control key | DIK_TAB | 0x0F | 15 | N/A |\n| <kbd>⇧ Shift</kbd> Shift (left) | Control key | DIK_LSHIFT | 0x2A | 42 | N/A |\n| <kbd>RShift ⇧</kbd> Shift (right) | Control key | DIK_RSHIFT | 0x36 | 54 | N/A |\n| <kbd>Ctrl</kbd> Control (left) | Control key | DIK_LCONTROL | 0x1D | 29 | N/A |\n| <kbd>RCtrl</kbd> Control (right) | Control key | DIK_RCONTROL | 0x9D | 157 | N/A |\n| <kbd>⟵ Backspace</kbd> | Control key | DIK_BACK | 0x0E | 14 | N/A |\n|  | Control key | DIK_BACKSPACE | DIK_BACK |  | N/A |\n| <kbd>Return ↵</kbd> | Control key | DIK_RETURN | 0x1C | 28 | N/A |\n| <kbd>NUM Enter ↵</kbd> | Control key | DIK_NUMPADENTER | 0x9C | 156 | N/A |\n| <kbd>Alt</kbd> | Control key | DIK_LMENU | 0x38 | 56 | N/A |\n|  | Control key | DIK_LALT | DIK_LMENU |  | N/A |\n| <kbd>Space</kbd> | Control key | DIK_SPACE | 0x39 | 57 | N/A |\n| <kbd>⇪ Caps Lock</kbd> | Control key | DIK_CAPITAL | 0x3A | 58 | N/A |\n| <kbd>⇪ Caps Lock</kbd> | Control key | DIK_CAPSLOCK | DIK_CAPITAL |  | N/A |\n| Num lock (numpad) | Control key | DIK_NUMLOCK | 0x45 | 69 | N/A |\n| Scroll lock | Control key | DIK_SCROLL | 0x46 | 70 | N/A |\n| Menu button | Control key | DIK_RMENU | 0xB8 | 184 | N/A |\n| <kbd>AltGr</kbd> | Control key | DIK_RALT | DIK_RMENU |  | N/A |\n| <kbd>Ctrl</kbd> (left, right) | Control key | INPUT_CTRL_OFFSET | N/A | 512 | N/A |\n| <kbd>⇧ Shift</kbd> (left, right) | Control key | INPUT_SHIFT_OFFSET | N/A | 1024 | N/A |\n| <kbd>Alt</kbd> (left, right) | Control key | INPUT_ALT_OFFSET | N/A | 2048 | N/A |\n| Symbol Keys |  |  |  |  |  |\n|  | Graphics | DIK_AT | 0x91 | 145 | NEC PC98 |\n|  | Graphics | DIK_COLON | 0x92 | 146 | NEC PC98 |\n|  | Graphics | DIK_UNDERLINE | 0x93 | 147 | NEC PC98 |\n| Minus (on main keyboard) | Graphics | DIK_MINUS | 0x0C | 12 | N/A |\n|  | Graphics | DIK_EQUALS | 0x0D | 13 | N/A |\n|  | Graphics | DIK_LBRACKET | 0x1A | 26 | N/A |\n|  | Graphics | DIK_RBRACKET | 0x1B | 27 | N/A |\n| Semicolon | Graphics | DIK_SEMICOLON | 0x27 | 39 | N/A |\n| Apostrophe | Graphics | DIK_APOSTROPHE | 0x28 | 40 | N/A |\n| Accent grave | Graphics | DIK_GRAVE | 0x29 | 41 | N/A |\n| Backslash | Graphics | DIK_BACKSLASH | 0x2B | 43 | N/A |\n| Comma | Graphics | DIK_COMMA | 0x33 | 51 | N/A |\n| Period (main) | Graphics | DIK_PERIOD | 0x34 | 52 | N/A |\n| Slash (main) | Graphics | DIK_SLASH | 0x35 | 53 | N/A |\n| * (numpad) | Graphics | DIK_MULTIPLY | 0x37 | 55 | N/A |\n| * (numpad) | Graphics | DIK_NUMPADSTAR | DIK_MULTIPLY |  | N/A |\n| - (numpad) | Graphics | DIK_SUBTRACT | 0x4A | 74 | N/A |\n| + (numpad) | Graphics | DIK_ADD | 0x4E | 78 | N/A |\n| . (numpad) | Graphics | DIK_DECIMAL | 0x53 | 83 | N/A |\n| = (numpad) | Graphics | DIK_NUMPADEQUALS | 0x8D | 141 | NEC PC98 |\n| - (numpad) | Graphics | DIK_NUMPADMINUS | DIK_SUBTRACT |  | N/A |\n| + (numpad) | Graphics | DIK_NUMPADPLUS | DIK_ADD |  | N/A |\n| . (numpad) | Graphics | DIK_NUMPADPERIOD | DIK_DECIMAL |  | N/A |\n| / (numpad) | Graphics | DIK_NUMPADSLASH | DIK_DIVIDE |  | N/A |\n| KataKana Keys |  |  |  |  |  |\n|  | KataKana | DIK_KANA | 0x70 | 112 | Japanese keyboard |\n|  | KataKana | DIK_ABNT_C1 | 0x73 | 115 | / ? on Portugese (Brazilian) keyboards |\n|  | KataKana | DIK_CONVERT | 0x79 | 121 | Japanese keyboard |\n|  | KataKana | DIK_NOCONVERT | 0x7B | 123 | Japanese keyboard |\n|  | KataKana | DIK_YEN | 0x7D | 125 | Japanese keyboard |\n|  | KataKana | DIK_OEM_102 | 0x56 | 86 | on UK/Germany keyboards |\n|  | KataKana | DIK_ABNT_C2 | 0x7E | 126 | Numpad . on Portugese (Brazilian) keyboards |\n|  | KataKana | DIK_PREVTRACK | 0x90 | 144 | Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) |\n|  | KataKana | DIK_KANJI | 0x94 | 148 | Japanese keyboard |\n|  | KataKana | DIK_STOP | 0x95 | 149 | NEC PC98 |\n|  | KataKana | DIK_AX | 0x96 | 150 | Japan AX |\n|  | KataKana | DIK_UNLABELED | 0x97 | 151 | J3100 |\n|  | KataKana | DIK_NUMPADCOMMA | 0xB3 | 179 | , on numeric keypad - NEC PC98 |\n|  | KataKana | DIK_CIRCUMFLEX | DIK_PREVTRACK |  | Japanese keyboard |\n| App Keys |  |  |  |  |  |\n|  | Apps | DIK_NEXTTRACK | 0x99 | 153 | Next Track |\n|  | Apps | DIK_MUTE | 0xA0 | 160 | Mute |\n|  | Apps | DIK_CALCULATOR | 0xA1 | 161 | Calculator |\n|  | Apps | DIK_PLAYPAUSE | 0xA2 | 162 | Play / Pause |\n|  | Apps | DIK_MEDIASTOP | 0xA4 | 164 | Media Stop |\n|  | Apps | DIK_VOLUMEDOWN | 0xAE | 174 | Volume - |\n|  | Apps | DIK_VOLUMEUP | 0xB0 | 176 | Volume + |\n|  | Apps | DIK_WEBHOME | 0xB2 | 178 | Web home |\n|  | Apps | DIK_SYSRQ | 0xB7 | 183 | N/A |\n|  | Apps | DIK_PAUSE | 0xC5 | 197 | Pause |\n|  | Apps | DIK_APPS | 0xDD | 221 | AppMenu key |\n|  | Apps | DIK_POWER | 0xDE | 222 | System Power |\n|  | Apps | DIK_SLEEP | 0xDF | 223 | System Sleep |\n|  | Apps | DIK_WAKE | 0xE3 | 227 | System Wake |\n|  | Apps | DIK_WEBSEARCH | 0xE5 | 229 | Web Search |\n|  | Apps | DIK_WEBFAVORITES | 0xE6 | 230 | Web Favorites |\n|  | Apps | DIK_WEBREFRESH | 0xE7 | 231 | Web Refresh |\n|  | Apps | DIK_WEBSTOP | 0xE8 | 232 | Web Stop |\n|  | Apps | DIK_WEBFORWARD | 0xE9 | 233 | Web Forward |\n|  | Apps | DIK_WEBBACK | 0xEA | 234 | Web Back |\n|  | Apps | DIK_MYCOMPUTER | 0xEB | 235 | My Computer |\n|  | Apps | DIK_MAIL | 0xEC | 236 | Mail |\n|  | Apps | DIK_MEDIASELECT | 0xED | 237 | Media Select |\n| Arrow Keypad |  |  |  |  |  |\n|  | ArrowKeypad | DIK_HOME | 0xC7 | 199 | Home on arrow keypad |\n|  | ArrowKeypad | DIK_UP | 0xC8 | 200 | UpArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PRIOR | 0xC9 | 201 | PgUp on arrow keypad |\n|  | ArrowKeypad | DIK_LEFT | 0xCB | 203 | LeftArrow on arrow keypad |\n|  | ArrowKeypad | DIK_RIGHT | 0xCD | 205 | RightArrow on arrow keypad |\n|  | ArrowKeypad | DIK_END | 0xCF | 207 | End on arrow keypad |\n|  | ArrowKeypad | DIK_DOWN | 0xD0 | 208 | DownArrow on arrow keypad |\n|  | ArrowKeypad | DIK_NEXT | 0xD1 | 209 | PgDn on arrow keypad |\n|  | ArrowKeypad | DIK_INSERT | 0xD2 | 210 | Insert on arrow keypad |\n|  | ArrowKeypad | DIK_DELETE | 0xD3 | 211 | Delete on arrow keypad |\n|  | ArrowKeypad | DIK_UPARROW | DIK_UP |  | UpArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PGUP | DIK_PRIOR |  | PgUp on arrow keypad |\n|  | ArrowKeypad | DIK_LEFTARROW | DIK_LEFT |  | LeftArrow on arrow keypad |\n|  | ArrowKeypad | DIK_RIGHTARROW | DIK_RIGHT |  | RightArrow on arrow keypad |\n|  | ArrowKeypad | DIK_DOWNARROW | DIK_DOWN |  | DownArrow on arrow keypad |\n|  | ArrowKeypad | DIK_PGDN | DIK_NEXT |  | PgDn on arrow keypad |\n| Other Keys |  |  |  |  |  |\n| <kbd>⊞ Win</kbd> OS key (left) | Other | DIK_LWIN | 0xDB | 219 | Left Windows key |\n| <kbd>RWin ⊞</kbd> key (right) | Other | DIK_RWIN | 0xDC | 220 | Right Windows key |"},{"heading":"German Keyboard","level":4,"markdown":"`QWERTZ`\n\n| Number | Key Name | Number | Key Name | Number | Key Name |\n|---|---|---|---|---|---|\n| 1 | ESC | 11 | 0 | 21 | Z |\n| 2 | 1 | 12 | ß | 22 | U |\n| 3 | 2 | 13 | ´ | 23 | I |\n| 4 | 3 | 14 | BACKSPACE | 24 | O |\n| 5 | 4 | 15 | TAB | 25 | P |\n| 6 | 5 | 16 | Q | 26 | Ü |\n| 7 | 6 | 17 | W |  |  |\n| 8 | 7 | 18 | E | 28 | ENTER |\n| 9 | 8 | 19 | R | 29 | STRGL |\n| 10 | 9 | 20 | T | 30 | A |\n| 31 | S | 41 | ^ | 51 | , |\n| 32 | D | 42 | SHIFTL | 52 | . |\n| 33 | F | 43 | # | 53 | - |\n| 34 | G | 44 | Y | 54 | SHIFTR |\n| 35 | H | 45 | X | 55 | NUM_* |\n| 36 | J | 46 | C | 56 | ALT |\n| 37 | K | 47 | V | 57 | SPACE |\n| 38 | L | 48 | B | 58 | CAPS |\n| 39 | Ö | 49 | N | 59 | F1 |\n| 40 | Ä | 50 | M | 60 | F2 |\n| 61 | F3 | 71 | NUM_7 | 81 | NUM_3 |\n| 62 | F4 | 72 | NUM_8 | 82 | NUM_0 |\n| 63 | F5 | 73 | NUM_9 | 83 | NUM_, |\n| 64 | F6 | 74 | NUM_- |  |  |\n| 65 | F7 | 75 | NUM_4 |  |  |\n| 66 | F8 | 76 | NUM_5 | 86 | < |\n| 67 | F9 | 77 | NUM_6 | 87 | F11 |\n| 68 | F10 | 78 | NUM_+ | 88 | F12 |\n| 69 | NUM | 79 | NUM_1 |  |  |\n| 70 | SCROLL | 80 | NUM_2 |  |  |\n| 156 | NUM_ENTER | 200 | UP | 211 | DELETE |\n| 157 | STRGR | 201 | PAGEUP | 219 | WINR |\n|  |  | 220 | WINL |  |  |\n| 181 | NUM_/ | 203 | LEFT | 221 | APP |\n| 183 | PRINT |  |  |  |  |\n| 184 | ALTGR | 205 | RIGHT | NOT DEFINED | + |\n| 197 | PAUSE | 207 | END |  |  |\n| 199 | POS1 | 208 | DOWN |  |  |\n|  |  | 209 | PAGEDOWN |  |  |\n|  |  | 210 | INSERT |  |  |"},{"heading":"French Keyboard","level":4,"markdown":"`AZERTY`\n\n| Number | Key Name | Number | Key Name | Number | Key Name |\n|---|---|---|---|---|---|\n| 1 | ESC | 11 | 0 | 21 | Y |\n| 2 | 1 | 12 | ) | 22 | U |\n| 3 | 2 | 13 | = | 23 | I |\n| 4 | 3 | 14 | BACKSPACE | 24 | O |\n| 5 | 4 | 15 | TAB | 25 | P |\n| 6 | 5 | 16 | A | 26 | ^ |\n| 7 | 6 | 17 | Z | 27 | $ |\n| 8 | 7 | 18 | E | 28 | ENTER |\n| 9 | 8 | 19 | R | 29 | CTRLG |\n| 10 | 9 | 20 | T | 30 | Q |\n| 31 | S | 41 | ² | 51 | ; |\n| 32 | D | 42 | SHIFTL | 52 | : |\n| 33 | F | 43 | * | 53 | ! |\n| 34 | G | 44 | W | 54 | SHIFTR |\n| 35 | H | 45 | X | 55 | NUM_* |\n| 36 | J | 46 | C | 56 | ALT |\n| 37 | K | 47 | V | 57 | SPACE |\n| 38 | L | 48 | B | 58 | CAPS |\n| 39 | M | 49 | N | 59 | F1 |\n| 40 | ù | 50 | , | 60 | F2 |\n| 61 | F3 | 71 | NUM_7 | 81 | NUM_3 |\n| 62 | F4 | 72 | NUM_8 | 82 | NUM_0 |\n| 63 | F5 | 73 | NUM_9 | 83 | NUM_. |\n| 64 | F6 | 74 | NUM_- |  |  |\n| 65 | F7 | 75 | NUM_4 |  |  |\n| 66 | F8 | 76 | NUM_5 | 86 | < |\n| 67 | F9 | 77 | NUM_6 | 87 | F11 |\n| 68 | F10 | 78 | NUM_+ | 88 | F12 |\n| 69 | NUM | 79 | NUM_1 |  |  |\n| 70 | SCROLL | 80 | NUM_2 |  |  |\n| 156 | NUM_ENTER | 200 | UP | 211 | DELETE |\n| 157 | CTRLR | 201 | PAGEUP | 219 | WINR |\n|  |  | 220 | WINL |  |  |\n| 181 | NUM_/ | 203 | LEFT | 221 | APP |\n| 183 | PRINT |  |  |  |  |\n| 184 | ALTGR | 205 | RIGHT | NOT DEFINED | + |\n| 197 | PAUSE | 207 | END |  |  |\n| 199 | POS1 | 208 | DOWN |  |  |\n|  |  | 209 | PAGEDOWN |  |  |\n|  |  | 210 | INSERT |  |  |"}],"categories":["Reference Lists"],"groups":["Reference Lists"]}