ro revision 1.1.1.9 1 //
2 // Complete set of Romanian keyboards as described in the new Romanian standard
3 // SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare
4 // din Romania".
5 //
6 // The default mapping is the RO_US/Programmers layout because of the lack of
7 // Romanian hardware keyboards. The primary standard layout is implemented as
8 // the "std" variant. If you're determined to get cedillas as in ISO-8859-2
9 // (and not commabelow accents as in ISO-8859-16) use the defined variants
10 // "cedilla" for the default layout or "std_cedilla" for the standard one.
11 // Pre-Vista MS compatible layout included (use the "winkeys" variant).
12 //
13 // Created by Cristian Gafton, <gafton (a] redhat.com> (C) 2000
14 // Modified by Marius Andreiana, <mandreiana (a] yahoo.com> (C) 2001
15 // Completed by Misu Moldovan, <dumol (a] gnome.ro> (C) 2001, 2004-2008.
16 // v 1.4
17
18
19 default partial alphanumeric_keys
20 xkb_symbols "basic" {
21 // This RO_US/Programmers layout, although the secondary layout in the
22 // Romanian standard, has always been the "de facto" standard in the
23 // Linux/Unix world. It is implemented here as the default layout and it's
24 // fully compatible with an US keyboard (Euro on AltGr+5 does not count).
25
26 include "us"
27
28 name[Group1]="Romanian";
29
30 key <AE01> { [ 1, exclam, dead_tilde ] };
31 key <AE02> { [ 2, at, dead_caron ] };
32 key <AE03> { [ 3, numbersign, dead_circumflex ] };
33 key <AE04> { [ 4, dollar, dead_breve ] };
34 key <AE05> { [ 5, percent, dead_abovering ] };
35 key <AE06> { [ 6, asciicircum, dead_ogonek ] };
36 key <AE07> { [ 7, ampersand, dead_grave ] };
37 key <AE08> { [ 8, asterisk, dead_abovedot ] };
38 key <AE09> { [ 9, parenleft, dead_acute ] };
39 key <AE10> { [ 0, parenright, dead_doubleacute ] };
40 key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
41 key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
42 key <AD01> { [ q, Q, acircumflex, Acircumflex ] };
43 key <AD02> { [ w, W, ssharp, 0x1001e9e ] };
44 key <AD03> { [ e, E, EuroSign ] };
45 key <AD05> { [ t, T, 0x100021b, 0x100021a ] };
46 key <AD08> { [ i, I, icircumflex, Icircumflex ] };
47 key <AD10> { [ p, P, section ] };
48 key <AD11> { [ bracketleft, braceleft, doublelowquotemark ] };
49 key <AD12> { [ bracketright, braceright, rightdoublequotemark ] };
50 key <AC01> { [ a, A, abreve, Abreve ] };
51 key <AC02> { [ s, S, 0x1000219, 0x1000218 ] };
52 key <AC03> { [ d, D, dstroke, Dstroke ] };
53 key <AC09> { [ l, L, lstroke, Lstroke ] };
54 key <LSGT> { [ backslash, bar ] };
55 key <AB03> { [ c, C, copyright ] };
56 key <AB08> { [ comma, less, guillemotleft ] };
57 key <AB09> { [ period, greater, guillemotright ] };
58
59 include "level3(ralt_switch)"
60 };
61
62 partial alphanumeric_keys
63 xkb_symbols "cedilla" {
64 // Variant of the basic layout with cedillas.
65 // Implements S and T with cedilllas as in ISO-8859-2.
66 // Included for compatibility reasons (this used to be the def variant).
67
68 include "ro(basic)"
69
70 name[Group1]="Romanian (cedilla)";
71
72 key <AD05> { [ t, T, tcedilla, Tcedilla ] };
73 key <AC02> { [ s, S, scedilla, Scedilla ] };
74 };
75
76 partial alphanumeric_keys
77 xkb_symbols "std" {
78 // Primary layout in the new Romanian standard.
79 // Implemented here as a variant because of the lack of hardware
80 // Romanian keyboards and because of the predilection of Romanian
81 // X users towards the secondary layout from the new standard.
82
83 include "us"
84
85 name[Group1]="Romanian (standard)";
86
87 key <TLDE> { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] };
88 key <AE01> { [ 1, exclam, dead_tilde ] };
89 key <AE02> { [ 2, at, dead_caron ] };
90 key <AE03> { [ 3, numbersign, dead_circumflex ] };
91 key <AE04> { [ 4, dollar, dead_breve ] };
92 key <AE05> { [ 5, percent, dead_abovering ] };
93 key <AE06> { [ 6, asciicircum, dead_ogonek ] };
94 key <AE07> { [ 7, ampersand, dead_grave ] };
95 key <AE08> { [ 8, asterisk, dead_abovedot ] };
96 key <AE09> { [ 9, parenleft, dead_acute ] };
97 key <AE10> { [ 0, parenright, dead_doubleacute ] };
98 key <AE11> { [ minus, underscore, dead_diaeresis, endash ] };
99 key <AE12> { [ equal, plus, dead_cedilla, plusminus ] };
100 key <AD03> { [ e, E, EuroSign ] };
101 key <AD10> { [ p, P, section ] };
102 key <AD11> { [ abreve, Abreve, bracketleft, braceleft ] };
103 key <AD12> { [ icircumflex, Icircumflex, bracketright, braceright ] };
104 key <BKSL> { [ acircumflex, Acircumflex, backslash, bar ] };
105 key <AC02> { [ s, S, ssharp, 0x1001e9e ] };
106 key <AC03> { [ d, D, dstroke, Dstroke ] };
107 key <AC09> { [ l, L, lstroke, Lstroke ] };
108 key <AC10> { [ 0x1000219, 0x1000218, semicolon, colon ] };
109 key <AC11> { [ 0x100021b, 0x100021a, apostrophe, quotedbl ] };
110 key <LSGT> { [ backslash, bar ] };
111 key <AB03> { [ c, C, copyright ] };
112 key <AB08> { [ comma, semicolon, less, guillemotleft ] };
113 key <AB09> { [ period, colon, greater, guillemotright ] };
114
115 key <KPDL> { [ KP_Delete, KP_Separator ] };
116
117 include "level3(ralt_switch)"
118 };
119
120
121 partial alphanumeric_keys
122 xkb_symbols "std_cedilla" {
123 // Variant of the "std" layout using cedillas instead of commas.
124 // It implements S and T with cedillas as in ISO-8859-2.
125 // Included for compatibility reasons.
126
127 include "ro(std)"
128
129 name[Group1]="Romanian (standard cedilla)";
130
131 key <AC10> { [ scedilla, Scedilla ] };
132 key <AC11> { [ tcedilla, Tcedilla ] };
133 };
134
135
136 partial alphanumeric_keys
137 xkb_symbols "winkeys" {
138 // Describes the differences between a very simple US/ASCII
139 // keyboard and a simple Romanian keyboard.
140 // Created by Manfred Pohler, <Manfred.Pohler (a] t-online.de> (C) 2003
141
142 include "latin"
143
144 name[Group1]="Romanian (Windows)";
145
146 key <TLDE> { [ bracketright, bracketleft ] };
147
148 key <AE01> { [ 1, exclam, asciitilde, asciitilde ] };
149 key <AE02> { [ 2, quotedbl, at, at ] };
150 key <AE03> { [ 3, numbersign, asciicircum,asciicircum ] };
151 key <AE04> { [ 4, currency ] };
152 key <AE05> { [ 5, percent, degree, degree ] };
153 key <AE06> { [ 6, ampersand ] };
154 key <AE07> { [ 7, slash, grave, grave ] };
155 key <AE08> { [ 8, parenleft ] };
156 key <AE09> { [ 9, parenright ] };
157 key <AE10> { [ 0, equal ] };
158 key <AE11> { [ plus, question ] };
159 key <AE12> { [ apostrophe, asterisk ] };
160
161 key <AD01> { [ q, Q, backslash, backslash ] };
162 key <AD02> { [ w, W, bar, bar ] };
163 key <AD03> { [ e, E, EuroSign, EuroSign ] };
164 key <AD05> { [ t, T ] };
165 key <AD06> { [ z, Z ] };
166 key <AD07> { [ u, U ] };
167 key <AD08> { [ i, I ] };
168 key <AD11> { [ abreve, Abreve, division, division ] };
169 key <AD12> { [ icircumflex, Icircumflex, multiply, multiply ] };
170
171 key <AC04> { [ f, F ] };
172 key <AC05> { [ g, G ] };
173 key <AC10> { [ scedilla, Scedilla, dollar, dollar ] };
174 key <AC11> { [ tcedilla, Tcedilla, ssharp, U1E9E ] };
175
176 key <AB01> { [ y, Y ] };
177 key <AB05> { [ b, B, braceleft, braceleft ] };
178 key <AB06> { [ n, N, braceright, braceright ] };
179 key <AB07> { [ m, M, section, section ] };
180 key <AB08> { [ comma, semicolon, less, less ] };
181 key <AB09> { [ period, colon, greater, greater ] };
182 key <AB10> { [ minus, underscore ] };
183
184 key <BKSL> { [ acircumflex, Acircumflex ] };
185
186 include "kpdl(comma)"
187
188 include "level3(ralt_switch)"
189 };
190
191 partial
192 xkb_symbols "crh_dobruja" {
193 // Romania-specific Crimean Tatar (Crimean Turkish) Q layout.
194 // This layout is not yet standard. Common Alt-Q and F layouts are now also
195 // available right next to this layout in the new language-centric UI.
196 // Reat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011
197 // zgr Qarahan <qarahan @ gmail . com>, 2009
198
199 include "tr(crh)"
200
201 name[Group1]="Crimean Tatar (Dobruja Q)";
202
203 key <AD02> { [ w, W, abreve, Abreve ] };
204 key <AD05> { [ t, T, 0x100021b, 0x100021a ] };
205 key <AD10> { [ p, P, section ] };
206 key <AC02> { [ s, S, 0x1000219, 0x1000218 ] };
207 key <AC07> { [ ibreve, Ibreve, j, J ] };
208 key <AB07> { [ m, M, trademark, masculine ] };
209 };
210
211 // EXTRAS:
212
213 partial alphanumeric_keys
214 xkb_symbols "ergonomic" {
215 // This layout is optimized for fast touch-typing in Romanian on a
216 // US keyboard, and works by swapping out symbols infrequently used
217 // in written Romanian (q,w,y,k) in favor of native ones, thus reducing
218 // the need to use modifier keys.
219 // Created by Gabriel Somlo, <somlo (a] cmu.edu> (C) 2011
220
221 include "ro(basic)"
222
223 name[Group1]="Romanian (ergonomic Touchtype)";
224
225 key <AD01> { [ abreve, Abreve, q, Q ] };
226 key <AD02> { [ 0x1000219, 0x1000218, w, W ] };
227 key <AD06> { [ 0x100021b, 0x100021a, y, Y ] };
228 key <AC01> { [ a, A, acircumflex, Acircumflex ] };
229 key <AC08> { [ icircumflex, Icircumflex, k, K ] };
230 };
231
232
233 partial alphanumeric_keys
234 xkb_symbols "sun_type6" {
235 include "sun_vndr/ro(sun_type6)"
236 };
237