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

  1. "English (United States)" Language with "US" Keyboard Layout:

     TS_UD_CS_CORE::KeyboardLayout = 0x00000409
     LOWORD(TS_INFO_PACKET::CodePage) = 0x0409
    
  2. "German (Luxembourg)" Language with "German" Keyboard Layout:

     TS_UD_CS_CORE::KeyboardLayout = 0x00000407
     LOWORD(TS_INFO_PACKET::CodePage) = 0x1007
    
  3. "Afrikaans" Language with "Romanian (Programmers)" Keyboard Layout:

     TS_UD_CS_CORE::KeyboardLayout = 0x00020418
     LOWORD(TS_INFO_PACKET::CodePage) = 0x0436
    
  4. "Uzbek (Cyrillic)" Language with "Azerbaijani Cyrillic" Keyboard Layout:

     TS_UD_CS_CORE::KeyboardLayout = 0x0000082C
     LOWORD(TS_INFO_PACKET::CodePage) = 0x0843
    
Show: