diff options
Diffstat (limited to 'app/at_scancodes.h')
-rw-r--r-- | app/at_scancodes.h | 70 |
1 files changed, 46 insertions, 24 deletions
diff --git a/app/at_scancodes.h b/app/at_scancodes.h index 9af7bcc..8b943cf 100644 --- a/app/at_scancodes.h +++ b/app/at_scancodes.h @@ -1,12 +1,19 @@ #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 @@ -65,33 +72,33 @@ #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_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x70) -#define AT_SC_DELETE (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x71) -#define AT_SC_LEFT (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x79) -#define AT_SC_HOME (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x6C) -#define AT_SC_END (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x69) -#define AT_SC_UP (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x75) -#define AT_SC_DOWN (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x72) -#define AT_SC_PAGEUP (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x7D) -#define AT_SC_PAGEDOWN (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x7A) -#define AT_SC_RIGHT (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x74) +#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 | 0x79) +#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_SC_FSHIFT_ON | 0x6C) -#define AT_SC_KP4 (AT_SC_FSHIFT_ON | 0x6B) -#define AT_SC_KP1 (AT_SC_FSHIFT_ON | 0x69) -#define AT_SC_KPSLASH (AT_SC_FSHIFT_OFF | AT_BS_EMUL0 | 0x4A) -#define AT_SC_KP8 (AT_SC_FSHIFT_ON | 0x75) -#define AT_SC_KP5 (AT_SC_FSHIFT_ON | 0x73) -#define AT_SC_KP2 (AT_SC_FSHIFT_ON | 0x72) -#define AT_SC_KP0 (AT_SC_FSHIFT_ON | 0x70) +#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_SC_FSHIFT_ON | 0x7D) -#define AT_SC_KP6 (AT_SC_FSHIFT_ON | 0x74) -#define AT_SC_KP3 (AT_SC_FSHIFT_ON | 0x7A) -#define AT_SC_KPDOT (AT_SC_FSHIFT_ON | 0x71) +#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_SC_FSHIFT_OFF | 0x5A) +#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 @@ -105,7 +112,8 @@ #define AT_SC_F10 0x09 #define AT_SC_F11 0x78 #define AT_SC_F12 0x07 -#define AT_SC_SYSRQ (AT_BS_FSHIFT_ON | AT_BS_EMUL0 | 0x7C) +#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) @@ -119,8 +127,22 @@ #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 0x01 +#define AT_LED_NUMLOCK 0x02 +#define AT_LED_SCROLLLOCK 0x04 + #endif |