|
|
|
;
|
|
|
|
; 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_es=0x0000040A
|
|
|
|
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_pl=0x00000415
|
|
|
|
rdp_layout_br=0x00000416
|
|
|
|
rdp_layout_ru=0x00000419
|
|
|
|
rdp_layout_se=0x0000041D
|
|
|
|
rdp_layout_ch=0x00000807
|
|
|
|
rdp_layout_gb=0x00000809
|
|
|
|
rdp_layout_pt=0x00000816
|
|
|
|
|
|
|
|
; <rdp layout name> = <X11 keyboard layout value>
|
|
|
|
[default_layouts_map]
|
|
|
|
rdp_layout_us=us
|
|
|
|
rdp_layout_de=de
|
|
|
|
rdp_layout_es=es
|
|
|
|
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_gb=gb
|
|
|
|
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_us=us
|
|
|
|
rdp_layout_de=de
|
|
|
|
rdp_layout_es=es
|
|
|
|
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_gb=gb
|
|
|
|
rdp_layout_pt=pt
|