OnScreen: for Windows; On-Screen Keyboards with Assistive Technology; Version 1.79; User's Guide | ||
---|---|---|
Prev | Chapter 9. Operation Notes | Next |
The following double-characters are reserved in Build-A-Macro:
@@ - 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" and clicking OK. However, using the Reserved words in brackets is the preferred method.
The %% sequence has 3 options, and must be formed properly to be interpreted as an 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 or Virtual Key Code - The only valid characters are k or s or v (case does not matter)
The nnn must be 3 decimal digits (values between 000 and 999 are valid). Note that there are only 200+ keys on the panels and 255 Virtual keys - higher numbers may cause memory access errors!
The keystroke (k) numbers refer to the internal numbering of the keyboard - see below for a table of the standard 101 keyboard.
For example, to generate a F10 keystroke, you may use "%%k010" in the Build-A-Macro portion. In most cases, using the actual character will generate the appropriate scan codes internally, and this is only provided as an enhancement to provide more functionality in certain environments. Documented deficiencies include lack of support for the keys on the Numeric keypad panel. Additionally, by using the scancodes, macros can generate "keystrokes" for keys that are not present on the physical keyboard. Because of the hardware oriented nature of the actual scancode generated by the physical keyboard, and its interpretation by the system hardware and Windows, the scope of these issues requires that they be referenced in appropriate system manuals, and/or documentation on industry standards.
The Virtual Key (v) passes the Windows based Virtual key code directly through OnScreen. How an application interprets the virtual key code is dependent on regional, language, keyboard layout, and possibly other issues.
Quick Reference:
%%knnn, e.g. %%k010 - uses the currently selected KMF (OnScreen layout) and looks up the virtual key / scan code information for this key, sends down/up keystrokes
%%snnn, e.g. %%s112 - sends the scancode, but processed internally. In most cases this will be the same virtual key code as specified, but it may be modified.
%%vnnn, e.g. %%v112 - sends the Windows Virtual Key (refer to Microsoft documentation) unmodified (note decimal notation, hex is not supported).
Key# Description
0 Escape Key
1 F1
2 F2
3 F3
4 F4
5 F5
6 F6
7 F7
8 F8
9 F9
10 F10
11 F11
12 F12
13 Select key
14 1/!
15 2/@
16 3/#
17 4/$
18 5/%
19 6/^
20 7/&
21 8/*
22 9/(
23 0/)
24 -/_
25 =/+
26 Back space
27 Tab
28 Q
29 W
30 E
31 R
32 T
33 Y
34 U
35 I
36 O
37 P
38 [/{
39 ]/}
40 Caps Lock
41 A
42 S
43 D
44 F
45 G
46 H
47 J
48 K
49 L
50 ;/:
51 '/"
52 Enter Key
53 Enter Key - make both waves 52.WAV & 53.WAV
54 Shift / Left Shift
55 Z
56 X
57 C
58 V
59 B
60 N
61 M
62 ,/<
63 ./>
64 //?
65 Shift / Right Shift
66 \/|
67 Control / Left Control
68 Alt / Left Alt
69 Space Bar
70 Alt / Right Alt / Alt-Gr
71 Control / Left Control
These are on the edit panel
72 Print Screen
73 Scroll Lock
74 Pause
75 Insert
76 Home
77 Page Up
78 Delete
79 End
80 Page Down
81 Up Arrow
82 Left Arrow
83 Down Arrow
84 Right Arrow
These are on the Numeric keypad panel
85 CL indicator / not processed as key
86 NL indicator / not processed as key
87 SL indicator / not processed as key
88 Num Lock
89 /
90 *
91 -
92 7
93 8
94 9
95 +
96 4
97 5
98 6
99 1
100 2
101 3
102 Enter / =
103 0
104 decimal point
As seen in ...