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 Programmers layout (also known as RO_US) because 7// of the lack of Romanian hardware keyboards. The primary standard layout is 8// implemented as the "std" variant. 9// 10// Diacritics with cedillas, as in ISO-8859-2, are no longer supported. This 11// error has been corrected in ISO-889-16 through using commabelow accents. 12// Pre-Vista MS compatible layout ("winkeys" variant) generates commabelow 13// accents too now. 14// 15// Created by Cristian Gafton, <gafton@redhat.com> (C) 2000 16// Modified by Marius Andreiana, <mandreiana@yahoo.com> (C) 2001 17// Completed by Dumitru Moldovan, <dumol@gnome.org> (C) 2001, 2004-2008, 2020 18 19 20default partial alphanumeric_keys 21xkb_symbols "basic" { 22// This RO_US/Programmers layout, although the secondary layout in the 23// Romanian standard, has always been the "de facto" standard in the 24// Linux/Unix world. It is implemented here as the default layout and it's 25// fully compatible with an US keyboard (Euro on AltGr+5 does not count). 26 27 include "us" 28 29 name[Group1]="Romanian"; 30 31 key <AE01> { [ 1, exclam, dead_tilde ] }; 32 key <AE02> { [ 2, at, dead_caron ] }; 33 key <AE03> { [ 3, numbersign, dead_circumflex ] }; 34 key <AE04> { [ 4, dollar, dead_breve ] }; 35 key <AE05> { [ 5, percent, dead_abovering ] }; 36 key <AE06> { [ 6, asciicircum, dead_ogonek ] }; 37 key <AE07> { [ 7, ampersand, dead_grave ] }; 38 key <AE08> { [ 8, asterisk, dead_abovedot ] }; 39 key <AE09> { [ 9, parenleft, dead_acute ] }; 40 key <AE10> { [ 0, parenright, dead_doubleacute ] }; 41 key <AE11> { [ minus, underscore, dead_diaeresis, endash ] }; 42 key <AE12> { [ equal, plus, dead_cedilla, plusminus ] }; 43 key <AD01> { [ q, Q, acircumflex, Acircumflex ] }; 44 key <AD02> { [ w, W, ssharp, U1e9e ] }; 45 key <AD03> { [ e, E, EuroSign ] }; 46 key <AD05> { [ t, T, U021b, U021a ] }; 47 key <AD08> { [ i, I, icircumflex, Icircumflex ] }; 48 key <AD10> { [ p, P, section ] }; 49 key <AD11> { [ bracketleft, braceleft, doublelowquotemark ] }; 50 key <AD12> { [ bracketright, braceright, rightdoublequotemark ] }; 51 key <AC01> { [ a, A, abreve, Abreve ] }; 52 key <AC02> { [ s, S, U0219, U0218 ] }; 53 key <AC03> { [ d, D, dstroke, Dstroke ] }; 54 key <AC09> { [ l, L, lstroke, Lstroke ] }; 55 key <LSGT> { [ backslash, bar ] }; 56 key <AB03> { [ c, C, copyright ] }; 57 key <AB08> { [ comma, less, guillemotleft ] }; 58 key <AB09> { [ period, greater, guillemotright ] }; 59 60 key <KPDL> { [ KP_Delete, KP_Decimal, KP_Separator, KP_Separator ] }; 61 62 include "level3(ralt_switch)" 63}; 64 65 66partial alphanumeric_keys 67xkb_symbols "std" { 68 // Primary layout in the new Romanian standard. 69 // Implemented here as a variant because of the lack of hardware 70 // Romanian keyboards and because of the predilection of Romanian 71 // X users towards the secondary layout from the new standard. 72 73 include "us" 74 75 name[Group1]="Romanian (standard)"; 76 77 key <TLDE> { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] }; 78 key <AE01> { [ 1, exclam, dead_tilde ] }; 79 key <AE02> { [ 2, at, dead_caron ] }; 80 key <AE03> { [ 3, numbersign, dead_circumflex ] }; 81 key <AE04> { [ 4, dollar, dead_breve ] }; 82 key <AE05> { [ 5, percent, dead_abovering ] }; 83 key <AE06> { [ 6, asciicircum, dead_ogonek ] }; 84 key <AE07> { [ 7, ampersand, dead_grave ] }; 85 key <AE08> { [ 8, asterisk, dead_abovedot ] }; 86 key <AE09> { [ 9, parenleft, dead_acute ] }; 87 key <AE10> { [ 0, parenright, dead_doubleacute ] }; 88 key <AE11> { [ minus, underscore, dead_diaeresis, endash ] }; 89 key <AE12> { [ equal, plus, dead_cedilla, plusminus ] }; 90 key <AD03> { [ e, E, EuroSign ] }; 91 key <AD10> { [ p, P, section ] }; 92 key <AD11> { [ abreve, Abreve, bracketleft, braceleft ] }; 93 key <AD12> { [ icircumflex, Icircumflex, bracketright, braceright ] }; 94 key <BKSL> { [ acircumflex, Acircumflex, backslash, bar ] }; 95 key <AC02> { [ s, S, ssharp, U1e9e ] }; 96 key <AC03> { [ d, D, dstroke, Dstroke ] }; 97 key <AC09> { [ l, L, lstroke, Lstroke ] }; 98 key <AC10> { [ U0219, U0218, semicolon, colon ] }; 99 key <AC11> { [ U021b, U021a, apostrophe, quotedbl ] }; 100 key <LSGT> { [ backslash, bar ] }; 101 key <AB03> { [ c, C, copyright ] }; 102 key <AB08> { [ comma, semicolon, less, guillemotleft ] }; 103 key <AB09> { [ period, colon, greater, guillemotright ] }; 104 105 key <KPDL> { [ KP_Delete, KP_Separator, KP_Decimal, KP_Decimal ] }; 106 107 include "level3(ralt_switch)" 108}; 109 110 111partial alphanumeric_keys 112xkb_symbols "winkeys" { 113 // Romanian (Legacy) QWERTZ keyboard layout, as available on Windows 10, 114 // but with the correct commabelow accents and the Euro sign on AltGr+e. 115 // Some Romanian hardware keyboards are still built like this. 116 // Older Romanian hardware keyboards might be slightly different. 117 // Created by Manfred Pohler, <Manfred.Pohler@t-online.de> (C) 2003 118 // Updated by Dumitru Moldovan, <dumol@gnome.org> (C) 2020 119 120 include "us" 121 122 name[Group1]="Romanian (Windows)"; 123 124 key <TLDE> { [ bracketright, bracketleft ] }; 125 key <AE01> { [ 1, exclam, asciitilde ] }; 126 key <AE02> { [ 2, quotedbl, dead_caron ] }; 127 key <AE03> { [ 3, numbersign, dead_circumflex ] }; 128 key <AE04> { [ 4, currency, dead_breve ] }; 129 key <AE05> { [ 5, percent, dead_abovering ] }; 130 key <AE06> { [ 6, ampersand, dead_ogonek ] }; 131 key <AE07> { [ 7, slash, dead_grave ] }; 132 key <AE08> { [ 8, parenleft, dead_abovedot ] }; 133 key <AE09> { [ 9, parenright, dead_acute ] }; 134 key <AE10> { [ 0, equal, dead_doubleacute ] }; 135 key <AE11> { [ plus, question, dead_diaeresis ] }; 136 key <AE12> { [ apostrophe, asterisk, dead_cedilla ] }; 137 key <AD01> { [ q, Q, backslash ] }; 138 key <AD02> { [ w, W, bar ] }; 139 key <AD03> { [ e, E, EuroSign ] }; 140 key <AD06> { [ z, Z ] }; 141 key <AD11> { [ abreve, Abreve, division ] }; 142 key <AD12> { [ icircumflex, Icircumflex, multiply ] }; 143 key <AC02> { [ s, S, dstroke ] }; 144 key <AC03> { [ d, D, Dstroke ] }; 145 key <AC08> { [ k, K, lstroke ] }; 146 key <AC09> { [ l, L, Lstroke ] }; 147 key <AC10> { [ U0219, U0218, dollar ] }; 148 key <AC11> { [ U021b, U021a, ssharp ] }; 149 key <BKSL> { [ acircumflex, Acircumflex ] }; 150 key <LSGT> { [ less, greater ] }; 151 key <AB01> { [ y, Y ] }; 152 key <AB04> { [ v, V, at ] }; 153 key <AB05> { [ b, B, braceleft ] }; 154 key <AB06> { [ n, N, braceright ] }; 155 key <AB07> { [ m, M, section ] }; 156 key <AB08> { [ comma, semicolon, less ] }; 157 key <AB09> { [ period, colon, greater ] }; 158 key <AB10> { [ minus, underscore ] }; 159 160 key <KPDL> { [ KP_Delete, KP_Separator, KP_Decimal, KP_Decimal ] }; 161 162 include "level3(ralt_switch)" 163}; 164 165 166// EXTRAS: 167 168 169partial 170xkb_symbols "crh_dobruja" { 171 // Romania-specific Crimean Tatar (Crimean Turkish) Q layout. 172 // This layout is not yet standard. Common Alt-Q and F layouts are now also 173 // available right next to this layout in the new language-centric UI. 174 // Reşat SABIQ <tilde.birlik @ gmail . com>, 2009, 2011 175 // Özgür Qarahan <qarahan @ gmail . com>, 2009 176 177 include "ua(crh)" 178 179 name[Group1]="Crimean Tatar (Dobruja Q)"; 180 181 key <AD02> { [ w, W, abreve, Abreve ] }; 182 key <AD05> { [ t, T, U021b, U021a ] }; 183 key <AD10> { [ p, P, section ] }; 184 key <AC02> { [ s, S, U0219, U0218 ] }; 185 key <AC07> { [ ibreve, Ibreve, j, J ] }; 186 key <AB07> { [ m, M, trademark, masculine ] }; 187}; 188 189 190partial alphanumeric_keys 191xkb_symbols "ergonomic" { 192 // This layout is optimized for fast touch-typing in Romanian on a 193 // US keyboard, and works by swapping out symbols infrequently used 194 // in written Romanian (q,w,y,k) in favor of native ones, thus reducing 195 // the need to use modifier keys. 196 // Created by Gabriel Somlo, <somlo@cmu.edu> (C) 2011 197 198 include "ro(basic)" 199 200 name[Group1]="Romanian (ergonomic Touchtype)"; 201 202 key <AD01> { [ abreve, Abreve, q, Q ] }; 203 key <AD02> { [ U0219, U0218, w, W ] }; 204 key <AD06> { [ U021b, U021a, y, Y ] }; 205 key <AC01> { [ a, A, acircumflex, Acircumflex ] }; 206 key <AC08> { [ icircumflex, Icircumflex, k, K ] }; 207}; 208 209 210partial alphanumeric_keys 211xkb_symbols "sun_type6" { 212 include "sun_vndr/ro(sun_type6)" 213}; 214