KEYBOARD_ATTRIBUTES structure (ntddkbd.h)
Specifies the attributes of a keyboard.
typedef struct _KEYBOARD_ATTRIBUTES {
KEYBOARD_ID KeyboardIdentifier;
USHORT KeyboardMode;
USHORT NumberOfFunctionKeys;
USHORT NumberOfIndicators;
USHORT NumberOfKeysTotal;
ULONG InputDataQueueLength;
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum;
KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum;
} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
KeyboardIdentifier
Specifies the keyboard type and subtype in a KEYBOARD_ID structure:
typedef struct _KEYBOARD_ID {
UCHAR Type;
UCHAR Subtype;
} KEYBOARD_ID, *PKEYBOARD_ID;
Specifies the keyboard type.
Value | Description |
---|---|
0x4 | Enhanced 101- or 102-key keyboards (and compatibles) |
0x7 | Japanese Keyboard |
0x8 | Korean Keyboard |
0x51 | Unknown type or HID keyboard |
Specifies the keyboard subtype, which is a vendor-specific value.
KeyboardMode
Specifies the scan code mode. See the Remarks section.
NumberOfFunctionKeys
Specifies the number of function keys that a keyboard supports.
NumberOfIndicators
Specifies the number of LED indicators that a keyboard supports.
NumberOfKeysTotal
Specifies the number of keys that a keyboard supports.
InputDataQueueLength
Specifies the size, in bytes, of the input data queue used by the keyboard port driver.
KeyRepeatMinimum
Specifies the minimum possible value for the keyboard typematic rate and delay in a KEYBOARD_TYPEMATIC_PARAMETERS structure.
KeyRepeatMaximum
Specifies the maximum possible value for the keyboard typematic rate and delay in a KEYBOARD_TYPEMATIC_PARAMETERS structure.
This structure is used with a IOCTL_KEYBOARD_QUERY_ATTRIBUTES IOCTL request to return information about the attributes that a keyboard supports.
For more information about keyboard types, subtypes, scan code modes, and related keyboard layouts, see Keyboard and mouse HID client drivers in our drivers documentation.
More details can also be found in the kbd.h, ntdd8042.h and ntddkbd.h headers in the Windows SDK, the USB HID to PS/2 Scan Code Translation Table specification from Microsoft, and the Keyboard Layout Samples.
Requirement | Value |
---|---|
Header | ntddkbd.h (include Ntddkbd.h) |
IOCTL_KEYBOARD_QUERY_ATTRIBUTES IOCTL
IOCTL_KEYBOARD_QUERY_INDICATORS IOCTL
IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION IOCTL
IOCTL_KEYBOARD_QUERY_TYPEMATIC IOCTL
IOCTL_KEYBOARD_SET_INDICATORS IOCTL