Поделиться через


Remote Desktop Protocol Support (Windows Embedded CE 6.0)

1/6/2010

If Layout Manager entry points for PFN_LAYOUT_MGR_GET_KEYBOARD_TYPE and PFN_LAYOUT_MGR_GET_KEYBOARD_LAYOUT_NAME do not exist, the values in certain registry keys are queried and their values are returned instead.

The following registry key example shows the registry keys to configure to support RDP.

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

To set these values for the desired locale, set the variable DEFINE_KEYBOARD_TYPE in Platform.reg before including Keybd.reg. The following code sample shows how to set the DEFINE_KEYBOARD_TYPE in Platform.reg before including Keybd.reg.

#define DEFINE_KEYBOARD_TYPE
#include "$(DRIVERS_DIR)\keybd\keybd.reg"
This will bring in the proper values for the current LOCALE, if it is supported. Logic in Keybd.reg sets these values. The following registry example shows this logic.
; Define this variable in platform.reg if your keyboard driver does not
; report its type information.
#if defined DEFINE_KEYBOARD_TYPE

#if $(LOCALE)==0411

; Japanese keyboard layout
    "Keyboard Type"=dword:7
    "Keyboard SubType"=dword:2
    "Keyboard Function Keys"=dword:c
    "Keyboard Layout"="00000411"

#elif $(LOCALE)==0412

; Korean keyboard layout
    "Keyboard Type"=dword:8
    "Keyboard SubType"=dword:3
    "Keyboard Function Keys"=dword:c
    "Keyboard Layout"="00000412"

#else

; Default to US keyboard layout
    "Keyboard Type"=dword:4
    "Keyboard SubType"=dword:0
    "Keyboard Function Keys"=dword:c
    "Keyboard Layout"="00000409"

#endif

#endif ; DEFINE_KEYBOARD_TYPE

See Also

Concepts

Keyboard Driver Development Concepts
Layout Manager

Other Resources

Keyboard Drivers