diff -Naur xkbdesc.orig/rules/base.xml.in xkbdesc/rules/base.xml.in --- xkbdesc.orig/rules/base.xml.in 2005-08-26 00:53:43.000000000 +0300 +++ xkbdesc/rules/base.xml.in 2005-09-04 21:18:15.000000000 +0300 @@ -1763,13 +1763,13 @@ us - <_description>US keyboard with Romanian letters + <_description>Romanian standard keyboard de - <_description>Romanian keyboard with German letters + <_description>Romanian keyboard with MS layout diff -Naur xkbdesc.orig/symbols/ro xkbdesc/symbols/ro --- xkbdesc.orig/symbols/ro 2005-08-01 01:59:03.000000000 +0300 +++ xkbdesc/symbols/ro 2005-09-04 21:36:42.000000000 +0300 @@ -1,100 +1,194 @@ // $XKeyboardConfig: xkbdesc/symbols/ro,v 1.8 2005/07/31 22:59:03 svu Exp $ // $XFree86: xc/programs/xkbcomp/symbols/ro,v 1.6 2003/09/08 13:12:51 pascal Exp $ +// +// 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 "standard" variant. If you're determined to get commas bellow as in +// ISO-8859-16 (and not cedillas as in ISO-8859-2) use the already defined +// variants: "comma" for the default layout or "academic" for the standard one. +// MS compatible layout included (use the "ms" variant). +// +// Created by Cristian Gafton, (C) 2000 +// Modified by Marius Andreiana, (C) 2001 +// Completed by Misu Moldovan, (C) 2001, 2004, 2005. +// + default partial alphanumeric_keys -xkb_symbols "basic" { - // Describes the differences between a very simple US/ASCII - // keyboard and a very simple Romanian keybaord - // Created by Manfred Pohler, (C) 2003 +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 "latin" + include "us" name[Group1]="Romania"; - // Alphanumeric section - key { [ bracketright, bracketleft ] }; + 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, tcedilla, Tcedilla ] }; + 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, scedilla, Scedilla ] }; + 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 ] }; - 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 ] }; + include "level3(ralt_switch)" +}; - key { [ acircumflex, Acircumflex ] }; +partial alphanumeric_keys +xkb_symbols "comma" { + // Variant of the basic layout with comma below. + // Implements S and T with comma bellow as in ISO-8859-16. + // Hopefully these should become mainstream in the near future. + // For now it's just an odd variant (although the correct one). - // End alphanumeric section, begin "Keypad" - include "keypad(comma)" - // End "Keypad" section + include "ro(basic)" - include "level3(ralt_switch)" + key { [ t, T, 0x100021b, 0x100021a ] }; + key { [ s, S, 0x1000219, 0x1000218 ] }; }; -// based on a keyboard -// Created by Cristian Gafton, (C) 2000 -// Modified by Mišu Moldovan, (C) 2001 -// Modified by Marius Andreiana, (C) 2001 -// partial alphanumeric_keys -xkb_symbols "us" { +xkb_symbols "standard" { + // 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]="Romania - Romanian standard keyboard"; + + 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 { [ scedilla, Scedilla, semicolon, colon ] }; + key { [ tcedilla, Tcedilla, apostrophe, quotedbl ] }; + key { [ backslash, bar ] }; + key { [ c, C, copyright ] }; + key { [ comma, semicolon, less, guillemotleft ] }; + key { [ period, colon, greater, guillemotright ] }; - include "latin" + key { [ KP_Delete, KP_Separator ] }; + + include "level3(ralt_switch)" +}; - name[Group1]="Romania - US keyboard with Romanian letters"; - key { [ q, Q, acircumflex, Acircumflex ] }; - key { [ t, T, tcedilla, Tcedilla ] }; - key { [ i, I, icircumflex, Icircumflex ] }; +partial alphanumeric_keys +xkb_symbols "academic" { + // Academic variant of the standard layout with comma bellow. + // Implements S and T with comma bellow as in ISO-8859-16. + // Hopefully these diacritics should become mainstream in a few years. + // For now it's the oddest variant (although the perfect one). - key { [ a, A, abreve, Abreve ] }; - key { [ s, S, scedilla, Scedilla ] }; + include "ro(standard)" - include "level3(ralt_switch)" + key { [ 0x1000219, 0x1000218 ] }; + key { [ 0x100021b, 0x100021a ] }; }; -// Romanian keyboard with access to German umlauts"; -// Created by Manfred Pohler, (C) 2003 -// German umlauts are accessible with and a, o , u, s (+shift for capital letters) -// + partial alphanumeric_keys -xkb_symbols "de" { +xkb_symbols "ms" { + // Describes the differences between a very simple US/ASCII + // keyboard and a very simple Romanian keybaord + // Created by Manfred Pohler, (C) 2003 - include "ro(basic)" + include "latin" + + name[Group1]="Romania - Romanian keyboard with MS layout"; + + // Alphanumeric section + 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 ] }; - name[Group1]="Romania - Romanian keyboard with German letters"; + // End alphanumeric section, begin "Keypad" + include "keypad(comma)" + // End "Keypad" section + + include "level3(ralt_switch)" - key { [ u, U, udiaeresis, Udiaeresis ] }; - key { [ o, O, odiaeresis, Odiaeresis ] }; - key { [ a, A, adiaeresis, Adiaeresis ] }; - key { [ s, S, ssharp , ssharp ] }; };