summaryrefslogtreecommitdiffstats
path: root/app/at_scancodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'app/at_scancodes.h')
-rw-r--r--app/at_scancodes.h70
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