• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
19default partial alphanumeric_keys
20xkb_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
62partial alphanumeric_keys
63xkb_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
76partial alphanumeric_keys
77xkb_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
121partial alphanumeric_keys
122xkb_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
136partial alphanumeric_keys
137xkb_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@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
191partial
192xkb_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    // Reşat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011
197    // Özgür 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
213partial alphanumeric_keys
214xkb_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@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
233partial alphanumeric_keys
234	xkb_symbols "sun_type6" {
235	include "sun_vndr/ro(sun_type6)"
236};
237