# # RDP Keyboard <-> X11 Keyboard layout map # # How this file works: # 1. load the file and scan each section to find matching "keyboard_type" # and "keyboard_subtype" based on the values received from the client. # If not found, then jump to default section. # 2. in the selected section, look for "rdp_layouts" and "layouts_map". # Based on the "keylayout" value from the client, find the right x11 # layout value. # 3. model/variant are inferred based on the "keyboard_type" and # "keyboard_subtype", but they can be overridden. # # # RDP Keyboard Type (http://msdn.microsoft.com/en-us/library/cc240563.aspx) # # 0 is not a valid value # # 1 - IBM PC/XT or compatible (83-key) keyboard # 2 - Olivetti "ICO" (102-key) keyboard # 3 - IBM PC/AT (84-key) or similar keyboard # 4 - IBM enhanced (101- or 102-key) keyboard # 5 - Nokia 1050 and similar keyboards # 6 - Nokia 9140 and similar keyboards # 7 - Japanese keyboard # # RDP Keyboard Subtype is vendor dependent. XRDP defines as follows: # # 0 is not a valid value # # 1 - Standard # 2 - FreeRDP JP keyboard # 3 - Macintosh # ... - < any vendor dependent subtype > # # The list can be augmented. # # default [default] # keyboard_type and keyboard_subtype is not read for default section. It # is only a placeholder to keep consistency. Default model/variant are # platform dependent, and could be overridden if needed. keyboard_type=0 keyboard_subtype=0 # user could override variant and model, but generally they should be inferred # automatically based on keyboard type and subtype #variant= #model= # A list of supported RDP keyboard layouts rdp_layouts=default_rdp_layouts # The map from RDP keyboard layout to X11 keyboard layout layouts_map=default_layouts_map [default_rdp_layouts] rdp_layout_us=0x00000409 rdp_layout_de=0x00000407 rdp_layout_fr=0x0000040C rdp_layout_it=0x00000410 rdp_layout_jp=0x00000411 rdp_layout_jp2=0xe0010411 rdp_layout_jp3=0xe0200411 rdp_layout_jp4=0xe0210411 rdp_layout_ru=0x00000419 rdp_layout_se=0x0000041D rdp_layout_ch=0x00000807 rdp_layout_pt=0x00000816 rdp_layout_br=0x00000416 rdp_layout_pl=0x00000415 # = [default_layouts_map] rdp_layout_us=us rdp_layout_de=de rdp_layout_fr=fr rdp_layout_it=it rdp_layout_jp=jp rdp_layout_jp2=jp rdp_layout_jp3=jp rdp_layout_jp4=jp rdp_layout_ru=ru rdp_layout_se=se rdp_layout_ch=ch rdp_layout_pt=pt rdp_layout_br=br(abnt2) rdp_layout_pl=pl # if two sections have the same keyboard_type and keyboard_subtype, then # the latter could override the former. [rdp_keyboard_mac] keyboard_type=4 keyboard_subtype=3 rdp_layouts=default_rdp_layouts layouts_map=rdp_layouts_map_mac [rdp_keyboard_jp] keyboard_type=7 keyboard_subtype=2 model=jp106 rdp_layouts=default_rdp_layouts layouts_map=default_layouts_map [rdp_layouts_map_mac] rdp_layout_us=us rdp_layout_de=de rdp_layout_fr=fr rdp_layout_jp=jp rdp_layout_jp2=jp rdp_layout_jp3=jp rdp_layout_jp4=jp rdp_layout_it=it rdp_layout_ru=ru rdp_layout_se=se rdp_layout_ch=ch rdp_layout_pt=pt rdp_layout_br=br(abnt2) rdp_layout_pl=pl