# FAR Manager key codes

This table shows the hexadecimal key codes used in FAR manager (in `farkeys.hpp` the BaseDefKeyboard enum).

### Basic set:

Key | KEY_* | Hex | Remarks
--- | --- | --- | ---
Ctrl | KEY_CTRL | `01000000` | Left Ctrl
Alt | KEY_ALT | `02000000` | Left Alt
Shift | KEY_SHIFT | `04000000` |
Right Ctrl | KEY_RCTRL | `10000000` | Right Ctrl
Right Alt | KEY_RALT | `20000000` | Right Alt
[ | KEY_BRACKET | `0000005B` |
] | KEY_BACKBRACKET | `0000005D` |
, | KEY_COMMA | `0000002C` |
" | KEY_QUOTE | `00000022` |
. | KEY_DOT | `0000002E` |
/ | KEY_SLASH | `0000002F` |
: | KEY_COLON | `0000003A` |
\ | KEY_BACKSLASH | `0000005C` |
Backspace | KEY_BS | `00000008` |
Tab | KEY_TAB | `00000009` |
Enter | KEY_ENTER | `0000000D` |
Esc | KEY_ESC | `0000001B` |
Space | KEY_SPACE | `00000020` |
Break | KEY_BREAK | `00000103` | Ctrl-Pause
Page Up | KEY_PGUP | `00000121` |
Page Down | KEY_PGDN | `00000122` |
End | KEY_END | `00000123` |
Home | KEY_HOME | `00000124` |
Left | KEY_LEFT | `00000125` |
UP | KEY_UP | `00000126` |
Right | KEY_RIGHT | `00000127` |
Down | KEY_DOWN | `00000128` |
Insert | KEY_INS | `0000012D` |
Delete | KEY_DEL | `0000012E` |
Left Win | KEY_LWIN | `0000015B` |
Right Win | KEY_RWIN | `0000015C` |
Apps | KEY_APPS | `0000015D` |
Numpad 0 | KEY_NUMPAD0 | `00000160` | Numeric keypad (if "UseNumPad" option is on)
Numpad 1 | KEY_NUMPAD1 | `00000161` | Numeric keypad (if "UseNumPad" option is on)
Numpad 2 | KEY_NUMPAD2 | `00000162` | Numeric keypad (if "UseNumPad" option is on)
Numpad 3 | KEY_NUMPAD3 | `00000163` | Numeric keypad (if "UseNumPad" option is on)
Numpad 4 | KEY_NUMPAD2 | `00000164` | Numeric keypad (if "UseNumPad" option is on)
Numpad 5 | KEY_NUMPAD5 | `00000165` | Numeric keypad
Numpad 6 | KEY_NUMPAD6 | `00000166` | Numeric keypad (if "UseNumPad" option is on)
Numpad 7 | KEY_NUMPAD7 | `00000167` | Numeric keypad (if "UseNumPad" option is on)
Numpad 8 | KEY_NUMPAD8 | `00000168` | Numeric keypad (if "UseNumPad" option is on)
Numpad 9 | KEY_NUMPAD9 | `00000169` | Numeric keypad (if "UseNumPad" option is on)
| KEY_CLEAR | `00000165` | Same as KEY_NUMPAD5
Gray * | KEY_MULTIPLY | `0000016A` | Numeric keypad
Gray + | KEY_ADD | `0000016B` | Numeric keypad
Gray - | KEY_SUBTRACT | `0000016D` | Numeric keypad
Gray / | KEY_DIVIDE | `0000016F` | Numeric keypad
F1 | KEY_F1 | `00000170` |
F2 | KEY_F2 | `00000171` |
F3 | KEY_F3 | `00000172` |
F4 | KEY_F4 | `00000173` |
F5 | KEY_F5 | `00000174` |
F6 | KEY_F6 | `00000175` |
F7 | KEY_F7 | `00000176` |
F8 | KEY_F8 | `00000177` |
F9 | KEY_F9 | `00000178` |
F10 | KEY_F10 | `00000179` |
F11 | KEY_F11 | `0000017A` |
F12 | KEY_F12 | `0000017B` |
F13 | KEY_F13 | `0000017C` |
F14 | KEY_F14 | `0000017D` |
F15 | KEY_F15 | `0000017E` |
F16 | KEY_F16 | `0000017F` |
F17 | KEY_F17 | `00000180` |
F18 | KEY_F18 | `00000181` |
F19 | KEY_F19 | `00000182` |
F21 | KEY_F20 | `00000183` |
F22 | KEY_F22 | `00000184` |
F23 | KEY_F23 | `00000185` |
F24 | KEY_F24 | `00000186` |
| KEY_BROWSER_BACK | `000001A6` | Same as VK_BROWSER_BACK
| KEY_BROWSER_FORWARD | `000001A7` | Same as VK_BROWSER_FORWARD
| KEY_BROWSER_REFRESH | `000001A8` | Same as VK_BROWSER_REFRESH
| KEY_BROWSER_STOP | `000001A9` | Same as VK_BROWSER_STOP
| KEY_BROWSER_SEARCH | `000001AA` | Same as VK_BROWSER_SEARCH
| KEY_BROWSER_FAVORITES | `000001AB` | Same as VK_BROWSER_FAVORITES
| KEY_BROWSER_HOME | `000001AC` | Same as VK_BROWSER_HOME
| KEY_VOLUME_MUTE | `000001AD` | Same as VK_VOLUME_MUTE
| KEY_VOLUME_DOWN | `000001AE` | Same as VK_VOLUME_DOWN
| KEY_VOLUME_UP | `000001AF` | Same as VK_VOLUME_UP
| KEY_MEDIA_NEXT_TRACK | `000001B0` | Same as VK_MEDIA_NEXT_TRACK
| KEY_MEDIA_PREV_TRACK | `000001B1` | Same as VK_MEDIA_PREV_TRACK
| KEY_MEDIA_STOP | `000001B2` | Same as VK_MEDIA_STOP
| KEY_MEDIA_PLAY_PAUSE | `000001B3` | Same as VK_MEDIA_PLAY_PAUSE
| KEY_LAUNCH_MAIL | `000001B4` | Same as VK_LAUNCH_MAIL
| KEY_LAUNCH_MEDIA_SELECT | `000001B5` | Same as VK_LAUNCH_MEDIA_SELECT
| KEY_LAUNCH_APP1 | `000001B6` | Same as VK_LAUNCH_APP1
| KEY_LAUNCH_APP2 | `000001B7` | Same as VK_LAUNCH_APP2
|  | `000001XX` | Other special keys that have a virtual code other than 0xFF, are formed by the following formula: `"KEY_FKEY_BEGIN" + "Virtual code"`. In macros such keys are stored as "OemXXXXX" (here XXXXX is the virtual key code).
| KEY_CTRLALTSHIFTPRESS | `00000201` | All three keys are pressed
| KEY_CTRLALTSHIFTRELEASE | `00000202` | All the three keys were released
| KEY_MSWHEEL_UP | `00000203` | The mouse wheel is rotated one notch up
| KEY_MSWHEEL_DOWN | `00000204` | The mouse wheel is rotated one notch down
| KEY_NUMDEL | `00000209` | Del on the numpad when NumLock is off
| KEY_DECIMAL | `0000020A` | Del on the numpad when NumLock is on
| KEY_NUMENTER | `0000020B` | Enter on the numpad
| KEY_MSWHEEL_LEFT | `0000020C` | The mouse wheel is rotated one notch left
| KEY_MSWHEEL_RIGHT | `0000020D` | The mouse wheel is rotated one notch right
| KEY_STANDBY | `0000020E` | Same as VK_SLEEP
| KEY_MSLCLICK | `0000020F` | Click left mouse button (only for macros - shortcuts and within macro sequences)
| KEY_MSRCLICK | `00000210` | Click right mouse button (only for macros - shortcuts and within macro sequences)
| KEY_MSM1CLICK | `00000211` | Click middle (next to left) mouse button (only for macros - shortcuts and within macro sequences)
| KEY_MSM2CLICK | `00000212` | Click third after left mouse button (only for macros - shortcuts and within macro sequences)
| KEY_MSM3CLICK | `00000213` | Click fourth after left mouse button (only for macros - shortcuts and within macro sequences)
| KEY_VK_0xFF_BEGIN | `00000300` | Beginning of special keys definitions that have a virtual code of 0xFF (i.e. misc. multimedia keys which are added by keyboard manufacturers). Key code is formed using the following formula: `"KEY_VK_0xFF_BEGIN" + ScanCode`. In macros those keys are saved as "SpecXXXXX" (here XXXXX is the scan code of the key).
| KEY_VK_0xFF_END | `000003FF` | Ending of special keys definitions.
|  | `` |
| KEY_NONE | `00001001` | Idle
| KEY_IDLE | `00001002` | Idle
| KEY_END_SKEY | `0000FFFF` | The end of basic set