// // Created by simon on 04/03/2020. // #ifndef QZDOOM_DOOMKEYS_H #define QZDOOM_DOOMKEYS_H // // DOOM keyboard definition. Everything below 0x100 matches // a mode 1 keyboard scan code. // #define KEY_PAUSE 0xc5 // DIK_PAUSE #define KEY_RIGHTARROW 0xcd // DIK_RIGHT #define KEY_LEFTARROW 0xcb // DIK_LEFT #define KEY_UPARROW 0xc8 // DIK_UP #define KEY_DOWNARROW 0xd0 // DIK_DOWN #define KEY_ESCAPE 0x01 // DIK_ESCAPE #define KEY_ENTER 0x1c // DIK_RETURN #define KEY_SPACE 0x39 // DIK_SPACE #define KEY_TAB 0x0f // DIK_TAB #define KEY_F1 0x3b // DIK_F1 #define KEY_F2 0x3c // DIK_F2 #define KEY_F3 0x3d // DIK_F3 #define KEY_F4 0x3e // DIK_F4 #define KEY_F5 0x3f // DIK_F5 #define KEY_F6 0x40 // DIK_F6 #define KEY_F7 0x41 // DIK_F7 #define KEY_F8 0x42 // DIK_F8 #define KEY_F9 0x43 // DIK_F9 #define KEY_F10 0x44 // DIK_F10 #define KEY_F11 0x57 // DIK_F11 #define KEY_F12 0x58 // DIK_F12 #define KEY_GRAVE 0x29 // DIK_GRAVE #define KEY_BACKSPACE 0x0e // DIK_BACK #define KEY_EQUALS 0x0d // DIK_EQUALS #define KEY_MINUS 0x0c // DIK_MINUS #define KEY_LSHIFT 0x2A // DIK_LSHIFT #define KEY_LCTRL 0x1d // DIK_LCONTROL #define KEY_LALT 0x38 // DIK_LMENU #define KEY_RSHIFT KEY_LSHIFT #define KEY_RCTRL KEY_LCTRL #define KEY_RALT KEY_LALT #define KEY_INS 0xd2 // DIK_INSERT #define KEY_DEL 0xd3 // DIK_DELETE #define KEY_END 0xcf // DIK_END #define KEY_HOME 0xc7 // DIK_HOME #define KEY_PGUP 0xc9 // DIK_PRIOR #define KEY_PGDN 0xd1 // DIK_NEXT #define KEY_MOUSE1 0x100 #define KEY_MOUSE2 0x101 #define KEY_MOUSE3 0x102 #define KEY_MOUSE4 0x103 #define KEY_MOUSE5 0x104 #define KEY_MOUSE6 0x105 #define KEY_MOUSE7 0x106 #define KEY_MOUSE8 0x107 #define KEY_FIRSTJOYBUTTON 0x108 #define KEY_FIRSTJOY2BUTTON 0x128 #define KEY_FIRSTJOY3BUTTON 0x148 #define KEY_FIRSTJOY4BUTTON 0x168 #define KEY_JOY1 (KEY_FIRSTJOYBUTTON+0) #define KEY_JOY2 (KEY_FIRSTJOYBUTTON+1) #define KEY_JOY3 (KEY_FIRSTJOYBUTTON+2) #define KEY_JOY4 (KEY_FIRSTJOYBUTTON+3) #define KEY_JOY5 (KEY_FIRSTJOYBUTTON+4) #define KEY_JOY6 (KEY_FIRSTJOYBUTTON+5) #define KEY_JOY7 (KEY_FIRSTJOYBUTTON+6) #define KEY_JOY8 (KEY_FIRSTJOYBUTTON+7) #define KEY_LASTJOYBUTTON 0x187 #define KEY_JOYPOV1_UP 0x188 #define KEY_JOYPOV1_RIGHT 0x189 #define KEY_JOYPOV1_DOWN 0x18a #define KEY_JOYPOV1_LEFT 0x18b #define KEY_JOYPOV2_UP 0x18c #define KEY_JOYPOV3_UP 0x190 #define KEY_JOYPOV4_UP 0x194 #define KEY_MWHEELUP 0x198 #define KEY_MWHEELDOWN 0x199 #define KEY_MWHEELRIGHT 0x19A #define KEY_MWHEELLEFT 0x19B #define KEY_JOYAXIS1PLUS 0x19C #define KEY_JOYAXIS1MINUS 0x19D #define KEY_JOYAXIS2PLUS 0x19E #define KEY_JOYAXIS2MINUS 0x19F #define KEY_JOYAXIS3PLUS 0x1A0 #define KEY_JOYAXIS3MINUS 0x1A1 #define KEY_JOYAXIS4PLUS 0x1A2 #define KEY_JOYAXIS4MINUS 0x1A3 #define KEY_JOYAXIS5PLUS 0x1A4 #define KEY_JOYAXIS5MINUS 0x1A5 #define KEY_JOYAXIS6PLUS 0x1A6 #define KEY_JOYAXIS6MINUS 0x1A7 #define KEY_JOYAXIS7PLUS 0x1A8 #define KEY_JOYAXIS7MINUS 0x1A9 #define KEY_JOYAXIS8PLUS 0x1AA #define KEY_JOYAXIS8MINUS 0x1AB #define NUM_JOYAXISBUTTONS 8 #define KEY_PAD_LTHUMB_RIGHT 0x1AC #define KEY_PAD_LTHUMB_LEFT 0x1AD #define KEY_PAD_LTHUMB_DOWN 0x1AE #define KEY_PAD_LTHUMB_UP 0x1AF #define KEY_PAD_RTHUMB_RIGHT 0x1B0 #define KEY_PAD_RTHUMB_LEFT 0x1B1 #define KEY_PAD_RTHUMB_DOWN 0x1B2 #define KEY_PAD_RTHUMB_UP 0x1B3 #define KEY_PAD_DPAD_UP 0x1B4 #define KEY_PAD_DPAD_DOWN 0x1B5 #define KEY_PAD_DPAD_LEFT 0x1B6 #define KEY_PAD_DPAD_RIGHT 0x1B7 #define KEY_PAD_START 0x1B8 #define KEY_PAD_BACK 0x1B9 #define KEY_PAD_LTHUMB 0x1BA #define KEY_PAD_RTHUMB 0x1BB #define KEY_PAD_LSHOULDER 0x1BC #define KEY_PAD_RSHOULDER 0x1BD #define KEY_PAD_LTRIGGER 0x1BE #define KEY_PAD_RTRIGGER 0x1BF #define KEY_PAD_A 0x1C0 #define KEY_PAD_B 0x1C1 #define KEY_PAD_X 0x1C2 #define KEY_PAD_Y 0x1C3 #define KEY_JOY2POV1_UP 0x1C4 #define KEY_JOY2POV2_UP 0x1C8 #define KEY_JOY2POV3_UP 0x1CC #define KEY_JOY2POV4_UP 0x1D0 #define KEY_JOY3POV1_UP 0x1D4 #define KEY_JOY3POV2_UP 0x1D8 #define KEY_JOY3POV3_UP 0x1DC #define KEY_JOY3POV4_UP 0x1E0 #define KEY_JOY4POV1_UP 0x1E4 #define KEY_JOY4POV2_UP 0x1E8 #define KEY_JOY4POV3_UP 0x1EC #define KEY_JOY4POV4_UP 0x1F0 #define KEY_JOY2AXIS1PLUS 0x1F4 #define KEY_JOY2AXIS1MINUS 0x1F5 #define KEY_JOY2AXIS2PLUS 0x1F6 #define KEY_JOY2AXIS2MINUS 0x1F7 #define KEY_JOY2AXIS3PLUS 0x1F8 #define KEY_JOY2AXIS3MINUS 0x1F9 #define KEY_JOY2AXIS4PLUS 0x1FA #define KEY_JOY2AXIS4MINUS 0x1FB #define KEY_JOY2AXIS5PLUS 0x1FC #define KEY_JOY2AXIS5MINUS 0x1FD #define KEY_JOY2AXIS6PLUS 0x1FE #define KEY_JOY2AXIS6MINUS 0x1FF #define KEY_JOY2AXIS7PLUS 0x200 #define KEY_JOY2AXIS7MINUS 0x201 #define KEY_JOY2AXIS8PLUS 0x202 #define KEY_JOY2AXIS8MINUS 0x203 #define KEY_JOY3AXIS1PLUS 0x204 #define KEY_JOY3AXIS1MINUS 0x205 #define KEY_JOY3AXIS2PLUS 0x206 #define KEY_JOY3AXIS2MINUS 0x207 #define KEY_JOY3AXIS3PLUS 0x208 #define KEY_JOY3AXIS3MINUS 0x209 #define KEY_JOY3AXIS4PLUS 0x20A #define KEY_JOY3AXIS4MINUS 0x20B #define KEY_JOY3AXIS5PLUS 0x20C #define KEY_JOY3AXIS5MINUS 0x20D #define KEY_JOY3AXIS6PLUS 0x20E #define KEY_JOY3AXIS6MINUS 0x20F #define KEY_JOY3AXIS7PLUS 0x210 #define KEY_JOY3AXIS7MINUS 0x211 #define KEY_JOY3AXIS8PLUS 0x212 #define KEY_JOY3AXIS8MINUS 0x213 #define KEY_JOY4AXIS1PLUS 0x214 #define KEY_JOY4AXIS1MINUS 0x215 #define KEY_JOY4AXIS2PLUS 0x216 #define KEY_JOY4AXIS2MINUS 0x217 #define KEY_JOY4AXIS3PLUS 0x218 #define KEY_JOY4AXIS3MINUS 0x219 #define KEY_JOY4AXIS4PLUS 0x21A #define KEY_JOY4AXIS4MINUS 0x21B #define KEY_JOY4AXIS5PLUS 0x21C #define KEY_JOY4AXIS5MINUS 0x21D #define KEY_JOY4AXIS6PLUS 0x21E #define KEY_JOY4AXIS6MINUS 0x21F #define KEY_JOY4AXIS7PLUS 0x220 #define KEY_JOY4AXIS7MINUS 0x221 #define KEY_JOY4AXIS8PLUS 0x222 #define KEY_JOY4AXIS8MINUS 0x223 #define KEY_PAD2_LTHUMB_RIGHT 0x224 #define KEY_PAD2_LTHUMB_LEFT 0x225 #define KEY_PAD2_LTHUMB_DOWN 0x226 #define KEY_PAD2_LTHUMB_UP 0x227 #define KEY_PAD2_RTHUMB_RIGHT 0x228 #define KEY_PAD2_RTHUMB_LEFT 0x229 #define KEY_PAD2_RTHUMB_DOWN 0x22A #define KEY_PAD2_RTHUMB_UP 0x22B #define KEY_PAD2_DPAD_UP 0x22C #define KEY_PAD2_DPAD_DOWN 0x22D #define KEY_PAD2_DPAD_LEFT 0x22E #define KEY_PAD2_DPAD_RIGHT 0x22F #define KEY_PAD2_START 0x230 #define KEY_PAD2_BACK 0x231 #define KEY_PAD2_LTHUMB 0x232 #define KEY_PAD2_RTHUMB 0x233 #define KEY_PAD2_LSHOULDER 0x234 #define KEY_PAD2_RSHOULDER 0x235 #define KEY_PAD2_LTRIGGER 0x236 #define KEY_PAD2_RTRIGGER 0x237 #define KEY_PAD2_A 0x238 #define KEY_PAD2_B 0x239 #define KEY_PAD2_X 0x23A #define KEY_PAD2_Y 0x23B #define KEY_PAD3_LTHUMB_RIGHT 0x23C #define KEY_PAD3_LTHUMB_LEFT 0x23D #define KEY_PAD3_LTHUMB_DOWN 0x23E #define KEY_PAD3_LTHUMB_UP 0x23F #define KEY_PAD3_RTHUMB_RIGHT 0x240 #define KEY_PAD3_RTHUMB_LEFT 0x241 #define KEY_PAD3_RTHUMB_DOWN 0x242 #define KEY_PAD3_RTHUMB_UP 0x243 #define KEY_PAD3_DPAD_UP 0x244 #define KEY_PAD3_DPAD_DOWN 0x245 #define KEY_PAD3_DPAD_LEFT 0x246 #define KEY_PAD3_DPAD_RIGHT 0x247 #define KEY_PAD3_START 0x248 #define KEY_PAD3_BACK 0x249 #define KEY_PAD3_LTHUMB 0x24A #define KEY_PAD3_RTHUMB 0x24B #define KEY_PAD3_LSHOULDER 0x24C #define KEY_PAD3_RSHOULDER 0x24D #define KEY_PAD3_LTRIGGER 0x24E #define KEY_PAD3_RTRIGGER 0x24F #define KEY_PAD3_A 0x250 #define KEY_PAD3_B 0x251 #define KEY_PAD3_X 0x252 #define KEY_PAD3_Y 0x253 #define KEY_PAD4_LTHUMB_RIGHT 0x254 #define KEY_PAD4_LTHUMB_LEFT 0x255 #define KEY_PAD4_LTHUMB_DOWN 0x256 #define KEY_PAD4_LTHUMB_UP 0x257 #define KEY_PAD4_RTHUMB_RIGHT 0x258 #define KEY_PAD4_RTHUMB_LEFT 0x259 #define KEY_PAD4_RTHUMB_DOWN 0x25A #define KEY_PAD4_RTHUMB_UP 0x25B #define KEY_PAD4_DPAD_UP 0x25C #define KEY_PAD4_DPAD_DOWN 0x25D #define KEY_PAD4_DPAD_LEFT 0x25E #define KEY_PAD4_DPAD_RIGHT 0x25F #define KEY_PAD4_START 0x260 #define KEY_PAD4_BACK 0x261 #define KEY_PAD4_LTHUMB 0x262 #define KEY_PAD4_RTHUMB 0x263 #define KEY_PAD4_LSHOULDER 0x264 #define KEY_PAD4_RSHOULDER 0x265 #define KEY_PAD4_LTRIGGER 0x266 #define KEY_PAD4_RTRIGGER 0x267 #define KEY_PAD4_A 0x268 #define KEY_PAD4_B 0x269 #define KEY_PAD4_X 0x26A #define KEY_PAD4_Y 0x26B #define NUM_KEYS 0x26C #endif //QZDOOM_DOOMKEYS_H