2.2.2.4.7.1.1 IMKEYBOARD

The IMKEYBOARD packet specifies a keyboard event from the sender.


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

flags

keycode

flags (2 bytes): Flags from a WM_KEYUP or WM_SYSKEYUP message are combined by using the bitwise OR operation of the following values:<16>


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5

U

D

A

Q

0

0

0

E

0

0

0

0

0

0

0

R

Where the bits are defined as:

Value

Description

U

IM_FLAG_KEYBOARD_RELEASE

If specified, the event is a key release. If neither this value nor IM_FLAG_KEYBOARD_DOWN is specified, the event is a simple key press.

D

IM_FLAG_KEYBOARD_DOWN

If specified, the event is a repeated keystroke. If neither this value nor IM_FLAG_KEYBOARD_RELEASE is specified, the event is a simple key press.

A

IM_FLAG_KEYBOARD_ALT_DOWN

The event is a keystroke from the numeric keypad.

Q

IM_FLAG_KEYBOARD_QUIET

The event SHOULD NOT be injected on the receiver.

E

IM_FLAG_KEYBOARD_EXTENDED

The event consists of an extended key. This flag is only set for the NUM LOCK key.

R

IM_FLAG_KEYBOARD_RIGHT

The modifier in the event is located on the right side of the keyboard. This flag is only set for the SHIFT key.

Bits marked 0 are obtained from either the WM_KEYUP or WM_SYSKEYUP events.

keycode (2 bytes): The virtual key code of the keyboard event.