Share via


PFN_KEYBD_DRIVER_GET_INFO

Other versions of this page are also available for the following:

Windows Mobile SupportedWindows Embedded CE Supported

8/28/2008

The function based on this prototype retrieves information about the keyboard and the driver.

Syntax

typedef BOOL (*PFN_KEYBD_DRIVER_GET_INFO)(
  INT iKeybdId,
  INT iIndex,
  LPVOID lpOutput
);

Parameters

Parameter Description

iKeybdId

[in] Ignored.

iIndex

For Windows Embedded CE:

[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 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.

iIndex

For Windows Mobile:

[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 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.
KBDI_SHIME_MODE_ID Returns the keyboard driver IME mode. If iIndex is KBDI_SHIME_MODE_ID, lpOutput must point to a DWORD containing one of the following values:
  • 0x0000
    KBDI_SHIME_MODE_NONE
  • 0x0001
    KBDI_SHIME_MODE_SPELL
  • 0x0002
    KBDI_SHIME_MODE_SPELL_CAPS
  • 0x0003
    KBDI_SHIME_MODE_SPELL_CAPS_LOCK
  • 0x0004
    KBDI_SHIME_MODE_AMBIGUOUS
  • 0x0005
    KBDI_SHIME_MODE_AMBIGUOUS_CAPS
  • 0x0006
    KBDI_SHIME_MODE_AMBIGUOUS_CAPS_LOCK
  • 0x0007
    KBDI_SHIME_MODE_NUMBERS
  • 0x0008
KBDI_SHIME_MODE_CUSTOM

lpOutput

[out] Pointer to the output buffer. The size of the buffer that must be available at this address depends on iIndex.

Return Value

TRUE indicates success. FALSE indicates failure. To obtain extended error information, call GetLastError.

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

Header keybddr.h
Library layoutmanager.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

KBDI_AUTOREPEAT_INFO
KBDI_VKEY_TO_UNICODE_INFO

Other Resources

Shell, GWES, and User Interface
KeybdGetDeviceInfo