2.2.8.1.2.2.1 Fast-Path Keyboard Event (TS_FP_KEYBOARD_EVENT)

The TS_FP_KEYBOARD_EVENT structure is the fast-path variant of the TS_KEYBOARD_EVENT (section 2.2.8.1.1.3.1.1.1).


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

eventHeader

keyCode

eventHeader (1 byte):  An 8-bit, unsigned integer. The format of this field is the same as the eventHeader byte field described in section 2.2.8.1.2.2. The eventCode bitfield (3 bits in size) MUST be set to FASTPATH_INPUT_EVENT_SCANCODE (0). The eventFlags bitfield (5 bits in size) contains flags describing the keyboard event.

5-Bit Codes

Meaning

FASTPATH_INPUT_KBDFLAGS_RELEASE

0x01

The absence of this flag indicates a key-down event, while its presence indicates a key-release event.

FASTPATH_INPUT_KBDFLAGS_EXTENDED

0x02

Indicates that the keystroke message contains an extended scancode. For enhanced 101-key and 102-key keyboards, extended keys include the right ALT and right CTRL keys on the main section of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN and ARROW keys in the clusters to the left of the numeric keypad; and the Divide ("/") and ENTER keys in the numeric keypad.

FASTPATH_INPUT_KBDFLAGS_EXTENDED1

0x04

Used to send keyboard events triggered by the PAUSE key.

A PAUSE key press and release MUST be sent as the following sequence of keyboard events:

  • CTRL (0x1D) DOWN

  • NUMLOCK (0x45) DOWN

  • CTRL (0x1D) UP

  • NUMLOCK (0x45) UP

The CTRL DOWN and CTRL UP events MUST both include the FASTPATH_INPUT_KBDFLAGS_EXTENDED1 flag.

keyCode (1 byte): An 8-bit, unsigned integer. The scancode of the key which triggered the event.