diff options
| -rw-r--r-- | keysyms.mod/.cvsignore | 6 | ||||
| -rw-r--r-- | keysyms.mod/keysyms.bmx | 167 | 
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 | 
