From 004201504ed5f977cf589c8f2592cc48522a11b8 Mon Sep 17 00:00:00 2001 From: Ian C Date: Tue, 4 Oct 2005 23:39:31 +0000 Subject: Added KeySyms module --- keysyms.mod/.cvsignore | 6 ++ keysyms.mod/keysyms.bmx | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 173 insertions(+) create mode 100644 keysyms.mod/.cvsignore create mode 100644 keysyms.mod/keysyms.bmx 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 -- cgit v1.2.3