| 194 |
- |
1 |
;
|
|
|
2 |
; RDP Keyboard <-> X11 Keyboard layout map
|
|
|
3 |
;
|
|
|
4 |
; How this file works:
|
|
|
5 |
; 1. load the file and scan each section to find matching "keyboard_type"
|
|
|
6 |
; and "keyboard_subtype" based on the values received from the client.
|
|
|
7 |
; If not found, then jump to default section.
|
|
|
8 |
; 2. in the selected section, look for "rdp_layouts" and "layouts_map".
|
|
|
9 |
; Based on the "keylayout" value from the client, find the right x11
|
|
|
10 |
; layout value.
|
|
|
11 |
; 3. model/variant are inferred based on the "keyboard_type" and
|
|
|
12 |
; "keyboard_subtype", but they can be overridden.
|
|
|
13 |
;
|
|
|
14 |
|
|
|
15 |
;
|
|
|
16 |
; RDP Keyboard Type (http://msdn.microsoft.com/en-us/library/cc240563.aspx)
|
|
|
17 |
;
|
|
|
18 |
; 0 is not a valid value
|
|
|
19 |
;
|
|
|
20 |
; 1 - IBM PC/XT or compatible (83-key) keyboard
|
|
|
21 |
; 2 - Olivetti "ICO" (102-key) keyboard
|
|
|
22 |
; 3 - IBM PC/AT (84-key) or similar keyboard
|
|
|
23 |
; 4 - IBM enhanced (101- or 102-key) keyboard
|
|
|
24 |
; 5 - Nokia 1050 and similar keyboards
|
|
|
25 |
; 6 - Nokia 9140 and similar keyboards
|
|
|
26 |
; 7 - Japanese keyboard
|
|
|
27 |
;
|
|
|
28 |
; RDP Keyboard Subtype is vendor dependent. XRDP defines as follows:
|
|
|
29 |
;
|
|
|
30 |
; 0 is not a valid value
|
|
|
31 |
;
|
|
|
32 |
; 1 - Standard
|
|
|
33 |
; 2 - FreeRDP JP keyboard
|
|
|
34 |
; 3 - Macintosh
|
|
|
35 |
; ... - < any vendor dependent subtype >
|
|
|
36 |
;
|
|
|
37 |
; The list can be augmented.
|
|
|
38 |
;
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
; default
|
|
|
42 |
[default]
|
|
|
43 |
; keyboard_type and keyboard_subtype is not read for default section. It
|
|
|
44 |
; is only a placeholder to keep consistency. Default model/variant are
|
|
|
45 |
; platform dependent, and could be overridden if needed.
|
|
|
46 |
keyboard_type=0
|
|
|
47 |
keyboard_subtype=0
|
|
|
48 |
|
|
|
49 |
; user could override variant and model, but generally they should be inferred
|
|
|
50 |
; automatically based on keyboard type and subtype
|
|
|
51 |
;variant=
|
|
|
52 |
;model=
|
|
|
53 |
|
|
|
54 |
; A list of supported RDP keyboard layouts
|
|
|
55 |
rdp_layouts=default_rdp_layouts
|
|
|
56 |
; The map from RDP keyboard layout to X11 keyboard layout
|
|
|
57 |
layouts_map=default_layouts_map
|
|
|
58 |
|
|
|
59 |
[default_rdp_layouts]
|
|
|
60 |
rdp_layout_us=0x00000409
|
|
|
61 |
rdp_layout_us_dvorak=0x00010409
|
|
|
62 |
rdp_layout_us_dvp=0x19360409
|
|
|
63 |
rdp_layout_dk=0x00000406
|
|
|
64 |
rdp_layout_de=0x00000407
|
|
|
65 |
rdp_layout_es=0x0000040A
|
|
|
66 |
rdp_layout_fi=0x0000040B
|
|
|
67 |
rdp_layout_fr=0x0000040C
|
|
|
68 |
rdp_layout_it=0x00000410
|
|
|
69 |
rdp_layout_jp=0x00000411
|
|
|
70 |
rdp_layout_jp=0xe0010411
|
|
|
71 |
rdp_layout_jp=0xe0200411
|
|
|
72 |
rdp_layout_jp=0xe0210411
|
|
|
73 |
rdp_layout_kr=0x00000412
|
|
|
74 |
rdp_layout_pl=0x00000415
|
|
|
75 |
rdp_layout_br=0x00000416
|
|
|
76 |
rdp_layout_ru=0x00000419
|
|
|
77 |
rdp_layout_se=0x0000041D
|
|
|
78 |
rdp_layout_ch=0x00000807
|
|
|
79 |
rdp_layout_ch_fr=0x0000100C
|
|
|
80 |
rdp_layout_gb=0x00000809
|
|
|
81 |
rdp_layout_latam=0x0000080A
|
|
|
82 |
rdp_layout_be=0x00000813
|
|
|
83 |
rdp_layout_pt=0x00000816
|
|
|
84 |
|
|
|
85 |
; <rdp layout name> = <X11 keyboard layout value>
|
|
|
86 |
[default_layouts_map]
|
|
|
87 |
rdp_layout_us=us
|
|
|
88 |
rdp_layout_us_dvorak=dvorak
|
|
|
89 |
rdp_layout_us_dvp=us(dvp)
|
|
|
90 |
rdp_layout_dk=dk
|
|
|
91 |
rdp_layout_de=de
|
|
|
92 |
rdp_layout_es=es
|
|
|
93 |
rdp_layout_fi=fi
|
|
|
94 |
rdp_layout_fr=fr
|
|
|
95 |
rdp_layout_it=it
|
|
|
96 |
rdp_layout_jp=jp
|
|
|
97 |
rdp_layout_kr=kr
|
|
|
98 |
rdp_layout_pl=pl
|
|
|
99 |
rdp_layout_br=br(abnt2)
|
|
|
100 |
rdp_layout_ru=ru
|
|
|
101 |
rdp_layout_se=se
|
|
|
102 |
rdp_layout_ch=ch
|
|
|
103 |
rdp_layout_ch_fr=ch(fr)
|
|
|
104 |
rdp_layout_gb=gb
|
|
|
105 |
rdp_layout_latam=latam
|
|
|
106 |
rdp_layout_be=be
|
|
|
107 |
rdp_layout_pt=pt
|
|
|
108 |
|
|
|
109 |
; if two sections have the same keyboard_type and keyboard_subtype, then
|
|
|
110 |
; the latter could override the former.
|
|
|
111 |
[rdp_keyboard_mac]
|
|
|
112 |
keyboard_type=4
|
|
|
113 |
keyboard_subtype=3
|
|
|
114 |
rdp_layouts=default_rdp_layouts
|
|
|
115 |
layouts_map=rdp_layouts_map_mac
|
|
|
116 |
|
|
|
117 |
[rdp_keyboard_jp]
|
|
|
118 |
keyboard_type=7
|
|
|
119 |
keyboard_subtype=2
|
|
|
120 |
model=pc105
|
|
|
121 |
rdp_layouts=default_rdp_layouts
|
|
|
122 |
layouts_map=default_layouts_map
|
|
|
123 |
|
|
|
124 |
[rdp_layouts_map_mac]
|
|
|
125 |
rdp_layout_us=us
|
|
|
126 |
rdp_layout_us_dvorak=dvorak
|
|
|
127 |
rdp_layout_us_dvp=us(dvp)
|
|
|
128 |
rdp_layout_dk=dk
|
|
|
129 |
rdp_layout_de=de
|
|
|
130 |
rdp_layout_es=es
|
|
|
131 |
rdp_layout_fi=fi
|
|
|
132 |
rdp_layout_fr=fr
|
|
|
133 |
rdp_layout_it=it
|
|
|
134 |
rdp_layout_jp=jp
|
|
|
135 |
rdp_layout_kr=kr
|
|
|
136 |
rdp_layout_pl=pl
|
|
|
137 |
rdp_layout_br=br(abnt2)
|
|
|
138 |
rdp_layout_ru=ru
|
|
|
139 |
rdp_layout_se=se
|
|
|
140 |
rdp_layout_ch=ch
|
|
|
141 |
rdp_layout_ch_fr=ch(fr)
|
|
|
142 |
rdp_layout_gb=gb
|
|
|
143 |
rdp_layout_latam=latam
|
|
|
144 |
rdp_layout_be=be
|
|
|
145 |
rdp_layout_pt=pt
|