summaryrefslogtreecommitdiffstats
path: root/include/keyboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/keyboard.h')
-rw-r--r--include/keyboard.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/keyboard.h b/include/keyboard.h
new file mode 100644
index 0000000..45c3c35
--- /dev/null
+++ b/include/keyboard.h
@@ -0,0 +1,35 @@
+#define LSHIFT_CODE 0x2A
+#define RSHIFT_CODE 0x36
+#define NUMLOCK_CODE 0x45
+#define SCROLLLOCK_CODE 0x46
+#define CAPSLOCK_CODE 0x3A
+#define ACKNOWLEDGE_CODE 0xFA
+#define EXTENDED0_CODE 0xE0
+#define EXTENDED1_CODE 0xE1
+#define LALT_CODE 0x38
+#define RALT_CODE 0xE038
+#define PAUSE_CODE 0x00E11D45
+#define LCTRL_CODE 0x1D
+#define RCTRL_CODE 0xE01D
+
+#define FLAG_BUFFER_FULL (1 << 0)
+#define FLAG_EXTENDED_KEY (1 << 1)
+#define FLAG_SCROLLLOCK_PRESSED (1 << 2)
+#define FLAG_NUMLOCK_PRESSED (1 << 3)
+#define FLAG_CAPSLOCK_PRESSED (1 << 4)
+#define FLAG_SCROLLLOCK_ACTIVE (1 << 5)
+#define FLAG_NUMLOCK_ACTIVE (1 << 6)
+#define FLAG_CAPSLOCK_ACTIVE (1 << 7)
+#define FLAG_LSHIFT_PRESSED (1 << 8)
+#define FLAG_RSHIFT_PRESSED (1 << 9)
+#define FLAG_LALT_PRESSED (1 << 10)
+#define FLAG_RALT_PRESSED (1 << 11)
+#define FLAG_LCTRL_PRESSED (1 << 12)
+#define FLAG_RCTRL_PRESSED (1 << 13)
+
+#define KEY_RELEASE 0x80
+#define KEY_CODE 0x7F
+
+
+void kb_write_keycode();
+void kb_read_keycode();