Keyboard Driver Registry Settings

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

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

If your keyboard driver does not use the default name Kbdmouse.dll, in Platform.reg, define the keybd_driver symbol to be the name of your keyboard driver. The following example sample shows how to define the name for your keyboard driver.

#define keybd_driver  "MyKeyboardDriver.dll"

The following registry key example shows the required settings for supporting the Remote Desktop Protocol (RDP), if your keyboard driver does not support Layout Manager interface.

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "Keyboard Type"=dword:<type>
    "Keyboard SubType"=dword:<subtype>
    "Keyboard Function Keys"=dword:<function keys>
    "Keyboard Layout"="<input locale>"

The following registry key examples show keyboard driver registry settings.

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "DriverName"="kbdmouse.dll"
    "SysIntr"=dword:10
    "IoBase"=dword:60
    "IoLen"=dword:5
    "BusNumber"=dword:0
    "BusType"=dword:5
    "EnableWake"=dword:1

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "CalVKey"=dword:0
    "ContLessVKey"=dword:0
    "ContMoreVKey"=dword:0
    "TaskManVKey"=dword:2E

These registry key examples are located in %_WINCEROOT%\public\common\oak\drivers\keybd\ps2_8042\8042keybd.reg and %_WINCEROOT%\public\common\oak\drivers\keybd\keybd.reg, respectively. These files are included in many of the Platform.reg files. If necessary, some values might be deleted and overwritten in Platform.reg.

The DriverName value specifies Kbdmouse.dll as the keyboard driver.

The Status registry value is combined with the keyboard enabled bits to produce the value returned by GetKeyboardStatus. The following registry key example shows the value to add to Project.reg globally to turn off the accelerator underscore (_) character in Platform Builder menus.

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
    "Status"=dword:0

The following table shows the additional values that the HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\Status subkey can have.

Identifier Value Description

KBDI_KEYBOARD_PRESENT

0x0001

Indicates whether or not the system has keyboard hardware.

KBDI_KEYBOARD_ENABLED

0x0002

Indicates whether or not the keyboard hardware is enabled.

This bit is assumed to be set but can be modified with EnableHardwareKeyboard.

KBDI_KEYBOARD_ENTER_ESC

0x0004

Indicates whether or not the keyboard hardware has ENTER and ESC keys.

KBDI_KEYBOARD_ALPHA_NUM

0x0008

Indicates whether or not the keyboard hardware has alphanumeric keys.

The following registry key example shows the key clicks on a keyboard.

[HKEY_CURRENT_USER\ControlPanel\Volume]
    "Key"=dword:0

The following table shows the possible settings for the Key registry value.

Setting Description

0

Disables key clicks

1

Enables quiet key clicks

0x100002

Enables loud key clicks

See Also

Concepts

Keyboard Driver Samples

Other Resources

Keyboard Drivers