summaryrefslogtreecommitdiff
path: root/symbols/ro
blob: b5302c100007b7ce9031e9004ec5a5123e1dbb60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
// Keyboard layouts for Romania.

// The first two layouts conform to the Romanian standard SR 13392:2004,
// adopted in 2004 by ASRO, "Asociația de Standardizare din România".
//
// The default layout is the Programmers layout because keyboards that are
// engraved according to the primary layout from the standard are lacking.
// The "std" variant, further down, implements the primary layout.
//
// Diacritics with cedillas, as in ISO-8859-2, are no longer supported. This
// error has been corrected in ISO-889-16 through using commabelow accents.
// Pre-Vista MS-compatible layout ("winkeys" variant) generates commabelow
// accents too now.
//
// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000
// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001
// Completed by Dumitru Moldovan, <dumol@gnome.org> (C) 2001, 2004-2008, 2020


default partial alphanumeric_keys
xkb_symbols "basic" {

    // This Programmers/RO_US layout has always been the "de facto" standard
    // in the Linux/Unix world, and is therefore the default here, although
    // it is the secondary layout in the Romanian standard.  It is fully
    // compatible with a US keyboard (ignoring the Euro on AltGr+5).

    include "us"

    name[Group1]="Romanian";

    key <AE01>	{[            1,      exclam,       dead_tilde              ]};
    key <AE02>	{[            2,          at,       dead_caron              ]};
    key <AE03>	{[            3,  numbersign,  dead_circumflex              ]};
    key <AE04>	{[            4,      dollar,       dead_breve              ]};
    key <AE05>	{[            5,     percent,   dead_abovering              ]};
    key <AE06>	{[            6, asciicircum,      dead_ogonek              ]};
    key <AE07>	{[            7,   ampersand,       dead_grave              ]};
    key <AE08>	{[            8,    asterisk,    dead_abovedot              ]};
    key <AE09>	{[            9,   parenleft,       dead_acute              ]};
    key <AE10>	{[            0,  parenright, dead_doubleacute              ]};
    key <AE11>	{[        minus,  underscore,   dead_diaeresis,      endash ]};
    key <AE12>	{[        equal,        plus,     dead_cedilla,   plusminus ]};

    key <AD01>	{[            q,           Q,      acircumflex, Acircumflex ]};
    key <AD02>	{[            w,           W,           ssharp,       U1e9e ]};
    key <AD03>	{[            e,           E,         EuroSign              ]};
    key <AD05>	{[            t,           T,            U021b,       U021a ]}; // ț Ț
    key <AD08>	{[            i,           I,      icircumflex, Icircumflex ]};
    key <AD10>	{[            p,           P,          section              ]};
    key <AD11>	{[  bracketleft,   braceleft, doublelowquotemark            ]};
    key <AD12>	{[ bracketright,  braceright, rightdoublequotemark          ]};

    key <AC01>	{[            a,           A,           abreve,      Abreve ]};
    key <AC02>	{[            s,           S,            U0219,       U0218 ]}; // ș Ș
    key <AC03>	{[            d,           D,          dstroke,     Dstroke ]};
    key <AC09>	{[            l,           L,          lstroke,     Lstroke ]};

    key <LSGT>	{[    backslash,         bar                                ]};
    key <AB03>	{[            c,           C,        copyright              ]};
    key <AB08>	{[        comma,        less,    guillemotleft              ]};
    key <AB09>	{[       period,     greater,   guillemotright              ]};

    key <KPDL>	{[    KP_Delete,  KP_Decimal,    KP_Separator, KP_Separator ]};

    include "level3(ralt_switch)"
};


partial alphanumeric_keys
xkb_symbols "std" {

    // Primary layout in the Romanian standard, implemented here as a variant
    // because Romanian users prefer the secondary layout of the standard.

    include "us"

    name[Group1]="Romanian (standard)";

    key <TLDE>	{[doublelowquotemark,rightdoublequotemark, grave, asciitilde]};
    key <AE01>	{[            1,      exclam,       dead_tilde              ]};
    key <AE02>	{[            2,          at,       dead_caron              ]};
    key <AE03>	{[            3,  numbersign,  dead_circumflex              ]};
    key <AE04>	{[            4,      dollar,       dead_breve              ]};
    key <AE05>	{[            5,     percent,   dead_abovering              ]};
    key <AE06>	{[            6, asciicircum,      dead_ogonek              ]};
    key <AE07>	{[            7,   ampersand,       dead_grave              ]};
    key <AE08>	{[            8,    asterisk,    dead_abovedot              ]};
    key <AE09>	{[            9,   parenleft,       dead_acute              ]};
    key <AE10>	{[            0,  parenright, dead_doubleacute              ]};
    key <AE11>	{[        minus,  underscore,   dead_diaeresis,      endash ]};
    key <AE12>	{[        equal,        plus,     dead_cedilla,   plusminus ]};

    key <AD03>	{[            e,           E,         EuroSign              ]};
    key <AD10>	{[            p,           P,          section              ]};
    key <AD11>	{[       abreve,      Abreve,      bracketleft,   braceleft ]};
    key <AD12>	{[  icircumflex, Icircumflex,     bracketright,  braceright ]};
    key <BKSL>	{[  acircumflex, Acircumflex,        backslash,         bar ]};

    key <AC02>	{[            s,           S,           ssharp,       U1e9e ]};
    key <AC03>	{[            d,           D,          dstroke,     Dstroke ]};
    key <AC09>	{[            l,           L,          lstroke,     Lstroke ]};
    key <AC10>	{[        U0219,       U0218,        semicolon,       colon ]}; // ș Ș
    key <AC11>	{[        U021b,       U021a,       apostrophe,    quotedbl ]}; // ț Ț

    key <LSGT>	{[    backslash,         bar                                ]};
    key <AB03>	{[            c,           C,        copyright              ]};
    key <AB08>	{[        comma,   semicolon,           less, guillemotleft ]};
    key <AB09>	{[       period,       colon,       greater, guillemotright ]};

    key <KPDL>	{[    KP_Delete, KP_Separator,      KP_Decimal,  KP_Decimal ]};

    include "level3(ralt_switch)"
};


partial alphanumeric_keys
xkb_symbols "winkeys" {

    // Romanian (legacy) QWERTZ keyboard layout, as available on Windows 10,
    // but with the correct commabelow accents and the Euro sign on AltGr+e.
    // Some Romanian hardware keyboards are still built like this.
    // Older Romanian hardware keyboards might be slightly different.
    // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003
    // Updated by Dumitru Moldovan, <dumol@gnome.org> (C) 2020

    include "us"

    name[Group1]="Romanian (Windows)";

    key <TLDE>	{[ bracketright, bracketleft                                ]};
    key <AE01>	{[            1,      exclam,       asciitilde              ]};
    key <AE02>	{[            2,    quotedbl,       dead_caron              ]};
    key <AE03>	{[            3,  numbersign,  dead_circumflex              ]};
    key <AE04>	{[            4,    currency,       dead_breve              ]};
    key <AE05>	{[            5,     percent,   dead_abovering              ]};
    key <AE06>	{[            6,   ampersand,      dead_ogonek              ]};
    key <AE07>	{[            7,       slash,       dead_grave              ]};
    key <AE08>	{[            8,   parenleft,    dead_abovedot              ]};
    key <AE09>	{[            9,  parenright,       dead_acute              ]};
    key <AE10>	{[            0,       equal, dead_doubleacute              ]};
    key <AE11>	{[         plus,    question,   dead_diaeresis              ]};
    key <AE12>	{[   apostrophe,    asterisk,     dead_cedilla              ]};

    key <AD01>	{[            q,           Q,        backslash              ]};
    key <AD02>	{[            w,           W,              bar              ]};
    key <AD03>	{[            e,           E,         EuroSign              ]};
    key <AD06>	{[            z,           Z                                ]};
    key <AD11>	{[       abreve,      Abreve,         division              ]};
    key <AD12>	{[  icircumflex, Icircumflex,         multiply              ]};

    key <AC02>	{[            s,           S,          dstroke              ]};
    key <AC03>	{[            d,           D,          Dstroke              ]};
    key <AC08>	{[            k,           K,          lstroke              ]};
    key <AC09>	{[            l,           L,          Lstroke              ]};
    key <AC10>	{[        U0219,       U0218,           dollar              ]}; // ș Ș
    key <AC11>	{[        U021b,       U021a,           ssharp              ]}; // ț Ț
    key <BKSL>	{[  acircumflex, Acircumflex                                ]};

    key <LSGT>	{[         less,     greater                                ]};
    key <AB01>	{[            y,           Y                                ]};
    key <AB04>	{[            v,           V,               at              ]};
    key <AB05>	{[            b,           B,        braceleft              ]};
    key <AB06>	{[            n,           N,       braceright              ]};
    key <AB07>	{[            m,           M,          section              ]};
    key <AB08>	{[        comma,   semicolon,             less              ]};
    key <AB09>	{[       period,       colon,          greater              ]};
    key <AB10>	{[        minus,  underscore                                ]};

    key <KPDL>	{[    KP_Delete, KP_Separator,      KP_Decimal,  KP_Decimal ]};

    include "level3(ralt_switch)"
};


// EXTRAS:


partial
xkb_symbols "crh_dobruja" {
    // Romania-specific Crimean Tatar (Crimean Turkish) Q layout, not yet standard.
    // Reşat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011
    // Özgür Qarahan <qarahan @ gmail . com>, 2009

    include "ua(crh)"

    name[Group1]="Crimean Tatar (Dobruja Q)";

    key <AD02>	{[            w,           W,           abreve,      Abreve ]};
    key <AD05>	{[            t,           T,            U021b,       U021a ]}; // ț Ț
    key <AD10>	{[            p,           P,          section              ]};
    key <AC02>	{[            s,           S,            U0219,       U0218 ]}; // ș Ș
    key <AC07>	{[       ibreve,      Ibreve,                j,           J ]};
    key <AB07>	{[            m,           M,        trademark,   masculine ]};
};


partial alphanumeric_keys
xkb_symbols "ergonomic" {
    // This layout is optimized for fast touch-typing in Romanian on a
    // US keyboard, and works by swapping out symbols infrequently used
    // in written Romanian (q, w, y, k) in favor of native ones, thus
    // reducing the need to use modifier keys.
    // Created by Gabriel Somlo, <somlo@cmu.edu> (C) 2011

    include "ro(basic)"

    name[Group1]="Romanian (ergonomic Touchtype)";

    key <AD01>	{[       abreve,      Abreve,                q,           Q ]};
    key <AD02>	{[        U0219,       U0218,                w,           W ]};
    key <AD06>	{[        U021b,       U021a,                y,           Y ]};
    key <AC01>	{[            a,           A,      acircumflex, Acircumflex ]};
    key <AC08>	{[  icircumflex, Icircumflex,                k,           K ]};
};


partial alphanumeric_keys
xkb_symbols "sun_type6" {
    include "sun_vndr/ro(sun_type6)"
};