4.10 Specifying the Active Keyboard Layout and Language
Examples of how to encode a select set of keyboard layouts and language combinations are presented in this section.
The client-side keyboard layout is sent to the server in the keyboardLayout field of the Client Core Data (section 2.2.1.3.2) structure, while the active language identifier is sent to the server in the low-word of the CodePage field of the Info Packet (2.2.1.11.1.1) structure (if the INFO_UNICODE (0x00000010) flag is set in the flags field).
"English (United States)" Language with "US" Keyboard Layout:
TS_UD_CS_CORE::KeyboardLayout = 0x00000409 LOWORD(TS_INFO_PACKET::CodePage) = 0x0409
"German (Luxembourg)" Language with "German" Keyboard Layout:
TS_UD_CS_CORE::KeyboardLayout = 0x00000407 LOWORD(TS_INFO_PACKET::CodePage) = 0x1007
"Afrikaans" Language with "Romanian (Programmers)" Keyboard Layout:
TS_UD_CS_CORE::KeyboardLayout = 0x00020418 LOWORD(TS_INFO_PACKET::CodePage) = 0x0436
"Uzbek (Cyrillic)" Language with "Azerbaijani Cyrillic" Keyboard Layout:
TS_UD_CS_CORE::KeyboardLayout = 0x0000082C LOWORD(TS_INFO_PACKET::CodePage) = 0x0843