added ru(ruu) to extras
[xorg/xkeyboard-config] / symbols / ro
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@redhat.com> (C) 2000
14 // Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
15 // Completed by Misu Moldovan, <dumol@gnome.ro> (C) 2001, 2004-2008.
16 // v 1.4
17
18
19 partial default 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 doesn't 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                     ] };
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                     ] };
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 with cedillas.
124     // 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 very simple Romanian keybaord
140     // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
141
142     include "latin"
143
144     name[Group1]="Romanian (WinKeys)";
145
146     // Alphanumeric section
147     key <TLDE> { [ bracketright, bracketleft            ]       };
148
149     key <AE01> { [            1,      exclam,  asciitilde, asciitilde   ] };
150     key <AE02> { [            2,    quotedbl,          at,         at   ] };
151     key <AE03> { [            3,  numbersign, asciicircum,asciicircum   ] };
152     key <AE04> { [            4,    currency            ]       };
153     key <AE05> { [            5,     percent,      degree,     degree   ] };
154     key <AE06> { [            6,   ampersand            ]       };
155     key <AE07> { [            7,       slash,       grave,      grave   ] };
156     key <AE08> { [            8,   parenleft            ]       };
157     key <AE09> { [            9,  parenright            ]       };
158     key <AE10> { [            0,       equal            ]       };
159     key <AE11> { [         plus,    question            ]       };
160     key <AE12> { [   apostrophe,    asterisk            ]       };
161
162     key <AD01> { [           q,           Q,    backslash,  backslash   ] };
163     key <AD02> { [           w,           W,          bar,        bar   ] };
164     key <AD03> { [           e,           E,     EuroSign,   EuroSign   ] };
165     key <AD05> { [           t,           T             ]       };
166     key <AD06> { [           z,           Z             ]       };
167     key <AD07> { [           u,           U             ]       };
168     key <AD08> { [           i,           I             ]       };
169     key <AD11> { [      abreve,      Abreve,     division,   division   ] };
170     key <AD12> { [ icircumflex, Icircumflex,     multiply,   multiply   ] };
171
172     key <AC04> { [           f,           F             ]       };
173     key <AC05> { [           g,           G             ]       };
174     key <AC10> { [    scedilla,    Scedilla,       dollar,     dollar   ] };
175     key <AC11> { [    tcedilla,    Tcedilla,       ssharp,     ssharp   ] };
176
177     key <AB01> { [           y,           Y             ]       };
178     key <AB05> { [           b,           B,    braceleft,  braceleft   ] };
179     key <AB06> { [           n,           N,   braceright, braceright   ] };
180     key <AB07> { [           m,           M,      section,    section   ] };
181     key <AB08> { [       comma,   semicolon,         less,       less   ] };
182     key <AB09> { [      period,       colon,      greater,    greater   ] };
183     key <AB10> { [       minus,  underscore             ]       };
184
185     key <BKSL> { [ acircumflex, Acircumflex             ]       };
186
187     // End alphanumeric section, begin "Keypad"
188     include "kpdl(comma)"
189     // End "Keypad" section
190
191     include "level3(ralt_switch)"
192
193 };
194
195 partial
196 xkb_symbols "crh_dobruja" {
197     // Romania-specific Crimean Tatar (Crimean Turkish) Q layout.
198     // This layout is not yet standard. Common Alt-Q and F layouts are now also 
199     // available right next to this layout in the new language-centric UI.
200     // Reşat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011
201     // Özgür Qarahan <qarahan @ gmail . com>, 2009
202
203     include "tr(crh)"
204
205     name[Group1]="Crimean Tatar (Dobruja Q)";
206
207     key <AD02>  { [         w,          W,         abreve,         Abreve ] };
208     key <AD05>  { [         t,          T,      0x100021b,      0x100021a ] };
209     key <AD10>  { [         p,          P,        section                 ] };
210     key <AC02>  { [         s,          S,      0x1000219,      0x1000218 ] };
211     key <AC07>  { [    ibreve,     Ibreve,              j,              J ] };
212     key <AB07>  { [         m,          M,      trademark,      masculine ] };
213 };
214
215 // EXTRAS:
216
217 partial alphanumeric_keys
218 xkb_symbols "ergonomic" {
219     // This layout is optimized for fast touch-typing in Romanian on a
220     // US keyboard, and works by swapping out symbols infrequently used
221     // in written Romanian (q,w,y,k) in favor of native ones, thus reducing
222     // the need to use modifier keys.
223     // Created by Gabriel Somlo, <somlo@cmu.edu> (C) 2011
224
225     include "ro(basic)"
226
227     name[Group1]="Romanian (ergonomic Touchtype)";
228
229     key <AD01> { [ abreve,            Abreve,  q,                       Q ] };
230     key <AD02> { [ 0x1000219,      0x1000218,  w,                       W ] };
231     key <AD06> { [ 0x100021b,      0x100021a,  y,                       Y ] };
232     key <AC01> { [ a,                      A,  acircumflex,   Acircumflex ] };
233     key <AC08> { [ icircumflex,  Icircumflex,  k,                       K ] };
234 };
235