// // Complete set of Romanian keyboards as described in the new Romanian standard // SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare // din Romania". // // The default mapping is the RO_US/Programmers layout because of the lack of // Romanian hardware keyboards. The primary standard layout is implemented as // the "std" variant. If you're determined to get cedillas as in ISO-8859-2 // (and not commabelow accents as in ISO-8859-16) use the defined variants // "cedilla" for the default layout or "std_cedilla" for the standard one. // Pre-Vista MS compatible layout included (use the "winkeys" variant). // // Created by Cristian Gafton, (C) 2000 // Modified by Marius Andreiana, (C) 2001 // Completed by Misu Moldovan, (C) 2001, 2004-2008. // v 1.4 default partial alphanumeric_keys xkb_symbols "basic" { // This RO_US/Programmers layout, although the secondary layout in the // Romanian standard, has always been the "de facto" standard in the // Linux/Unix world. It is implemented here as the default layout and it's // fully compatible with an US keyboard (Euro on AltGr+5 doesn't count). include "us" name[Group1]="Romanian"; key { [ 1, exclam, dead_tilde ] }; key { [ 2, at, dead_caron ] }; key { [ 3, numbersign, dead_circumflex ] }; key { [ 4, dollar, dead_breve ] }; key { [ 5, percent, dead_abovering ] }; key { [ 6, asciicircum, dead_ogonek ] }; key { [ 7, ampersand, dead_grave ] }; key { [ 8, asterisk, dead_abovedot ] }; key { [ 9, parenleft, dead_acute ] }; key { [ 0, parenright, dead_doubleacute ] }; key { [ minus, underscore, dead_diaeresis, endash ] }; key { [ equal, plus, dead_cedilla, plusminus ] }; key { [ q, Q, acircumflex, Acircumflex ] }; key { [ w, W, ssharp ] }; key { [ e, E, EuroSign ] }; key { [ t, T, 0x100021b, 0x100021a ] }; key { [ i, I, icircumflex, Icircumflex ] }; key { [ p, P, section ] }; key { [ bracketleft, braceleft, doublelowquotemark ] }; key { [ bracketright, braceright, rightdoublequotemark ] }; key { [ a, A, abreve, Abreve ] }; key { [ s, S, 0x1000219, 0x1000218 ] }; key { [ d, D, dstroke, Dstroke ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ backslash, bar ] }; key { [ c, C, copyright ] }; key { [ comma, less, guillemotleft ] }; key { [ period, greater, guillemotright ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "cedilla" { // Variant of the basic layout with cedillas. // Implements S and T with cedilllas as in ISO-8859-2. // Included for compatibility reasons (this used to be the def variant). include "ro(basic)" name[Group1]="Romanian (cedilla)"; key { [ t, T, tcedilla, Tcedilla ] }; key { [ s, S, scedilla, Scedilla ] }; }; partial alphanumeric_keys xkb_symbols "std" { // Primary layout in the new Romanian standard. // Implemented here as a variant because of the lack of hardware // Romanian keyboards and because of the predilection of Romanian // X users towards the secondary layout from the new standard. include "us" name[Group1]="Romanian (standard)"; key { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] }; key { [ 1, exclam, dead_tilde ] }; key { [ 2, at, dead_caron ] }; key { [ 3, numbersign, dead_circumflex ] }; key { [ 4, dollar, dead_breve ] }; key { [ 5, percent, dead_abovering ] }; key { [ 6, asciicircum, dead_ogonek ] }; key { [ 7, ampersand, dead_grave ] }; key { [ 8, asterisk, dead_abovedot ] }; key { [ 9, parenleft, dead_acute ] }; key { [ 0, parenright, dead_doubleacute ] }; key { [ minus, underscore, dead_diaeresis, endash ] }; key { [ equal, plus, dead_cedilla, plusminus ] }; key { [ e, E, EuroSign ] }; key { [ p, P, section ] }; key { [ abreve, Abreve, bracketleft, braceleft ] }; key { [ icircumflex, Icircumflex, bracketright, braceright ] }; key { [ acircumflex, Acircumflex, backslash, bar ] }; key { [ s, S, ssharp ] }; key { [ d, D, dstroke, Dstroke ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ 0x1000219, 0x1000218, semicolon, colon ] }; key { [ 0x100021b, 0x100021a, apostrophe, quotedbl ] }; key { [ backslash, bar ] }; key { [ c, C, copyright ] }; key { [ comma, semicolon, less, guillemotleft ] }; key { [ period, colon, greater, guillemotright ] }; key { [ KP_Delete, KP_Separator ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "std_cedilla" { // Variant of the "std" layout using cedillas instead of commas. // It implements S and T with cedillas as in ISO-8859-2. // Included for compatibility reasons. include "ro(std)" name[Group1]="Romanian (standard cedilla)"; key { [ scedilla, Scedilla ] }; key { [ tcedilla, Tcedilla ] }; }; partial alphanumeric_keys xkb_symbols "winkeys" { // Describes the differences between a very simple US/ASCII // keyboard and a simple Romanian keyboard. // Created by Manfred Pohler, (C) 2003 include "latin" name[Group1]="Romanian (WinKeys)"; key { [ bracketright, bracketleft ] }; key { [ 1, exclam, asciitilde, asciitilde ] }; key { [ 2, quotedbl, at, at ] }; key { [ 3, numbersign, asciicircum,asciicircum ] }; key { [ 4, currency ] }; key { [ 5, percent, degree, degree ] }; key { [ 6, ampersand ] }; key { [ 7, slash, grave, grave ] }; key { [ 8, parenleft ] }; key { [ 9, parenright ] }; key { [ 0, equal ] }; key { [ plus, question ] }; key { [ apostrophe, asterisk ] }; key { [ q, Q, backslash, backslash ] }; key { [ w, W, bar, bar ] }; key { [ e, E, EuroSign, EuroSign ] }; key { [ t, T ] }; key { [ z, Z ] }; key { [ u, U ] }; key { [ i, I ] }; key { [ abreve, Abreve, division, division ] }; key { [ icircumflex, Icircumflex, multiply, multiply ] }; key { [ f, F ] }; key { [ g, G ] }; key { [ scedilla, Scedilla, dollar, dollar ] }; key { [ tcedilla, Tcedilla, ssharp, ssharp ] }; key { [ y, Y ] }; key { [ b, B, braceleft, braceleft ] }; key { [ n, N, braceright, braceright ] }; key { [ m, M, section, section ] }; key { [ comma, semicolon, less, less ] }; key { [ period, colon, greater, greater ] }; key { [ minus, underscore ] }; key { [ acircumflex, Acircumflex ] }; include "kpdl(comma)" include "level3(ralt_switch)" }; partial xkb_symbols "crh_dobruja" { // Romania-specific Crimean Tatar (Crimean Turkish) Q layout. // This layout is not yet standard. Common Alt-Q and F layouts are now also // available right next to this layout in the new language-centric UI. // Reşat SABIQ , 2009, 2011 // Özgür Qarahan , 2009 include "tr(crh)" name[Group1]="Crimean Tatar (Dobruja Q)"; key { [ w, W, abreve, Abreve ] }; key { [ t, T, 0x100021b, 0x100021a ] }; key { [ p, P, section ] }; key { [ s, S, 0x1000219, 0x1000218 ] }; key { [ ibreve, Ibreve, j, J ] }; key { [ m, M, trademark, masculine ] }; }; // EXTRAS: 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, (C) 2011 include "ro(basic)" name[Group1]="Romanian (ergonomic Touchtype)"; key { [ abreve, Abreve, q, Q ] }; key { [ 0x1000219, 0x1000218, w, W ] }; key { [ 0x100021b, 0x100021a, y, Y ] }; key { [ a, A, acircumflex, Acircumflex ] }; key { [ icircumflex, Icircumflex, k, K ] }; }; partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/ro(sun_type6)" }; // --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/ro // Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Romanian. // 2006-01-01 Shai Coleman, http://colemak.com/ // See the Colemak forum topic on Cmk[eD] locales: http://forum.colemak.com/viewtopic.php?id=1458 // The 'keep local symbols' variant keeps the national symbol and special letter setup. partial alphanumeric_keys xkb_symbols "cmk_ed_ks" { include "ro(basic)" include "colemak(cmk_ed_letters)" name[Group1]= "Romanian (Colemak[eD], keep local symbols)"; // NOTE: Symbols on letter keys may be lost in cmk_ed_ks if they are not on Colemak[eD] letter keys. // EuroSign is often on 'E'. The latin(intl) and locale(winkeys) layout variants use '5'. // Colemak[eD] has EuroSign on 'E' and mu on '5'. // key { [ NoSymbol, NoSymbol, mu, dead_abovering ] }; // key { [ NoSymbol, NoSymbol, EuroSign, dead_abovering ] }; // dead_abovering is moved key { [ semicolon, colon, dead_diaeresis, ellipsis ] }; // Colemak[eD] // NOTE: The Romanian standard layout has its locale letters on AltGr letter keys. Some have been converted here. key { [ q, Q, acircumflex, Acircumflex ] }; key { [ w, W, ssharp, any ] }; key { [ p, P, section, any ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ a, A, abreve, Abreve ] }; key { [ s, S, 0x1000219, 0x1000218 ] }; key { [ t, T, 0x100021b, 0x100021a ] }; key { [ d, D, dstroke, Dstroke ] }; key { [ i, I, icircumflex, Icircumflex ] }; }; // The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard. // For Romanian, necessary local letters are added to designated flexible spots in the layout. // For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown. partial alphanumeric_keys xkb_symbols "cmk_ed_us" { include "colemak(cmk_ed_letters)" include "colemak(cmk_ed_symbols)" include "level3(ralt_switch)" name[Group1]= "Romanian (Colemak[eD], unified symbols)"; // NEEDED: Circumflex A/I; breve A/I (the I for Crimean Tatars); commabelow S/T; stroke D/L (?) // Romanian letter frequencies: ă 2.3%(?); î 1.4%(?); others < 0.1%(?) (şţâ...). In ro(basic), all are lv3-4. // NOTE: Commabelow, not cedilla, is correct for S/T. The dead_cedilla key can produce the latter if desired. // key { [ bracketleft, braceleft, abreve, Abreve ] }; // key { [ bracketright, braceright, icircumflex, Icircumflex ] }; key { [ abreve, Abreve, bracketleft, braceleft ] }; // from 'a' key { [ icircumflex, Icircumflex, bracketright, braceright ] }; // from 'i' key { [ acircumflex, Acircumflex, oe, OE ] }; // from 'q' key { [ s, S, 0x1000219, 0x1000218 ] }; // comma-s from 's' key { [ t, T, 0x100021b, 0x100021a ] }; // comma-t from 't' key { [ d, D, dstroke, Dstroke ] }; // from 'd' // NOTE: The Curl(DH) ergo mod moves H and K, which may interfere with these mappings. key { [ h, H, ssharp, section ] }; // from Cmk[eD] 's' key { [ k, K, ibreve, Ibreve ] }; // Crimean Tatar key { [ l, L, lstroke, Lstroke ] }; // from 'l' }; // <-- DreymaR: Additions to xkb/symbols/ro