Configuring Keyboard Shortcuts in Thin Client
Other versions of this page are also available for the following:
8/27/2008
A Windows Embedded CE powered thin client must provide support for keyboard shortcuts for the user.
These keyboard shortcut settings also apply to any non-Remote Desktop Protocol (RDP) application that transmits scan codes to a server.
For more information about keyboard hardware requirements, see User Input/Output Hardware Considerations for a Thin Client.
Keyboard Shortcut Configuration
You must provide support for keyboard shortcuts for the user. You can keep the default keyboard shortcut settings for each Windows Embedded CE powered thin client device that is specified in the registry. Or, you can modify the key combinations used for the required keyboard shortcuts.
You must provide a UI in the Setup Property Sheets by which the user can either enable support for keyboard shortcuts or make this feature unavailable.
Default Keyboard Shortcut Descriptions
The following table shows the default keyboard shortcuts for the user to switch tasks between emulator sessions and process management. These keyboard shortcuts are used when a user creates and ends sessions.
Default keyboard shortcut | Description |
---|---|
CTRL+ALT+END |
Brings the Windows Thin Client Shell UI to the foreground.
Security Note:
The Thin Client Shell sends the CTRL+ALT+DEL keyboard shortcut to the host computer that is running Terminal Services to present the Windows Security screen.
|
CTRL+ALT+UP ARROW |
Switches to the next active session without bringing the shell forward. The next active session is the session that is above the current session, as viewed from the shell UI. This is also known as the "up" action. |
CTRL+ALT+DOWN ARROW |
Switches to the next active session without bringing the shell forward. The next active session is the session that is below the current session, as viewed from the shell UI. This is also known as the "down" action. |
CTRL+ALT+HOME |
Switches to the default connection, if it is running. If it is not running, the shell starts the connection. This is also known as the "home" action. |
Keyboard Shortcut Registry Entries
Entries for the default keyboard shortcuts are stored in the HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Shell registry key. This registry key is defined in the rdp.reg file at %_WINCEROOT\PUBLIC\RDP\OAK\FILES.
The following table shows the named values for this registry key. No restart is required when you change these settings.
Note
The shell allows for three keyboard shortcuts to be specified. You can either enable all three of them or enable no keyboard shortcuts. You cannot enable one or two keyboard shortcuts. To enable support for keyboard shortcuts, all the keyboard shortcuts must be registered successfully. If any key does not register as a keyboard shortcut, support for keyboard shortcuts will be unavailable.
Value | Description |
---|---|
HotKeyEnable: REG_SZ |
This value specifies whether to enable support for keyboard shortcuts. If this value is greater than 0, support for keyboard shortcuts is enabled. If this value equals 0, support for keyboard shortcuts is not available. Default setting is zero (0). |
HotKey1VKey: REG_DWORD |
This value specifies the virtual-key code of the keyboard shortcut that delivers an "up" action. This keyboard shortcut brings the next active session forward so that it is above the current session, in relation to the shell UI. If the session reaches the top of the list, it goes to the bottom of the list and continues upward. Default setting is 0x26 (VK_UP). |
HotKey1fMod: REG_DWORD |
This value specifies the key-state modifiers for the keyboard shortcut that is specified by the HotKey1Vkey value. The following list shows the key modifiers and their values:
You can specify any combination of these modifiers for the virtual key. You must run the OR operator on the desired modifiers to produce a single value. For example, to generate a hot-key message for the CTRL+ALT+PAGE UP keyboard shortcut, you must specify the following keyboard shortcut values.
Default setting is 0x03. |
HotKey2VKey: REG_DWORD |
This value specifies the virtual-key code of the keyboard shortcut that delivers a "down" action. This keyboard shortcut brings forward the next active session that is below the current session, in relation to the shell UI. If the session reaches the bottom of the list, it goes to the top of the list and continues downward. Default setting is 0x28 (VK_DOWN). |
HotKey2fMod: REG_DWORD |
This value specifies the key-state modifiers for the keyboard shortcut that is specified by the HotKey2Vkey value. For more information, see the HotKey1fMod value. Default setting is 0x03. |
HotKey3VKey: REG_DWORD |
This value specifies the virtual-key code of the keyboard shortcut that delivers a "home" action. This keyboard shortcut brings forward the default session. If the default connection is not active, the shell starts it and brings it forward. Default setting is 0x24 (VK_HOME). |
HotKey3fMod: REG_DWORD |
This value specifies the key-state modifiers for the keyboard shortcut that is specified by the HotKey3Vkey value. Default setting is 0x03. |
Windows resource definitions for key codes are located in winuser.h at %_WINCEROOT%\PUBLIC\COMMON\SDK\INC. For more information, see Virtual Key Codes.
To configure keyboard shortcuts
In Platform Builder, on the File menu, select Open, and then select File.
In Files of type, select All Files.
Navigate to the %_WINCEROOT\PUBLIC\RDP\OAK\FILES folder.
Select rdp.reg and click Open.
In rdp.reg, type directly in the file to add or update a named value in the HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Shell registry key.
On the File menu, select Save rdp.reg.
Note
During the build process, makeimg.exe processes all .reg files in the build directories to create a single file, Reginit.ini. Reginit.ini forms the basis for the system registry.
For information about the methods available to C/C++ programmers for configuring keyboard shortcuts with the Remote Desktop ActiveX Interfaces, see IMsRdpClientAdvancedSettings Methods for Keyboard and Mouse.