1154daed1Smrg//
2154daed1Smrg// Complete set of Romanian keyboards as described in the new Romanian standard
3154daed1Smrg// SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare 
4154daed1Smrg// din Romania".
5154daed1Smrg// 
6bb3a541cSmrg// The default mapping is the Programmers layout (also known as RO_US) because
7bb3a541cSmrg// of the lack of Romanian hardware keyboards. The primary standard layout is
8bb3a541cSmrg// implemented as the "std" variant.
9bb3a541cSmrg//
10bb3a541cSmrg// Diacritics with cedillas, as in ISO-8859-2, are no longer supported. This
11bb3a541cSmrg// error has been corrected in ISO-889-16 through using commabelow accents.
12bb3a541cSmrg// Pre-Vista MS compatible layout ("winkeys" variant) generates commabelow
13bb3a541cSmrg// accents too now.
14154daed1Smrg// 
15154daed1Smrg// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
16154daed1Smrg// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
17bb3a541cSmrg// Completed by Dumitru Moldovan, <dumol@gnome.org> (C) 2001, 2004-2008, 2020
18154daed1Smrg
19154daed1Smrg
208157b447Smrgdefault partial alphanumeric_keys
21154daed1Smrgxkb_symbols "basic" {
22154daed1Smrg// This RO_US/Programmers layout, although the secondary layout in the 
23154daed1Smrg// Romanian standard, has always been the "de facto" standard in the 
24154daed1Smrg// Linux/Unix world. It is implemented here as the default layout and it's
259184b9c8Smrg// fully compatible with an US keyboard (Euro on AltGr+5 does not count).
26154daed1Smrg
27154daed1Smrg    include "us"
28154daed1Smrg
29bfd7cbc1Smrg    name[Group1]="Romanian";
30154daed1Smrg
31bb3a541cSmrg    key <AE01> { [            1,      exclam,       dead_tilde              ] };
32bb3a541cSmrg    key <AE02> { [            2,          at,       dead_caron              ] };
33bb3a541cSmrg    key <AE03> { [            3,  numbersign,  dead_circumflex              ] };
34bb3a541cSmrg    key <AE04> { [            4,      dollar,       dead_breve              ] };
35bb3a541cSmrg    key <AE05> { [            5,     percent,   dead_abovering              ] };
36bb3a541cSmrg    key <AE06> { [            6, asciicircum,      dead_ogonek              ] };
37bb3a541cSmrg    key <AE07> { [            7,   ampersand,       dead_grave              ] };
38bb3a541cSmrg    key <AE08> { [            8,    asterisk,    dead_abovedot              ] };
39bb3a541cSmrg    key <AE09> { [            9,   parenleft,       dead_acute              ] };
40bb3a541cSmrg    key <AE10> { [            0,  parenright, dead_doubleacute              ] };
41bb3a541cSmrg    key <AE11> { [        minus,  underscore,   dead_diaeresis,      endash ] };
42bb3a541cSmrg    key <AE12> { [        equal,        plus,     dead_cedilla,   plusminus ] };
43bb3a541cSmrg    key <AD01> { [            q,           Q,      acircumflex, Acircumflex ] };
44bb3a541cSmrg    key <AD02> { [            w,           W,           ssharp,       U1e9e ] };
45bb3a541cSmrg    key <AD03> { [            e,           E,         EuroSign              ] };
46bb3a541cSmrg    key <AD05> { [            t,           T,            U021b,       U021a ] };
47bb3a541cSmrg    key <AD08> { [            i,           I,      icircumflex, Icircumflex ] };
48bb3a541cSmrg    key <AD10> { [            p,           P,          section              ] };
49bb3a541cSmrg    key <AD11> { [  bracketleft,   braceleft, doublelowquotemark            ] };
50bb3a541cSmrg    key <AD12> { [ bracketright,  braceright, rightdoublequotemark          ] };
51bb3a541cSmrg    key <AC01> { [            a,           A,           abreve,      Abreve ] };
52bb3a541cSmrg    key <AC02> { [            s,           S,            U0219,       U0218 ] };
53bb3a541cSmrg    key <AC03> { [            d,           D,          dstroke,     Dstroke ] };
54bb3a541cSmrg    key <AC09> { [            l,           L,          lstroke,     Lstroke ] };
55bb3a541cSmrg    key <LSGT> { [    backslash,         bar                                ] };
56bb3a541cSmrg    key <AB03> { [            c,           C,        copyright              ] };
57bb3a541cSmrg    key <AB08> { [        comma,        less,    guillemotleft              ] };
58bb3a541cSmrg    key <AB09> { [       period,     greater,   guillemotright              ] };
59bb3a541cSmrg
60bb3a541cSmrg    key <KPDL> { [    KP_Delete,  KP_Decimal,    KP_Separator, KP_Separator ] };
61154daed1Smrg
62154daed1Smrg    include "level3(ralt_switch)"
63154daed1Smrg};
64154daed1Smrg
65154daed1Smrg
66154daed1Smrgpartial alphanumeric_keys
67154daed1Smrgxkb_symbols "std" {
68154daed1Smrg    // Primary layout in the new Romanian standard.
69154daed1Smrg    // Implemented here as a variant because of the lack of hardware 
70154daed1Smrg    // Romanian keyboards and because of the predilection of Romanian
71154daed1Smrg    // X users towards the secondary layout from the new standard.
72154daed1Smrg
73154daed1Smrg    include "us"
74154daed1Smrg
75bfd7cbc1Smrg    name[Group1]="Romanian (standard)";
76154daed1Smrg
77154daed1Smrg    key <TLDE> { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] };
78bb3a541cSmrg    key <AE01> { [            1,      exclam,       dead_tilde              ] };
79bb3a541cSmrg    key <AE02> { [            2,          at,       dead_caron              ] };
80bb3a541cSmrg    key <AE03> { [            3,  numbersign,  dead_circumflex              ] };
81bb3a541cSmrg    key <AE04> { [            4,      dollar,       dead_breve              ] };
82bb3a541cSmrg    key <AE05> { [            5,     percent,   dead_abovering              ] };
83bb3a541cSmrg    key <AE06> { [            6, asciicircum,      dead_ogonek              ] };
84bb3a541cSmrg    key <AE07> { [            7,   ampersand,       dead_grave              ] };
85bb3a541cSmrg    key <AE08> { [            8,    asterisk,    dead_abovedot              ] };
86bb3a541cSmrg    key <AE09> { [            9,   parenleft,       dead_acute              ] };
87bb3a541cSmrg    key <AE10> { [            0,  parenright, dead_doubleacute              ] };
88bb3a541cSmrg    key <AE11> { [        minus,  underscore,   dead_diaeresis,      endash ] };
89bb3a541cSmrg    key <AE12> { [        equal,        plus,     dead_cedilla,   plusminus ] };
90bb3a541cSmrg    key <AD03> { [            e,           E,         EuroSign              ] };
91bb3a541cSmrg    key <AD10> { [            p,           P,          section              ] };
92bb3a541cSmrg    key <AD11> { [       abreve,      Abreve,      bracketleft,   braceleft ] };
93bb3a541cSmrg    key <AD12> { [  icircumflex, Icircumflex,     bracketright,  braceright ] };
94bb3a541cSmrg    key <BKSL> { [  acircumflex, Acircumflex,        backslash,         bar ] };
95bb3a541cSmrg    key <AC02> { [            s,           S,           ssharp,       U1e9e ] };
96bb3a541cSmrg    key <AC03> { [            d,           D,          dstroke,     Dstroke ] };
97bb3a541cSmrg    key <AC09> { [            l,           L,          lstroke,     Lstroke ] };
98bb3a541cSmrg    key <AC10> { [        U0219,       U0218,        semicolon,       colon ] };
99bb3a541cSmrg    key <AC11> { [        U021b,       U021a,       apostrophe,    quotedbl ] };
100bb3a541cSmrg    key <LSGT> { [    backslash,         bar                                ] };
101bb3a541cSmrg    key <AB03> { [            c,           C,        copyright              ] };
102bb3a541cSmrg    key <AB08> { [        comma,   semicolon,           less, guillemotleft ] };
103bb3a541cSmrg    key <AB09> { [       period,       colon,       greater, guillemotright ] };
104bb3a541cSmrg
105bb3a541cSmrg    key <KPDL> { [    KP_Delete, KP_Separator,      KP_Decimal,  KP_Decimal ] };
106154daed1Smrg
107154daed1Smrg    include "level3(ralt_switch)"
108154daed1Smrg};
109154daed1Smrg
110154daed1Smrg
111154daed1Smrgpartial alphanumeric_keys
112154daed1Smrgxkb_symbols "winkeys" {
113bb3a541cSmrg    // Romanian (Legacy) QWERTZ keyboard layout, as available on Windows 10,
114bb3a541cSmrg    // but with the correct commabelow accents and the Euro sign on AltGr+e.
115bb3a541cSmrg    // Some Romanian hardware keyboards are still built like this.
116bb3a541cSmrg    // Older Romanian hardware keyboards might be slightly different.
117154daed1Smrg    // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
118bb3a541cSmrg    // Updated by Dumitru Moldovan, <dumol@gnome.org> (C) 2020
119154daed1Smrg
120bb3a541cSmrg    include "us"
121154daed1Smrg
1228157b447Smrg    name[Group1]="Romanian (Windows)";
123154daed1Smrg
124bb3a541cSmrg    key <TLDE> { [ bracketright, bracketleft                                ] };
125bb3a541cSmrg    key <AE01> { [            1,      exclam,       asciitilde              ] };
126bb3a541cSmrg    key <AE02> { [            2,    quotedbl,       dead_caron              ] };
127bb3a541cSmrg    key <AE03> { [            3,  numbersign,  dead_circumflex              ] };
128bb3a541cSmrg    key <AE04> { [            4,    currency,       dead_breve              ] };
129bb3a541cSmrg    key <AE05> { [            5,     percent,   dead_abovering              ] };
130bb3a541cSmrg    key <AE06> { [            6,   ampersand,      dead_ogonek              ] };
131bb3a541cSmrg    key <AE07> { [            7,       slash,       dead_grave              ] };
132bb3a541cSmrg    key <AE08> { [            8,   parenleft,    dead_abovedot              ] };
133bb3a541cSmrg    key <AE09> { [            9,  parenright,       dead_acute              ] };
134bb3a541cSmrg    key <AE10> { [            0,       equal, dead_doubleacute              ] };
135bb3a541cSmrg    key <AE11> { [         plus,    question,   dead_diaeresis              ] };
136bb3a541cSmrg    key <AE12> { [   apostrophe,    asterisk,     dead_cedilla              ] };
137bb3a541cSmrg    key <AD01> { [            q,           Q,        backslash              ] };
138bb3a541cSmrg    key <AD02> { [            w,           W,              bar              ] };
139bb3a541cSmrg    key <AD03> { [            e,           E,         EuroSign              ] };
140bb3a541cSmrg    key <AD06> { [            z,           Z                                ] };
141bb3a541cSmrg    key <AD11> { [       abreve,      Abreve,         division              ] };
142bb3a541cSmrg    key <AD12> { [  icircumflex, Icircumflex,         multiply              ] };
143bb3a541cSmrg    key <AC02> { [            s,           S,          dstroke              ] };
144bb3a541cSmrg    key <AC03> { [            d,           D,          Dstroke              ] };
145bb3a541cSmrg    key <AC08> { [            k,           K,          lstroke              ] };
146bb3a541cSmrg    key <AC09> { [            l,           L,          Lstroke              ] };
147bb3a541cSmrg    key <AC10> { [        U0219,       U0218,           dollar              ] };
148bb3a541cSmrg    key <AC11> { [        U021b,       U021a,           ssharp              ] };
149bb3a541cSmrg    key <BKSL> { [  acircumflex, Acircumflex                                ] };
150bb3a541cSmrg    key <LSGT> { [         less,     greater                                ] };
151bb3a541cSmrg    key <AB01> { [            y,           Y                                ] };
152bb3a541cSmrg    key <AB04> { [            v,           V,               at              ] };
153bb3a541cSmrg    key <AB05> { [            b,           B,        braceleft              ] };
154bb3a541cSmrg    key <AB06> { [            n,           N,       braceright              ] };
155bb3a541cSmrg    key <AB07> { [            m,           M,          section              ] };
156bb3a541cSmrg    key <AB08> { [        comma,   semicolon,             less              ] };
157bb3a541cSmrg    key <AB09> { [       period,       colon,          greater              ] };
158bb3a541cSmrg    key <AB10> { [        minus,  underscore                                ] };
159bb3a541cSmrg
160bb3a541cSmrg    key <KPDL> { [    KP_Delete, KP_Separator,      KP_Decimal,  KP_Decimal ] };
161154daed1Smrg
162154daed1Smrg    include "level3(ralt_switch)"
163154daed1Smrg};
164c067fea9Sghen
165bb3a541cSmrg
166bb3a541cSmrg// EXTRAS:
167bb3a541cSmrg
168bb3a541cSmrg
169c067fea9Sghenpartial
170bfd7cbc1Smrgxkb_symbols "crh_dobruja" {
171bfd7cbc1Smrg    // Romania-specific Crimean Tatar (Crimean Turkish) Q layout.
172bfd7cbc1Smrg    // This layout is not yet standard. Common Alt-Q and F layouts are now also 
173bfd7cbc1Smrg    // available right next to this layout in the new language-centric UI.
174bfd7cbc1Smrg    // Reşat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011
175bfd7cbc1Smrg    // Özgür Qarahan <qarahan @ gmail . com>, 2009
176c067fea9Sghen
17746185892Smrg    include "ua(crh)"
178c067fea9Sghen
179bfd7cbc1Smrg    name[Group1]="Crimean Tatar (Dobruja Q)";
180c067fea9Sghen
181bb3a541cSmrg    key <AD02> { [            w,           W,           abreve,       Abreve ] };
182bb3a541cSmrg    key <AD05> { [            t,           T,            U021b,        U021a ] };
183bb3a541cSmrg    key <AD10> { [            p,           P,          section               ] };
184bb3a541cSmrg    key <AC02> { [            s,           S,            U0219,        U0218 ] };
185bb3a541cSmrg    key <AC07> { [       ibreve,      Ibreve,                j,            J ] };
186bb3a541cSmrg    key <AB07> { [            m,           M,        trademark,    masculine ] };
187c067fea9Sghen};
188c067fea9Sghen
189c067fea9Sghen
190bfd7cbc1Smrgpartial alphanumeric_keys
191bfd7cbc1Smrgxkb_symbols "ergonomic" {
192bfd7cbc1Smrg    // This layout is optimized for fast touch-typing in Romanian on a
193bfd7cbc1Smrg    // US keyboard, and works by swapping out symbols infrequently used
194bfd7cbc1Smrg    // in written Romanian (q,w,y,k) in favor of native ones, thus reducing
195bfd7cbc1Smrg    // the need to use modifier keys.
196bfd7cbc1Smrg    // Created by Gabriel Somlo, <somlo@cmu.edu> (C) 2011
197c067fea9Sghen
198bfd7cbc1Smrg    include "ro(basic)"
199c067fea9Sghen
200bfd7cbc1Smrg    name[Group1]="Romanian (ergonomic Touchtype)";
201c067fea9Sghen
202bb3a541cSmrg    key <AD01> { [       abreve,      Abreve,                q,           Q ] };
203bb3a541cSmrg    key <AD02> { [        U0219,       U0218,                w,           W ] };
204bb3a541cSmrg    key <AD06> { [        U021b,       U021a,                y,           Y ] };
205bb3a541cSmrg    key <AC01> { [            a,           A,      acircumflex, Acircumflex ] };
206bb3a541cSmrg    key <AC08> { [  icircumflex, Icircumflex,                k,           K ] };
207c067fea9Sghen};
208c067fea9Sghen
2090412cdedSmrg
2100412cdedSmrgpartial alphanumeric_keys
211bb3a541cSmrgxkb_symbols "sun_type6" {
212bb3a541cSmrg    include "sun_vndr/ro(sun_type6)"
2130412cdedSmrg};
214