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 ] };
};