aboutsummaryrefslogtreecommitdiff
path: root/doc/keyboard.txt
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-04-25 23:15:02 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-04-25 23:15:02 +0000
commit4e946e3c1783e48133b861ee5542c88647d1eb6d (patch)
tree9d43acd11ae5981395f5c8abc86e0166a0527f8e /doc/keyboard.txt
parentbb6cb77863e2b6d0e84c698b5b0530d86b6f985c (diff)
move docs to doc/
Diffstat (limited to 'doc/keyboard.txt')
-rw-r--r--doc/keyboard.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/keyboard.txt b/doc/keyboard.txt
new file mode 100644
index 0000000..afa4482
--- /dev/null
+++ b/doc/keyboard.txt
@@ -0,0 +1,31 @@
+Name: Generic Keyboard (compatible)
+ID: 0x30cf7406
+Version: 1
+
+Interrupts do different things depending on contents of the A register:
+
+ A | BEHAVIOR
+---+----------------------------------------------------------------------------
+ 0 | Clear keyboard buffer
+ 1 | Store next key typed in C register, or 0 if the buffer is empty
+ 2 | Set C register to 1 if the key specified by the B register is pressed, or
+ | 0 if it's not pressed
+ 3 | If register B is non-zero, turn on interrupts with message B. If B is zero,
+ | disable interrupts
+---+----------------------------------------------------------------------------
+
+When interrupts are enabled, the keyboard will trigger an interrupt when one or
+more keys have been pressed, released, or typed.
+
+Key numbers are:
+ 0x10: Backspace
+ 0x11: Return
+ 0x12: Insert
+ 0x13: Delete
+ 0x20-0x7f: ASCII characters
+ 0x80: Arrow up
+ 0x81: Arrow down
+ 0x82: Arrow left
+ 0x83: Arrow right
+ 0x90: Shift
+ 0x91: Control