DECEKBD—Extended Keyboard Report
This control function is a report that provides applications with more complete keystroke information. Each report consists of an ISO key position code and the current state of the eight modifier keys—pressed or released.
is a three-character ISO key position name, for example C01. For keys that occupy more than one position in the ISO key position map, the VT510 uses the largest lower-left position. The position for the space bar is A02; Return is C13.
are two ASCII hexadecimal digits that represent the state of the modifier keys.
The terminal represents the state of each modifier key as a bit in an 8-bit binary number. A bit value of 1 means the key is pressed, and a bit value of 0 means the key is not pressed. mm is the hexadecimal equivalent of the resulting 8-bit binary number.
The following table shows the order in which keys are represented in the binary number, and their corresponding hexadecimal values when pressed. The least significant bit represents the left Shift key. The most significant bit represents the right Compose Character key.
For example, 000000102 means that the right Shift key is pressed. The hexadecimal value for 000000102 is 0216.
|01||left Shift (Least significant bit)|
|10||left Alt Function|
|20||right Alt Function|
|40||left Compose Character|
|80||right Compose Character (Most significant bit)|
The terminal only sends extended key position reports when key position mode (DECKPM) is set.
The terminal uses the following rules when sending extended key reports:
- A single report may contain more than one keystroke. In this case, each keystroke is separated by a slash (/). The terminal sends the control string (APC ... ST) when a modifier key changes, or to separate keystroke data from other terminal reports.
- The terminal only sends the modifier key state when it changes in the first keystroke after an APC character.
- The terminal sends repeated key position reports as a single repeat character, period (.).
The following sequence reports an a key with no modifier keys, four keys, one key, and a b key:
APC : C01 00 / B18.../ B16 / B05 ST
The following sequence reports a left Shift key and an A key:
APC : B99 01 / C01 ST