Programmer Guide/General Descriptions/KEY message parameters: Difference between revisions
(→key) |
(→key) |
||
Line 151: | Line 151: | ||
|Sprevious | |Sprevious | ||
|CSprevious | |CSprevious | ||
|The page up key | |The page up key [PgUp] | ||
|- | |- | ||
|next | |next | ||
Line 157: | Line 157: | ||
|Snext | |Snext | ||
|CSnext | |CSnext | ||
|The page down key | |The page down key [PgDn] | ||
|- | |- | ||
|home | |home | ||
Line 178: | Line 178: | ||
|- | |- | ||
|delete | |delete | ||
| | |Cdelete | ||
|delete [DEL] | |Sdelete | ||
|CSdelete | |||
|The delete key [DEL] | |||
|- | |- | ||
|space | |space | ||
| | |Cspace | ||
|space bar (blank | |Sspace | ||
|CSspace | |||
|The space bar (blank | |||
|- | |- | ||
|add | |add | ||
| | |Cadd | ||
|numeric pad add [+] | |Sadd | ||
|CSadd | |||
|The numeric pad add [<nowiki>+</nowiki>] | |||
|- | |- | ||
|subtract | |subtract | ||
| | |Csubtract | ||
|numeric pad subtract [<nowiki>-</nowiki>] | |Ssubtract | ||
|CSsubtract | |||
|The numeric pad subtract [<nowiki>-</nowiki>] | |||
|- | |- | ||
|multiply | |multiply | ||
| | |Cmultiply | ||
|numeric pad multiply [*] | |Smultiply | ||
|CSmultiply | |||
|The numeric pad multiply [<nowiki>*</nowiki>] | |||
|- | |- | ||
|divide | |divide | ||
| | |Cdivide | ||
| | |Sdivide | ||
|CSdivide | |||
|Thenumeric pad divide [<nowiki>/</nowiki>] | |||
|- | |- | ||
|enter | |enter | ||
| | |Center | ||
|enter | |Senter | ||
|CSenter | |||
|The enter key [RETURN] | |||
|} | |} | ||
Revision as of 12:50, 12 December 2017
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 | ||||
ch lowercase
|
Cch lower
|
ch upper
|
Cch upper
|
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][-] -> '_' |
key | control+key | shift+key | control+shift+key | description |
---|---|---|---|---|
Fn | CFn | SFn | CSFn | Function key[Fn]; with: n = 1 .. 12 |
left | Cleft | Sleft | CSleft | The left arrow button |
right | Cright | Sright | CSright | The right arrow key |
up | Cup | Sup | CSup | The up arrow key |
down | Cdown | Sdown | CSdown | The down arrow key |
previous | Cprevious | Sprevious | CSprevious | The page up key [PgUp] |
next | Cnext | Snext | CSnext | The page down key [PgDn] |
home | Chome | Shome | CShome | The home key |
end | Cend | Send | CSend | The end key |
insert | Cinsert | Sinsert | CSinsert | The insert key |
delete | Cdelete | Sdelete | CSdelete | The delete key [DEL] |
space | Cspace | Sspace | CSspace | The space bar (blank |
add | Cadd | Sadd | CSadd | The numeric pad add [+] |
subtract | Csubtract | Ssubtract | CSsubtract | The numeric pad subtract [-] |
multiply | Cmultiply | Smultiply | CSmultiply | The numeric pad multiply [*] |
divide | Cdivide | Sdivide | CSdivide | Thenumeric pad divide [/] |
enter | Center | Senter | CSenter | The enter key [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.
See the key_messages.sts example script to see this all in action.