about summary refs log tree commit diff stats
path: root/102keyboard.subx
diff options
context:
space:
mode:
Diffstat (limited to '102keyboard.subx')
-rw-r--r--102keyboard.subx12
1 files changed, 12 insertions, 0 deletions
diff --git a/102keyboard.subx b/102keyboard.subx
index e8d23962..0c8826e1 100644
--- a/102keyboard.subx
+++ b/102keyboard.subx
@@ -6,6 +6,18 @@
 
 == code
 
+# Most keys correspond to their ASCII/Unicode values.
+# TODO: Support for international keyboards and multi-byte Unicode.
+#
+# However there are some exceptions that have no assigned place in Unicode
+# (and with good reason):
+#   0x80 = left arrow ←
+#   0x81 = down arrow ↓
+#   0x82 = up arrow ↑
+#   0x83 = right arrow →
+# These code points are not used by Unicode and their semantics are agreed to
+# be context-sensitive: https://en.wikipedia.org/wiki/C0_and_C1_control_codes#C1_controls.
+# Mu cannibalizes them in yet another non-standard way.
 read-key:  # kbd: (addr keyboard) -> result/eax: byte
     # . prologue
     55/push-ebp