setkey <KEY_SC>
If executed, will set the key status for the given scancode to 1.
This allows scripts to activate specific keys, as if they had been triggered by human input. Some keys are unaffected, see below.
See also: M32:resetkey
Scancodes
The following key scancodes are defined within Mapster32:
Defined Scancodes
|
Exposed Name |
Internal Name |
Hex Value |
Notes |
|
KEY_1 |
KEYSC_1 |
0x02 |
|
KEY_2 |
KEYSC_2 |
0x03 |
|
KEY_3 |
KEYSC_3 |
0x04 |
|
KEY_4 |
KEYSC_4 |
0x05 |
|
KEY_5 |
KEYSC_5 |
0x06 |
|
KEY_6 |
KEYSC_6 |
0x07 |
|
KEY_7 |
KEYSC_7 |
0x08 |
|
KEY_8 |
KEYSC_8 |
0x09 |
|
KEY_9 |
KEYSC_9 |
0x0a |
|
KEY_0 |
KEYSC_0 |
0x0b |
|
KEY_A |
KEYSC_A |
0x1e |
|
KEY_B |
KEYSC_B |
0x30 |
|
KEY_C |
KEYSC_C |
0x2e |
|
KEY_D |
KEYSC_D |
0x20 |
|
KEY_E |
KEYSC_E |
0x12 |
|
KEY_F |
KEYSC_F |
0x21 |
|
KEY_G |
KEYSC_G |
0x22 |
|
KEY_H |
KEYSC_H |
0x23 |
|
KEY_I |
KEYSC_I |
0x17 |
|
KEY_J |
KEYSC_J |
0x24 |
|
KEY_K |
KEYSC_K |
0x25 |
|
KEY_L |
KEYSC_L |
0x26 |
|
KEY_M |
KEYSC_M |
0x32 |
|
KEY_N |
KEYSC_N |
0x31 |
|
KEY_O |
KEYSC_O |
0x18 |
|
KEY_P |
KEYSC_P |
0x19 |
|
KEY_Q |
KEYSC_Q |
0x10 |
|
KEY_R |
KEYSC_R |
0x13 |
|
KEY_S |
KEYSC_S |
0x1f |
|
KEY_T |
KEYSC_T |
0x14 |
|
KEY_U |
KEYSC_U |
0x16 |
|
KEY_V |
KEYSC_V |
0x2f |
|
KEY_W |
KEYSC_W |
0x11 |
|
KEY_X |
KEYSC_X |
0x2d |
|
KEY_Y |
KEYSC_Y |
0x15 |
|
KEY_Z |
KEYSC_Z |
0x2c |
|
KEY_SPACE |
KEYSC_SPACE |
0x39 |
|
KEY_ENTER |
KEYSC_ENTER |
0x1c |
|
KEY_DASH |
KEYSC_DASH |
0x0c |
|
KEY_EQUAL |
KEYSC_EQUAL |
0x0d |
|
KEY_BS |
KEYSC_BS |
0x0e |
Backspace Key
|
KEY_TAB |
KEYSC_TAB |
0x0f |
|
KEY_LBRACK |
KEYSC_LBRACK |
0x1a |
|
KEY_RBRACK |
KEYSC_RBRACK |
0x1b |
|
KEY_SEMI |
KEYSC_SEMI |
0x27 |
Semi-Colon
|
KEY_QUOTE |
KEYSC_QUOTE |
0x28 |
|
KEY_BQUOTE |
KEYSC_BQUOTE |
0x29 |
Internal Alias: "KEYSC_TILDE".
|
KEY_SLASH |
KEYSC_SLASH |
0x35 |
|
KEY_BSLASH |
KEYSC_BSLASH |
0x2b |
|
KEY_COMMA |
KEYSC_COMMA |
0x33 |
|
KEY_PERIOD |
KEYSC_PERIOD |
0x34 |
|
KEY_LALT |
KEYSC_LALT |
0x38 |
|
KEY_RALT |
KEYSC_RALT |
0xb8 |
|
KEY_LCTRL |
KEYSC_LCTRL |
0x1d |
|
KEY_RCTRL |
KEYSC_RCTRL |
0x9d |
|
KEY_LSHIFT |
KEYSC_LSHIFT |
0x2a |
|
KEY_RSHIFT |
KEYSC_RSHIFT |
0x36 |
|
KEY_KP1 |
KEYSC_gEND |
0x4f |
Exposed Alias: "KEY_gEND"
|
KEY_KP2 |
KEYSC_gDOWN |
0x50 |
Exposed Alias: "KEY_gDOWN"
|
KEY_KP3 |
KEYSC_gPGDN |
0x51 |
Exposed Alias: "KEY_gPGDN"
|
KEY_KP4 |
KEYSC_gLEFT |
0x4b |
Exposed Alias: "KEY_gLEFT"
|
KEY_KP5 |
KEYSC_gKP5 |
0x4c |
Exposed Alias: "KEY_gKP5"
|
KEY_KP6 |
KEYSC_gRIGHT |
0x4d |
Exposed Alias: "KEY_gRIGHT"
|
KEY_KP7 |
KEYSC_gHOME |
0x47 |
Exposed Alias: "KEY_gHOME"
|
KEY_KP8 |
KEYSC_gUP |
0x48 |
Exposed Alias: "KEY_gUP"
|
KEY_KP9 |
KEYSC_gPGUP |
0x49 |
Exposed Alias: "KEY_gPGUP"
|
KEY_KP0 |
KEYSC_gINS |
0x52 |
Exposed Alias: "KEY_gINS"
|
KEY_KPCOMMA |
KEYSC_gDEL |
0x53 |
Exposed Alias: "KEY_gDEL"
|
KEY_gMINUS |
KEYSC_gMINUS |
0x4a |
|
KEY_gPLUS |
KEYSC_gPLUS |
0x4e |
|
KEY_gSLASH |
KEYSC_gSLASH |
0xB5 |
|
KEY_gSTAR |
KEYSC_gSTAR |
0x37 |
|
KEY_SCROLL |
KEYSC_SCROLL |
0x46 |
|
KEY_HOME |
KEYSC_HOME |
0xc7 |
|
KEY_UP |
KEYSC_UP |
0xc8 |
|
KEY_DOWN |
KEYSC_DOWN |
0xd0 |
|
KEY_LEFT |
KEYSC_LEFT |
0xcb |
|
KEY_RIGHT |
KEYSC_RIGHT |
0xcd |
|
KEY_PGUP |
KEYSC_PGUP |
0xc9 |
|
KEY_PGDN |
KEYSC_PGDN |
0xd1 |
|
KEY_END |
KEYSC_END |
0xcf |
|
KEY_INSERT |
KEYSC_INSERT |
0xd2 |
|
KEY_DELETE |
KEYSC_DELETE |
0xd3 |
|
KEY_F1 |
KEYSC_F1 |
0x3b |
|
KEY_F2 |
KEYSC_F2 |
0x3c |
|
KEY_F3 |
KEYSC_F3 |
0x3d |
|
KEY_F4 |
KEYSC_F4 |
0x3e |
|
KEY_F5 |
KEYSC_F5 |
0x3f |
|
KEY_F6 |
KEYSC_F6 |
0x40 |
|
KEY_F7 |
KEYSC_F7 |
0x41 |
|
KEY_F8 |
KEYSC_F8 |
0x42 |
|
KEY_F9 |
KEYSC_F9 |
0x43 |
|
KEY_F10 |
KEYSC_F10 |
0x44 |
|
KEY_F11 |
KEYSC_F11 |
0x57 |
|
KEY_F12 |
KEYSC_F12 |
0x58 |
|
N/A |
KEYSC_ESC |
0x01 |
Not exposed.
|
N/A |
KEYSC_CAPS |
0x3a |
Not exposed.
|
N/A |
KEYSC_gNUM |
0x45 |
Not exposed.
|
N/A |
KEYSC_gENTER |
0x9c |
Not exposed.
|
N/A |
KEYSC_PRTSCN |
0xb7 |
Not exposed. Printscreen.
|
N/A |
KEYSC_PAUSE |
0xc5 |
Not exposed.
|
|
Keyboard Layout from mapster32.cfg
|
; Key Settings
; Here's a map of all the keyboard scan codes: NOTE: values are listed in hex!
; +---------------------------------------------------------------------------------------------+
; | 01 3B 3C 3D 3E 3F 40 41 42 43 44 57 58 46 |
; |ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 SCROLL |
; | |
; |29 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E D2 C7 C9 45 B5 37 4A |
; | ` '1' '2' '3' '4' '5' '6' '7' '8' '9' '0' - = BACK INS HOME PGUP NUMLK KP/ KP* KP- |
; | |
; | 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 2B D3 CF D1 47 48 49 4E |
; |TAB Q W E R T Y U I O P [ ] \ DEL END PGDN KP7 KP8 KP9 KP+ |
; | |
; | 3A 1E 1F 20 21 22 23 24 25 26 27 28 1C 4B 4C 4D |
; |CAPS A S D F G H J K L ; ' ENTER KP4 KP5 KP6 9C |
; | KPENTER|
; | 2A 2C 2D 2E 2F 30 31 32 33 34 35 36 C8 4F 50 51 |
; |LSHIFT Z X C V B N M , . / RSHIFT UP KP1 KP2 KP3 |
; | |
; | 1D 38 39 B8 9D CB D0 CD 52 53 |
; |LCTRL LALT SPACE RALT RCTRL LEFT DOWN RIGHT KP0 KP. |
; +---------------------------------------------------------------------------------------------+
|
The following keys cannot be updated by ifhitkey, setkey or resetkey:
{ KEYSC_ESC, KEYSC_gENTER, KEYSC_LALT, KEYSC_RALT, KEYSC_LCTRL, KEYSC_RCTRL, KEYSC_LSHIFT, KEYSC_RSHIFT, KEYSC_BQUOTE, KEYSC_TILDE }