## Physical Device Driver Reference

[prev][next][parent][TOC]

### KBD_READCHAR (74h) - CharData Record

CharData Record The character data structure of the API function KbdCharIn is shown below:

ASCIICharCode (UCHAR) ASCII character code. The scan code received from the keyboard is translated to the ASCII character code.

ScanCode (UCHAR) Code received from the keyboard. Scan code received from the keyboard is translated to the ASCII character code.

Status (UCHAR) State of the keystroke event:

Bits 7-6 Has the following values:

00 Undefined
01 Final character; interim character flag is turned off
10 Interim character
11 Final character; interim character flag is turned on.

Bit 5 If set to 1, immediate conversion requested

Bits 4-2 Reserved

Bit 1 Has the following values:

0 Scan code is a character
1 Scan code is not a character; instead it is an extended key code from the keyboard.

Bit 0 If set to 1, shift status returned without a character.

Reserved (UCHAR) NLS shift status. Reserved; must be set to 0.

ShiftKeyStat (USHORT) Shift key status. Values are:

Bit 15 SysReq key down
Bit 14 Caps Lock key down
Bit 13 NumLock key down
Bit 12 Scroll Lock key down
Bit 11 Right Alt key down
Bit 10 Right Ctrl key down
Bit 9 Left Alt key down
Bit 8 Left Ctrl key down
Bit 7 Insert on
Bit 6 Caps Lock on
Bit 5 NumLock on
Bit 4 Scroll Lock on
Bit 3 Either Alt key down
Bit 2 Either Ctrl key down
Bit 1 Left Shift key down
Bit 0 Right Shift key down

Time (ULONG) Time stamp indicating when a key was pressed. It is specified in milliseconds from the time the system was started.