Build-A-Board®: for Windows; The Next Generation of Onscreen Keyboards; Version 2.20 Release 3; User's Guide | ||
---|---|---|
Prev | Chapter 4. Building Boards & Reference | Next |
The My-T-Soft Macrobat process is the "Macro Batch Processor" that handles action requests from the user interface component (i.e. My-T-Soft). Full support is only available in a Windows system - for other platforms, many of the advanced options are not available.
Macrobat Notes
The Macrobat core is based on code that was part of the pre-2.00 releases of My-T-Soft. Because of this heritage, various advanced capabilities are available, some of which are documented here. Not all supported pre-2.00 actions are available in 2.00 & later releases, and some capabilities may be added over time.
The Build-A-Macro operations, the following double-characters are reserved:
@@ - Signifies an Alt keystroke to follow
e.g. @@f = [Alt-Down]f[Alt-Up]
~~ - Signifies a Ctrl keystroke to follow
^^ - Signifies a Shift keystroke to follow
$$ - used internally for internal macro uses
%% - used to specify a virtual key, or a keyboard scan code
You may not use these character combinations in your macros, unless you use them as outlined. For example, you may quickly create a macro for File, New ([Alt]-F, N) by entering "@@fn" (do not include quote characters) and clicking OK. However, using the Reserved words in brackets is the preferred method.
The %% sequence has 2 options, and must be formed correctly to be interpreted as a special entry. 4 characters must follow the 2 percent signs, spaces are not allowed. When this is used, it generates both the Down and Up keyboard messages, (press & release), similar to the entry of a specific character.
The following general form is: %%cnnn
where c is a character signifying Keystroke or Scancode -
The only valid characters for c are k or s or e (case does not matter) (NOTE: The k in post 2.00 releases should not be used, unless otherwise documented). The nnn must be 3 decimal digits (values between 000 and 999 are valid - for Virtual key codes, only values between 1-254 are valid).
The s and e directives are translated into Virtual key codes, and given to the Windows low-level API calls. Windows CE targets have various limitations, and not all options may be supported. The %%snnn configuration will generate a scan code / keyboard event where nnn is the decimal representation of a Windows Virtual Key (see below). The same applies for the e directive, but the e generates an extended keystroke. (If some or all of these terms are not familiar, then a good review of physical keyboards may be required. For explanations of extended characters, scan codes, reference books that describe the PC hardware, the 84, 101 and 104 key IBM compatible keyboards - good sources are Microsoft references, older Peter Norton books, and books about PC compatible hardware).
Not all virtual key codes are supported for all platforms. Modifier keys such as Ctrl/Shift/Alt, and toggle keys such as Caps Lock / Num Lock / Scroll Lock keys create situations where the down / up resultant keystroke may not be sufficient for your needs (when using these low-level overrides).
Windows CE Notes: For certain keystrokes, use of the %%snnn may be required, especially in the OEM range and for keystrokes after VK_OEM_1.
As an example, the Fujitsu PenCentra Windows CE system will not map function keys (from a physical keyboard) to the 112-123 range, but use OEM (Reserved(!)) keys in the range 193-204 (e.g. to get the F1 key on My-T-Soft to act as the F1 on a physical keyboard use %%s193 - see WCE_KBRD project). The Suspend function uses VK_OEM_8 (%%s223).
For a particular unit, you will either have to contact the manufacturer for their implementation of these "keystrokes", or test the various codes to see what the result is (and if supported).
Windows #define Hex Value Decimal Value Description
VK_LBUTTON 01 1 Left mouse button
VK_RBUTTON 02 2 Right mouse button
VK_CANCEL 03 3 Control-break processing
VK_MBUTTON 03 3 Middle mouse button (3-button mouse)
VK_XBUTTON1 05 5 Windows 2000: X1 mouse button
VK_XBUTTON2 06 6 Windows 2000: X2 mouse button
07 7 Undefined
VK_BACK 08 8 BACKSPACE key
VK_TAB0 09 9 TAB key
0A-0B 10-11 Reserved
VK_CLEAR 0C 12 CLEAR key
VK_RETURN 0D 13 ENTER key
0E-0F 14-15 Undefined
VK_SHIFT 10 16 SHIFT key (Latching key)
VK_CONTROL 11 17 CTRL key (Latching key)
VK_MENU 12 18 ALT key (Latching key / System key)
VK_PAUSE 13 19 PAUSE key
VK_CAPITAL 14 20 CAPS LOCK key
VK_KANA 15 21 IME Kana mode
VK_HANGUEL 15 21 IME Hanguel mode (maintained for compatibility; use VK_HANGUL)
VK_HANGUL 15 21 IME Hangul mode
16 22 Undefined
VK_JUNJA 17 23 IME Junja mode
VK_FINAL 18 24 IME final mode
VK_HANJA 19 25 IME Hanja mode
VK_KANJI 19 25 IME Kanji mode
1A 26 Undefined
VK_ESCAPE 1B 27 ESC key
VK_CONVERT 1C 28 IME convert
VK_NONCONVERT 1D 29 IME nonconvert
VK_ACCEPT 1E 30 IME accept
VK_MODECHANGE 1F 31 IME mode change request
VK_SPACE 20 32 SPACEBAR
VK_PRIOR 21 33 PAGE UP key
VK_NEXT 22 34 PAGE DOWN key
VK_END 23 35 END key
VK_HOME 24 36 HOME key
VK_LEFT 25 37 LEFT ARROW key
VK_UP 26 38 UP ARROW key
VK_RIGHT 27 39 RIGHT ARROW key
VK_DOWN 28 40 DOWN ARROW key
VK_SELECT 29 41 SELECT key
VK_PRINT 2A 42 PRINT key
VK_EXECUTE 2B 43 EXECUTE key
VK_SNAPSHOT 2C 44 PRINT SCREEN key
VK_INSERT 2D 45 INS key
VK_DELETE 2E 46 DEL key
VK_HELP 2F 47 HELP key
"0" (ANSI 0) 30 48 0 key
"1" (ANSI 1) 31 49 1 key
"2" (ANSI 2) 32 50 2 key
"3" (ANSI 3) 33 51 3 key
"4" (ANSI 4) 34 52 4 key
"5" (ANSI 5) 35 53 5 key
"6" (ANSI 6) 36 54 6 key
"7" (ANSI 7) 37 55 7 key
"8" (ANSI 8) 38 56 8 key
"9" (ANSI 9) 39 57 9 key
3A-40 58-64 Undefined
"A" (ANSI A) 41 65 A key
"B" (ANSI B) 42 66 B key
"C" (ANSI C) 43 67 C key
"D" (ANSI D) 44 68 D key
"E" (ANSI E) 45 69 E key
"F" (ANSI F) 46 70 F key
"G" (ANSI G) 47 71 G key
"H" (ANSI H) 48 72 H key
"I" (ANSI I) 49 73 I key
"J" (ANSI J) 4A 74 J key
"K" (ANSI K) 4B 75 K key
"L" (ANSI L) 4C 76 L key
"M" (ANSI M) 4D 77 M key
"N" (ANSI N) 4E 78 N key
"O" (ANSI O) 4F 79 O key
"P" (ANSI P) 50 80 P key
"Q" (ANSI Q) 51 81 Q key
"R" (ANSI R) 52 82 R key
"S" (ANSI S) 53 83 S key
"T" (ANSI T) 54 84 T key
"U" (ANSI U) 55 85 U key
"V" (ANSI V) 56 86 V key
"W" (ANSI W) 57 87 W key
"X" (ANSI X) 58 88 X key
"Y" (ANSI Y) 59 89 Y key
"Z" (ANSI Z) 5A 90 Z key
VK_LWIN 5B 91 Left Windows key (Natural keyboard)
VK_RWIN 5C 92 Right Windows key (Natural keyboard)
VK_APPS 5D 93 Applications key (Natural keyboard)
5E 94 Reserved
VK_SLEEP 5F 95 Computer Sleep key
VK_NUMPAD0 60 96 Numeric keypad 0 key
VK_NUMPAD1 61 97 Numeric keypad 1 key
VK_NUMPAD2 62 98 Numeric keypad 2 key
VK_NUMPAD3 63 99 Numeric keypad 3 key
VK_NUMPAD4 64 100 Numeric keypad 4 key
VK_NUMPAD5 65 101 Numeric keypad 5 key
VK_NUMPAD6 66 102 Numeric keypad 6 key
VK_NUMPAD7 67 103 Numeric keypad 7 key
VK_NUMPAD8 68 104 Numeric keypad 8 key
VK_NUMPAD9 69 105 Numeric keypad 9 key
VK_MULTIPLY 6A 106 Multiply key
VK_ADD 6B 107 Add key
VK_SEPARATOR 6C 108 Separator key
VK_SUBTRACT 6D 109 Subtract key
VK_DECIMAL 6E 110 Decimal key
VK_DIVIDE 6F 111 Divide key
VK_F1 70 112 F1 key
VK_F2 71 113 F2 key
VK_F3 72 114 F3 key
VK_F4 73 115 F4 key
VK_F5 74 116 F5 key
VK_F6 75 117 F6 key
VK_F7 76 118 F7 key
VK_F8 77 119 F8 key
VK_F9 78 120 F9 key
VK_F10 79 121 F10 key
VK_F11 7A 122 F11 key
VK_F12 7B 123 F12 key
VK_F13 7C 124 F13 key
VK_F14 7D 125 F14 key
VK_F15 7E 126 F15 key
VK_F16 7F 127 F16 key
VK_F17 80 128 F17 key
VK_F18 81 129 F18 key
VK_F19 82 130 F19 key
VK_F20 83 131 F20 key
VK_F21 84 132 F21 key
VK_F22 85 133 F22 key
VK_F23 86 134 F23 key
VK_F24 87 135 F24 key
88-8F 136-143 Unassigned
VK_NUMLOCK 90 144 NUM LOCK key
VK_SCROLL 91 145 SCROLL LOCK key
92-96 146-150 OEM specific
97-9F 151-159 Unassigned
VK_LSHIFT A0 160 Left SHIFT key
VK_RSHIFT A1 161 Right SHIFT key
VK_LCONTROL A2 162 Left CONTROL key
VK_RCONTROL A3 163 Right CONTROL key
VK_LMENU A4 164 Left MENU key
VK_RMENU A5 165 Right MENU key
VK_BROWSER_BACK A6 166 Windows 2000: Browser Back key
VK_BROWSER_FORWARD A7 167 Windows 2000: Browser Forward key
VK_BROWSER_REFRESH A8 168 Windows 2000: Browser Refresh key
VK_BROWSER_STOP A9 169 Windows 2000: Browser Stop key
VK_BROWSER_SEARCH AA 170 Windows 2000: Browser Search key
VK_BROWSER_FAVORITES AB 171 Windows 2000: Browser Favorites key
VK_BROWSER_HOME AC 172 Windows 2000: Browser Start and Home key
VK_VOLUME_MUTE AD 173 Windows 2000: Volume Mute key
VK_VOLUME_DOWN AE 174 Windows 2000: Volume Down key
VK_VOLUME_UP AF 175 Windows 2000: Volume Up key
VK_MEDIA_NEXT_TRACK B0 176 Windows 2000: Next Track key
VK_MEDIA_PREV_TRACK B1 177 Windows 2000: Previous Track key
VK_MEDIA_STOP B2 178 Windows 2000: Stop Media key
VK_MEDIA_PLAY_PAUSE B3 179 Windows 2000: Play/Pause Media key
VK_LAUNCH_MAIL B4 180 Windows 2000: Start Mail key
VK_LAUNCH_MEDIA_SELECT B5 181 Windows 2000: Select Media key
VK_LAUNCH_APP1 B6 182 Windows 2000: Start Application 1 key
VK_LAUNCH_APP2 B7 183 Windows 2000: Start Application 2 key
B8-B9 174-185 Reserved
VK_OEM_1 BA 186 Windows 2000: For the US standard keyboard, the ';:' key
VK_OEM_PLUS BB 187 Windows 2000: For any country/region, the '+' key
VK_OEM_COMMA BC 188 Windows 2000: For any country/region, the ',' key
VK_OEM_MINUS BD 189 Windows 2000: For any country/region, the '-' key
VK_OEM_PERIOD BE 190 Windows 2000: For any country/region, the '.' key
VK_OEM_2 BF 191 Windows 2000: For the US standard keyboard, the '/?' key
VK_OEM_3 C0 192 Windows 2000: For the US standard keyboard, the '`~' key
C1-D7 193-215 Reserved
D8-DA 216-218 Unassigned
VK_OEM_4 DB 219 Windows 2000: For the US standard keyboard, the '[{' key
VK_OEM_5 DC 220 Windows 2000: For the US standard keyboard, the '\|' key
VK_OEM_6 DD 221 Windows 2000: For the US standard keyboard, the ']}' key
VK_OEM_7 DE 222 Windows 2000: For the US standard keyboard, the 'single-quote/double-quote' key
VK_OEM_8 DF 223 OEM specific
E0 224 Reserved
E1 225 OEM specific
VK_OEM_102 E2 226 Windows 2000: Either the angle bracket key or the backslash key on the RT 102-key keyboard
E3-E4 227-228 OEM specific
VK_PROCESSKEY E5 229 Windows 95/98, Windows NT 4.0, Windows 2000: IME PROCESS key
E6 230 OEM specific
VK_PACKET E7 231 Windows 2000: Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
E8 232 Unassigned
E9-F5 233-245 OEM specific
VK_ATTN F6 246 Attn key
VK_CRSEL F7 247 CrSel key
VK_EXSEL F8 248 ExSel key
VK_EREOF F9 249 Erase EOF key
VK_PLAY FA 250 Play key
VK_ZOOM FB 251 Zoom key
VK_NONAME FC 252 Reserved for future use
VK_PA1 FD 253 PA1 key
VK_OEM_CLEAR FE 254 Clear key
FF 255 Reserved
As seen in ...