When a key is pressed in a dialog, graph or display, a KEY message is sent to the controlling shell. The message parameter describes which key was pressed, and whether the control and/or shift keys were up or down at the time. A description of the parameter follows.
Please note that the KEY message parameter is case sensitive.
Alpha characters
e.g. for the character 'a'
key |
control |
shift |
message |
notes |
a |
no |
no |
'a' |
|
a |
yes |
no |
'Ca' |
|
a |
no |
yes |
'A' |
|
a |
yes |
yes |
'CA' |
|
Numerical characters
e.g. for the number '1'
key |
control |
shift |
message |
notes |
1 |
no |
no |
'1' |
|
1 |
yes |
no |
'C1' |
|
1 |
no |
yes |
'1' |
same as without shift |
1 |
yes |
yes |
'C1' |
same as without shift |
key
keyname |
key - description and comment |
|||
normal |
+ control |
+ shift |
+ control shift |
|
chlowercase |
Cchlower |
chupper |
Cchupper |
ch is any character key (a z); e.g.: [control][c] -> 'Cc', [shift][s] -> 'S', [a] -> 'a' |
num |
Cnum |
snum |
* |
num is a numeric key and snum the corresponding symbol if pressed with shift (depends on keyboard layout); e.g. [8] -> '8', [shift][4] -> '$' |
sym |
* |
ssym |
* |
sym is a symbol key and ssym the corresponding symbol if pressed with shift (depends on keyboard layout); e.g. [+] -> '+', [shift][-] -> '_' |
keyname |
key - description and comment |
|||
normal |
+ control |
+ shift |
+ control shift |
|
Fn |
CFn |
SFn |
CSFn |
Function key[Fn]; with: n = 1 .. 12 |
left |
prefix C|S|CS |
cursor left [¬] |
||
right |
prefix C|S|CS |
cursor right [®] |
||
up |
prefix C|S|CS |
cursor up [] |
||
down |
prefix C|S|CS |
cursor down [¯] |
||
previous |
prefix C|S|CS |
page up [PgUp] |
||
next |
prefix C|S|CS |
page down [PgDn] |
||
home |
prefix C|S|CS |
cursor home [Home] |
||
end |
prefix C|S|CS |
cursor end [End] |
||
insert |
prefix C|S|CS |
insert [INS] |
||
delete |
prefix C|S|CS |
delete [DEL] |
||
space |
prefix C|S|CS |
space bar (blank) [ ] |
||
add |
prefix C|S|CS |
numeric pad add [+] |
||
subtract |
prefix C|S|CS |
numeric pad subtract [-] |
||
multiply |
prefix C|S|CS |
numeric pad multiply [*] |
||
divide |
prefix C|S|CS |
numeric pad divide [/] |
||
enter |
prefix C|S|CS |
enter / return [¿] |
||
Notes: The key [ESC] (Escape) is never sent as a key message. It is always translated into the message itemtype itemname CANCEL.
Not all [control][key] codes are defined in the ASCII character set and some are directly processed by the system. Therefore some combinations can not be translated and keyname is set to '*'. For the special keys (replaced with name strings) not all [control] and/or [shift] states are defined.