PFN_KEYBD_DRIVER_GET_INFO (Windows CE 5.0)
The function based on this prototype retrieves information about the keyboard and driver.
typedef BOOL (*PFN_KEYBD_DRIVER_GET_INFO)( INT iKeybdId, INT iIndex, LPVOID lpOutput);
Parameters
iKeybdId
[in] Ignored.iIndex
[in] Identifier of the information to retrieve.The following table shows the identifiers and their descriptions.
Identifier Description KBDI_VKEY_TO_UNICODE_INFO_ID If iIndex is KBDI_VKEY_TO_UNICODE_INFO_ID, lpOutput must point to a KBDI_VKEY_TO_UNICODE_INFO structure. KBDI_AUTOREPEAT_INFO_ID Returns the auto-repeat settings that apply to all keyboards. If iIndex is KBDI_AUTOREPEAT_INFO_ID, lpOutput must point to a KBDI_AUTOREPEAT_INFO structure.
KBDI_AUTOREPEAT_SELECTIONS_INFO_ID Returns various minimums and maximums related to the auto-repeat rate. If iIndex is KBDI_AUTOREPEAT_SELECTIONS_INFO_ID, lpOutput must point to an array of the following four INT32 values:
- Minimum delay before starting auto-repeat, in milliseconds.
- Maximum delay before starting auto-repeat, in milliseconds.
- Minimum auto-repeat rate, in keys per second.
- Maximum auto-repeat rate, in keys per second.
lpOutput
[out] Pointer to the output buffer. The size of the buffer that must be available at this address depends on iIndex.
Return Values
TRUE indicates success. FALSE indicates failure. To obtain extended error information, call the GetLastError function.
Remarks
This function must be re-entrant because the Graphics, Windowing, and Events Subsystem (GWES) exposes it through the KeybdGetDeviceInfo function and multiple threads can call it.
In Windows CE .NET 4.1 and earlier, the iIndex parameter was used to return the size necessary for the ToUnicodeState parameter and the maximum number of Unicode characters that a single virtual-key code can generate. Layout Manager does not need a ToUnicodeState parameter and it can return a maximum of two characters for a single virtual-key code, including dead keys. The ToUnicodeState parameter was formerly used by the ALT + numeric keypad remapping, but in Windows CE .NET 4.2 and later Layout Manager uses a static variable for this.
Requirements
OS Versions: Windows CE 1.0 and later.
Header: Keybddr.h.
Link Library: LayoutManager.lib.
See Also
Shell and User Interface | KeybdGetDeviceInfo | KBDI_AUTOREPEAT_INFO | KBDI_VKEY_TO_UNICODE_INFO
Send Feedback on this topic to the authors