diff options
author | Sergey V. Udaltsov <svu@gnome.org> | 2009-06-27 21:30:47 +0100 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2009-06-27 21:30:47 +0100 |
commit | 2a2922cdfdf26b2793fe53f7fd0472f56f65b953 (patch) | |
tree | 07b086b5d680a6799a42430ef49c6483bf6a64b2 | |
parent | 2344d12391d949e8b0041d2cd5f3c60185538fde (diff) |
Added 3 exotic us variants: ats, intl-unicode, alt-intl-unicode
http://bugs.freedesktop.org/show_bug.cgi?id=22004
http://bugs.freedesktop.org/show_bug.cgi?id=22446
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | rules/base.extras.xml.in | 29 | ||||
-rw-r--r-- | rules/extras/variantsMapping.lst | 2 | ||||
-rw-r--r-- | symbols/extras/Makefile.am | 3 | ||||
-rw-r--r-- | symbols/extras/us | 119 |
5 files changed, 160 insertions, 1 deletions
@@ -1,3 +1,11 @@ +2009-06-27 Sergey Udaltsov + + * symbols/extras/us, rules/base.extras.xml.in, + rules/extras/variantsMapping.lst, symbols/extras/Makefile.am: Added 3 + exotic us variants: ats, intl-unicode, alt-intl-unicode + http://bugs.freedesktop.org/show_bug.cgi?id=22004 + http://bugs.freedesktop.org/show_bug.cgi?id=22446 + 2009-06-22 Sergey Udaltsov * .gitignore, configure.in, rules/Makefile.am, diff --git a/rules/base.extras.xml.in b/rules/base.extras.xml.in index 12d3f95e..580b2c28 100644 --- a/rules/base.extras.xml.in +++ b/rules/base.extras.xml.in @@ -14,6 +14,35 @@ </layout> <layout> <configItem> + <name>us</name> + <_shortDescription>USA</_shortDescription> + <_description>USA</_description> + <languageList><iso639Id>eng</iso639Id></languageList> + </configItem> + <variantList> + <variant> + <configItem> + <name>intl-unicode</name> + <_description>International (AltGr Unicode combining)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>alt-intl-unicode</name> + <_description>International (AltGr Unicode combining, alternative)</_description> + </configItem> + </variant> + <variant> + <configItem> + <name>ats</name> + <_description>Atsina</_description> + <!-- No ISO code in ISO639-2, only draft ISO693-3 --> + </configItem> + </variant> + </variantList> + </layout> + <layout> + <configItem> <name>rs</name> <_shortDescription>SRB</_shortDescription> <_description>Serbia</_description> diff --git a/rules/extras/variantsMapping.lst b/rules/extras/variantsMapping.lst index eda0a315..4ed9be3f 100644 --- a/rules/extras/variantsMapping.lst +++ b/rules/extras/variantsMapping.lst @@ -1 +1,3 @@ rs combiningkeys extras/rs combiningkeys +us intl-unicode extras/us intl-unicode +us alt-intl-unicode extras/us alt-intl-unicode diff --git a/symbols/extras/Makefile.am b/symbols/extras/Makefile.am index 14332741..6140b945 100644 --- a/symbols/extras/Makefile.am +++ b/symbols/extras/Makefile.am @@ -1,3 +1,4 @@ symbolsdir = $(xkb_base)/symbols/extras dist_symbols_DATA = apl \ - rs + rs \ + us diff --git a/symbols/extras/us b/symbols/extras/us new file mode 100644 index 00000000..63fb3afd --- /dev/null +++ b/symbols/extras/us @@ -0,0 +1,119 @@ +// XCompose is out! Unicode combining is in! For those of us who live +// on the edge: A keymap using Unicode combining characters instead of +// deadkeys. This variation does not deviate from the lame MS-style +// US-intl layout; but it uses AltGr for combining, like altgr-intl. +// +// This might break your font layout layout systems (because they +// suck), caveat emptor. Also, most of today's software will count +// individual combining marks for selection, deletion, character +// counting &c., and won't be smart enough to do canonical equivalence +// when searching, &c. +// +// With Unicode combining you use "handwriting order", not +// "typewriting order" as with deadkeys. That is, you first type the +// base character, then the diacritics/accents/modifiers. This has +// the advantage of avoiding hidden states --- each keypress changes +// something on screen. +// +// TODO: as of now, this duplicates all us(intl) functionality with +// combining. With care, perhaps we could add more combining marks +// not present in intl, and support all major languages. +partial alphanumeric_keys +xkb_symbols "intl-unicode" { + + name[Group1]= "USA - International (AltGr Unicode combining)"; + + include "us(intl)" + include "level3(ralt_switch)" + + // grave, tilde + key <TLDE> { [grave, asciitilde, U0300, U0303 ] }; + // double acute + key <AE02> { [ 2, at, twosuperior, U030B ] }; + // macron + key <AE03> { [ 3, numbersign, threesuperior, U0304 ] }; + // circumflex + key <AE06> { [ 6, asciicircum, onequarter, U0302 ] }; + // horn + key <AE07> { [ 7, ampersand, onehalf, U031B ] }; + // ogonek + key <AE08> { [ 8, asterisk, threequarters, U0328 ] }; + // breve + key <AE09> { [ 9, parenleft, leftsinglequotemark, U0306 ] }; + // abovering + key <AE10> { [ 0, parenright, rightsinglequotemark, U030A ] }; + + // belowdot + key <AE11> { [ minus, underscore, yen, U0323 ] }; + // acute, diaeresis + key <AC11> { [apostrophe, quotedbl, U0301, U0308 ] }; + // abovedot, caron + key <AB09> { [ period, greater, U0307, U030C ] }; + // hook + key <AB10> { [ slash, question, questiondown, 0309 ] }; + + // alt-intl compatibility + // cedilla, caron + key <AB08> { [ comma, less, U0327, U030C ] }; + // ogonek, diaeresis + key <AC10> { [ semicolon, colon, U0328, U0308 ] }; + // doubleacute, horn + key <AE12> { [ equal, plus, U030B, U031B ] }; + + // we don't do combining latin letters and combining enclosures + // because support for those is very rare. +}; + +// XCompose is out! Unicode combining is in! For those of us who live +// on the edge: A keymap using Unicode combining characters instead of +// deadkeys. This variation does break compatibility with us-intl, +// whenever I thought it would be more mnemonic or Unicodeish. +partial alphanumeric_keys +xkb_symbols "alt-intl-unicode" { + + name[Group1]= "USA - International (AltGr Unicode combining, alternative)"; + + include "extras/us(intl-unicode)" + include "level3(ralt_switch)" + + // easier macron; em-dash. + // em-dash is available via compose, but I added here since it's such + // an important typographic character. + key <AE11> { [ minus, underscore, U0304, U2014 ] }; + + // belowdot, abovedot (caron at coma/less key, per above) + key <AB09> { [ period, greater, U0323, U0307 ] }; + +}; + +partial alphanumeric_keys +xkb_symbols "ats" { + + include "us" + + name[Group1]= "USA - Atsina"; + + //Using Dead key to get COMBINING COMMA ABOVE for ejectives on + //q, l, t, s, m, g, k, p, w, y, r + //XCompose key is used for the other accute and grave. + + key <AD03> { [ e, E, eacute, Eacute ] }; + key <AD07> { [ u, U, uacute, Uacute ] }; + key <AD08> { [ i, I, iacute, Iacute ] }; + key <AD09> { [ o, O, oacute, Oacute ] }; + key <AD11> { [ bracketleft, braceleft, U03B8 ] }; + key <AD12> { [ bracketright, braceright, U010D, U010C ] }; + //U+010C (uppercase Č) and U+010D (lowercase č). + + key <AC01> { [ a, A, aacute, Aacute ] }; + + + //Small letter Open use compose to key get acute accent + key <AB03> { [ c, C, U0254, U0186 ] }; + key <AB08> { [ comma, less, U0313 ] }; + key <AB10> { [ slash, question, U0294 ] }; + + include "level3(ralt_switch)" + include "compose(rctrl)" +}; + |