34ca43921b
ok matthieu
148 lines
5.0 KiB
Plaintext
148 lines
5.0 KiB
Plaintext
// 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)"
|
|
};
|
|
|
|
partial alphanumeric_keys
|
|
xkb_symbols "crd" {
|
|
|
|
include "us"
|
|
|
|
name[Group1]= "USA - Couer D'alene Salish";
|
|
|
|
// Alphanumeric section
|
|
key <AD02> { [ w, W, U02B7, U02B7 ] };
|
|
key <AE07> { [ 7, ampersand, U0294 ] };
|
|
key <AD01> { [ q, Q, U221A ] };
|
|
key <AB04> { [ v, V, U0259 ] };
|
|
key <BKSL> { [ backslash, bar, U026B ] };
|
|
key <AD03> { [ e, E, U025B ] };
|
|
key <AD08> { [ i, I, U026A ] };
|
|
key <AC07> { [ j, J, U01F0 ] };
|
|
key <AE06> { [ 6, asciicircum, U0295 ] };
|
|
key <AC02> { [ s, S, U0161 ] };
|
|
key <AB03> { [ c, C, U010D ] };
|
|
key <AD09> { [ o, O, U0254 ] };
|
|
key <AB09> { [ period, greater, U0323 ] };
|
|
|
|
include "level3(ralt_switch)"
|
|
include "compose(rctrl)"
|
|
|
|
// End alphanumeric section
|
|
};
|
|
|