; ; 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_us_dvorak=0x00010409 rdp_layout_us_dvp=0x19360409 rdp_layout_dk=0x00000406 rdp_layout_de=0x00000407 rdp_layout_es=0x0000040A rdp_layout_fi=0x0000040B rdp_layout_fr=0x0000040C rdp_layout_it=0x00000410 rdp_layout_jp=0x00000411 rdp_layout_jp=0xe0010411 rdp_layout_jp=0xe0200411 rdp_layout_jp=0xe0210411 rdp_layout_kr=0x00000412 rdp_layout_no=0x00000414 rdp_layout_pl=0x00000415 rdp_layout_br=0x00000416 rdp_layout_ru=0x00000419 rdp_layout_hr=0x0000041A rdp_layout_se=0x0000041D rdp_layout_ch=0x00000807 rdp_layout_ch_fr=0x0000100C rdp_layout_gb=0x00000809 rdp_layout_latam=0x0000080A rdp_layout_be=0x00000813 rdp_layout_pt=0x00000816 ; = [default_layouts_map] rdp_layout_hr=hr rdp_layout_us=us rdp_layout_us_dvorak=us(dvorak) rdp_layout_us_dvp=us(dvp) rdp_layout_dk=dk rdp_layout_de=de rdp_layout_es=es rdp_layout_fi=fi rdp_layout_fr=fr rdp_layout_it=it rdp_layout_jp=jp rdp_layout_kr=kr rdp_layout_no=no rdp_layout_pl=pl rdp_layout_br=br(abnt2) rdp_layout_ru=ru rdp_layout_se=se rdp_layout_ch=ch rdp_layout_ch_fr=ch(fr) rdp_layout_gb=gb rdp_layout_latam=latam rdp_layout_be=be rdp_layout_pt=pt ; 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=pc105 rdp_layouts=default_rdp_layouts layouts_map=default_layouts_map [rdp_layouts_map_mac] rdp_layout_hr=hr rdp_layout_us=us rdp_layout_us_dvorak=us(dvorak) rdp_layout_us_dvp=us(dvp) rdp_layout_dk=dk rdp_layout_de=de rdp_layout_es=es rdp_layout_fi=fi rdp_layout_fr=fr rdp_layout_it=it rdp_layout_jp=jp rdp_layout_kr=kr rdp_layout_pl=pl rdp_layout_br=br(abnt2) rdp_layout_ru=ru rdp_layout_se=se rdp_layout_ch=ch rdp_layout_ch_fr=ch(fr) rdp_layout_gb=gb rdp_layout_latam=latam rdp_layout_be=be rdp_layout_pt=pt