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