#ifndef _AT_SCANCODES_H_ #define _AT_SCANCODES_H_ /* the logic here is batshit, consult scancode.doc in the DOCS dir */ /* we don't use FSHIFT and FCTRL, we just check the EMUL0 and EMUL1 */ /* commands but we put them in here for completeness */ #define AT_BS_EMUL0 0x0100 #define AT_BS_EMUL1 0x0200 #define AT_BS_FSHIFT_ON 0x0000 #define AT_BS_FSHIFT_OFF 0x0000 #define AT_BS_FCTRL_ON 0x0000 #define AT_SC_MAX 0x300 #define AT_SC_GRAVE 0x0E #define AT_SC_1 0x16 #define AT_SC_2 0x1E #define AT_SC_3 0x26 #define AT_SC_4 0x25 #define AT_SC_5 0x2E #define AT_SC_6 0x36 #define AT_SC_7 0x3D #define AT_SC_8 0x3E #define AT_SC_9 0x46 #define AT_SC_0 0x45 #define AT_SC_MINUS 0x4E #define AT_SC_EQUAL 0x55 #define AT_SC_BACKSPACE 0x66 #define AT_SC_TAB 0x0D #define AT_SC_Q 0x15 #define AT_SC_W 0x1D #define AT_SC_E 0x24 #define AT_SC_R 0x2D #define AT_SC_T 0x2C #define AT_SC_Y 0x35 #define AT_SC_U 0x3C #define AT_SC_I 0x43 #define AT_SC_O 0x44 #define AT_SC_P 0x4D #define AT_SC_LEFTBRACE 0x54 #define AT_SC_RIGHTBRACE 0x5B #define AT_SC_BACKSLASH 0x5D #define AT_SC_CAPSLOCK 0x58 #define AT_SC_A 0x1C #define AT_SC_S 0x1B #define AT_SC_D 0x23 #define AT_SC_F 0x2B #define AT_SC_G 0x34 #define AT_SC_H 0x33 #define AT_SC_J 0x3B #define AT_SC_K 0x42 #define AT_SC_L 0x4B #define AT_SC_SEMICOLON 0x4C #define AT_SC_APOSTROPHE 0x52 #define AT_SC_102ND 0x61 #define AT_SC_ENTER 0x5A #define AT_SC_LEFTSHIFT 0x12 #define AT_SC_Z 0x1A #define AT_SC_X 0x22 #define AT_SC_C 0x21 #define AT_SC_V 0x2A #define AT_SC_B 0x32 #define AT_SC_N 0x31 #define AT_SC_M 0x3A #define AT_SC_COMMA 0x41 #define AT_SC_DOT 0x49 #define AT_SC_SLASH 0x4A #define AT_SC_RIGHTSHIFT 0x59 #define AT_SC_LEFTCTRL 0x14 #define AT_SC_LEFTALT 0x11 #define AT_SC_SPACE 0x29 #define AT_SC_RIGHTALT (AT_BS_EMUL0 | 0x11) #define AT_SC_RIGHTCTRL (AT_BS_EMUL0 | 0x14) #define AT_SC_INSERT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x70) #define AT_SC_DELETE (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x71) #define AT_SC_LEFT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x6B) #define AT_SC_HOME (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x6C) #define AT_SC_END (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x69) #define AT_SC_UP (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x75) #define AT_SC_DOWN (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x72) #define AT_SC_PAGEUP (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7D) #define AT_SC_PAGEDOWN (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7A) #define AT_SC_RIGHT (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x74) #define AT_SC_NUMLOCK 0x77 #define AT_SC_KP7 (AT_BS_FSHIFT_ON | 0x6C) #define AT_SC_KP4 (AT_BS_FSHIFT_ON | 0x6B) #define AT_SC_KP1 (AT_BS_FSHIFT_ON | 0x69) #define AT_SC_KPSLASH (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x4A) #define AT_SC_KP8 (AT_BS_FSHIFT_ON | 0x75) #define AT_SC_KP5 (AT_BS_FSHIFT_ON | 0x73) #define AT_SC_KP2 (AT_BS_FSHIFT_ON | 0x72) #define AT_SC_KP0 (AT_BS_FSHIFT_ON | 0x70) #define AT_SC_KPASTERISK 0x7C #define AT_SC_KP9 (AT_BS_FSHIFT_ON | 0x7D) #define AT_SC_KP6 (AT_BS_FSHIFT_ON | 0x74) #define AT_SC_KP3 (AT_BS_FSHIFT_ON | 0x7A) #define AT_SC_KPDOT (AT_BS_FSHIFT_ON | 0x71) #define AT_SC_KPMINUS 0x7B #define AT_SC_KPPLUS 0x79 #define AT_SC_KPENTER (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x5A) #define AT_SC_ESC 0x76 #define AT_SC_F1 0x05 #define AT_SC_F2 0x06 #define AT_SC_F3 0x04 #define AT_SC_F4 0x0C #define AT_SC_F5 0x03 #define AT_SC_F6 0x0B #define AT_SC_F7 0x83 #define AT_SC_F8 0x0A #define AT_SC_F9 0x01 #define AT_SC_F10 0x09 #define AT_SC_F11 0x78 #define AT_SC_F12 0x07 #define AT_SC_SYSRQ 0x84 /*#define AT_SC_SYSRQ (AT_BS_FSHIFT_OFF | AT_BS_EMUL0 | 0x7C) */ #define AT_SC_SCROLLLOCK 0x7E #define AT_SC_PAUSE (AT_BS_FCTRL_ON | AT_BS_EMUL0 | 0x7E) #define AT_SC_LEFTMETA (AT_BS_EMUL0 | 0x1F) #define AT_SC_RIGHTMETA (AT_BS_EMUL0 | 0x27) #define AT_SC_MENU (AT_BS_EMUL0 | 0x2F) #define AT_SC_POWER (AT_BS_EMUL0 | 0x37) #define AT_SC_SLEEP (AT_BS_EMUL0 | 0x3F) #define AT_SC_WAKEUP (AT_BS_EMUL0 | 0x5E) #define AT_SC_DBE_KATAKANA 0x13 #define AT_SC_DBE_SBCSCHAR 0x62 #define AT_SC_CONVERT 0x64 #define AT_SC_NONCONVERT 0x67 /* Consumer keys */ #define AT_SC_HOMEPAGE (AT_BS_EMUL0 | 0x3A) #define AT_SC_MUTE (AT_BS_EMUL0 | 0x23) #define AT_SC_VOLUMEUP (AT_BS_EMUL0 | 0x32) #define AT_SC_VOLUMEDOWN (AT_BS_EMUL0 | 0x121) #define AT_SC_KEY_PREVIOUSSONG (AT_BS_EMUL0 | 0x115) #define AT_SC_KEY_PLAYPAUSE (AT_BS_EMUL0 | 0x134) #define AT_SC_KEY_STOPCD (AT_BS_EMUL0 | 0x13b) #define AT_SC_KEY_NEXTSONG (AT_BS_EMUL0 | 0x14d) #define AT_SC_EMUL0 0xE0 #define AT_SC_EMUL1 0xE1 #define AT_LED_CAPS 0x04 #define AT_LED_NUMLOCK 0x02 #define AT_LED_SCROLLLOCK 0x01 #endif