summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2005-10-04 23:39:31 +0000
committerIan C <ianc@noddybox.co.uk>2005-10-04 23:39:31 +0000
commit004201504ed5f977cf589c8f2592cc48522a11b8 (patch)
tree4c58ec9e0adeff8ffd69383a76d2adfe75873a0f
parent1f56cad02eced27d162eb6a32c3372203bc2416c (diff)
Added KeySyms module
-rw-r--r--keysyms.mod/.cvsignore6
-rw-r--r--keysyms.mod/keysyms.bmx167
2 files changed, 173 insertions, 0 deletions
diff --git a/keysyms.mod/.cvsignore b/keysyms.mod/.cvsignore
new file mode 100644
index 0000000..e3c0b2d
--- /dev/null
+++ b/keysyms.mod/.cvsignore
@@ -0,0 +1,6 @@
+.bmx
+doc
+keysyms.debug.win32.a
+keysyms.debug.win32.i
+keysyms.release.win32.a
+keysyms.release.win32.i
diff --git a/keysyms.mod/keysyms.bmx b/keysyms.mod/keysyms.bmx
new file mode 100644
index 0000000..ff3053d
--- /dev/null
+++ b/keysyms.mod/keysyms.bmx
@@ -0,0 +1,167 @@
+Rem
+bbdoc: noddybox.keysyms
+EndRem
+Module noddybox.keysyms
+
+ModuleInfo "Framework: English string symbols for keycodes"
+ModuleInfo "Copyright: Public Domain"
+ModuleInfo "Author: Ian Cowburn"
+ModuleInfo "Version: $Revision$"
+
+' $Id$
+
+Strict
+
+Import brl.keycodes
+
+Rem
+bbdoc: Get a keysym.
+returns: The string name of @keycode, or "Unknown" for unknown codes.
+EndRem
+Function KeySym:String(keycode:Int)
+ KeySymStatic.Init()
+
+ If keycode<0 Or keycode>=KeySymStatic.codes.length
+ Return "Unknown"
+ EndIf
+
+ If KeySymStatic.codes[keycode]
+ Return KeySymStatic.codes[keycode]
+ Else
+ Return "Unknown"
+ EndIf
+End Function
+
+Private
+
+Type KeySymStatic
+ Global done:Int=False
+ Global codes:String[]
+
+ Function Init()
+ If Not done
+
+ ' TODO: This will break if keycodes are ever above 511
+ '
+ codes=New String[512]
+
+ codes[KEY_MOUSELEFT] = "Left Mouse button"
+ codes[KEY_MOUSERIGHT] = "Right Mouse button"
+ codes[KEY_MOUSEMIDDLE] = "Middle Mouse button"
+ codes[KEY_BACKSPACE] = "Backspace"
+ codes[KEY_TAB] = "Tab"
+ codes[KEY_RETURN] = "Return"
+ codes[KEY_CLEAR] = "Clear"
+ codes[KEY_ENTER] = "Enter"
+ codes[KEY_SHIFT] = "Shift"
+ codes[KEY_CONTROL] = "Control"
+ codes[KEY_ALT] = "Alt"
+ codes[KEY_PAUSE] = "Pause"
+ codes[KEY_CAPSLOCK] = "Caps Lock"
+ codes[KEY_ESCAPE] = "Escape"
+ codes[KEY_SPACE] = "Space"
+ codes[KEY_PAGEUP] = "Page Up"
+ codes[KEY_PAGEDOWN] = "Page Down"
+ codes[KEY_END] = "End"
+ codes[KEY_HOME] = "Home"
+ codes[KEY_LEFT] = "Left"
+ codes[KEY_UP] = "Up"
+ codes[KEY_RIGHT] = "Right"
+ codes[KEY_DOWN] = "Down"
+ codes[KEY_SELECT] = "Select"
+ codes[KEY_PRINT] = "Print"
+ codes[KEY_EXECUTE] = "Execute"
+ codes[KEY_SCREEN] = "Screen"
+ codes[KEY_INSERT] = "Insert"
+ codes[KEY_DELETE] = "Delete"
+ codes[KEY_HELP] = "Help"
+ codes[KEY_0] = "0"
+ codes[KEY_1] = "1"
+ codes[KEY_2] = "2"
+ codes[KEY_3] = "3"
+ codes[KEY_4] = "4"
+ codes[KEY_5] = "5"
+ codes[KEY_6] = "6"
+ codes[KEY_7] = "7"
+ codes[KEY_8] = "8"
+ codes[KEY_9] = "9"
+ codes[KEY_A] = "A"
+ codes[KEY_B] = "B"
+ codes[KEY_C] = "C"
+ codes[KEY_D] = "D"
+ codes[KEY_E] = "E"
+ codes[KEY_F] = "F"
+ codes[KEY_G] = "G"
+ codes[KEY_H] = "H"
+ codes[KEY_I] = "I"
+ codes[KEY_J] = "J"
+ codes[KEY_K] = "K"
+ codes[KEY_L] = "L"
+ codes[KEY_M] = "M"
+ codes[KEY_N] = "N"
+ codes[KEY_O] = "O"
+ codes[KEY_P] = "P"
+ codes[KEY_Q] = "Q"
+ codes[KEY_R] = "R"
+ codes[KEY_S] = "S"
+ codes[KEY_T] = "T"
+ codes[KEY_U] = "U"
+ codes[KEY_V] = "V"
+ codes[KEY_W] = "W"
+ codes[KEY_X] = "X"
+ codes[KEY_Y] = "Y"
+ codes[KEY_Z] = "Z"
+ codes[KEY_LSYS] = "Left Sys"
+ codes[KEY_RSYS] = "Right Sys"
+ codes[KEY_NUM0] = "Numpad 0"
+ codes[KEY_NUM1] = "Numpad 1"
+ codes[KEY_NUM2] = "Numpad 2"
+ codes[KEY_NUM3] = "Numpad 3"
+ codes[KEY_NUM4] = "Numpad 4"
+ codes[KEY_NUM5] = "Numpad 5"
+ codes[KEY_NUM6] = "Numpad 6"
+ codes[KEY_NUM7] = "Numpad 7"
+ codes[KEY_NUM8] = "Numpad 8"
+ codes[KEY_NUM9] = "Numpad 9"
+ codes[KEY_NUMMULTIPLY] = "Numpad *"
+ codes[KEY_NUMADD] = "Numpad +"
+ codes[KEY_NUMSLASH] = "Numpad /"
+ codes[KEY_NUMSUBTRACT] = "Numpad -"
+ codes[KEY_NUMDECIMAL] = "Numpad ."
+ codes[KEY_NUMDIVIDE] = "Numpad /"
+ codes[KEY_F1] = "F1"
+ codes[KEY_F2] = "F2"
+ codes[KEY_F3] = "F3"
+ codes[KEY_F4] = "F4"
+ codes[KEY_F5] = "F5"
+ codes[KEY_F6] = "F6"
+ codes[KEY_F7] = "F7"
+ codes[KEY_F8] = "F8"
+ codes[KEY_F9] = "F9"
+ codes[KEY_F10] = "F10"
+ codes[KEY_F11] = "F11"
+ codes[KEY_F12] = "F12"
+ codes[KEY_NUMLOCK] = "Num Lock"
+ codes[KEY_SCROLL] = "Scroll Lock"
+ codes[KEY_LSHIFT] = "Left Shift"
+ codes[KEY_RSHIFT] = "Right Shift"
+ codes[KEY_LCONTROL] = "Left Control"
+ codes[KEY_RCONTROL] = "Right Control"
+ codes[KEY_LALT] = "Left Alt"
+ codes[KEY_RALT] = "Right Alt"
+ codes[KEY_TILDE] = "Tilde"
+ codes[KEY_MINUS] = "Minus"
+ codes[KEY_EQUALS] = "Equals"
+ codes[KEY_OPENBRACKET] = "Open Bracket"
+ codes[KEY_CLOSEBRACKET] = "Close Bracket"
+ codes[KEY_BACKSLASH] = "Backslash"
+ codes[KEY_SEMICOLON] = "Semi-colon"
+ codes[KEY_QUOTES] = "Quote"
+ codes[KEY_COMMA] = "Comma"
+ codes[KEY_PERIOD] = "Period"
+ codes[KEY_SLASH] = "Slash"
+
+ done=True
+ EndIf
+ End Function
+End Type