diff options
Diffstat (limited to 'xorg-server/xkeyboard-config/symbols/extras')
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/Makefile.am | 5 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/apl | 296 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/ir | 63 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/makefile | 14 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/rs | 15 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/extras/us | 147 |
6 files changed, 540 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/symbols/extras/Makefile.am b/xorg-server/xkeyboard-config/symbols/extras/Makefile.am new file mode 100644 index 000000000..7410ac24f --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/Makefile.am @@ -0,0 +1,5 @@ +symbolsdir = $(xkb_base)/symbols/extras
+dist_symbols_DATA = apl \
+ ir \
+ rs \
+ us
diff --git a/xorg-server/xkeyboard-config/symbols/extras/apl b/xorg-server/xkeyboard-config/symbols/extras/apl new file mode 100644 index 000000000..512277a75 --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/apl @@ -0,0 +1,296 @@ +// APL Keyboard Layouts + +// This file supports: +// - The Sharp APL for Unix (SAX) layout +// - The IBM APL2 layout +// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout + +// Unicode APL table: http://aplwiki.com/UnicodeAplTable +// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A) +// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm + +// Tim Nelson (this file's creator) says: + +// This file doesn't deal with all the combining stuff -- I'm not an APL programmer, +// and am not quite sure what's needed here. However, it may be possible to get this +// working with dead keys and the like. Patches gratefully accepted. + +// Some of the shift-key assignments may differ from the APL tradition. If +// that's not considered acceptable, it should be possible to remap the +// shift keys. I have striven, however, to ensure that the use of shift keys +// in these maps is at least self-consistent. + +// I'm assuming that this will be used with another keyboard layout (ie. for +// your language), with a special shift key to use these maps. + +partial alphanumeric_keys modifier_keys +xkb_symbols "common" { + name[Group1]= "APL"; + + key <AE01> { [ diaeresis ] }; + key <AE02> { [ U00AF ] }; // ¯ -- Macron + key <AE03> { [ less ] }; + key <AE04> { [ U2264 ] }; // ≤ -- Less-than Or Equal To + key <AE05> { [ equal ] }; + key <AE06> { [ U2265 ] }; // ≥ -- Greater-than Or Equal To + key <AE07> { [ greater ] }; + key <AE08> { [ U2260 ] }; // ≠ -- Not Equal To + key <AE09> { [ U2228 ] }; // ∨ -- Logical Or + key <AE10> { [ U2227 ] }; // ∧ -- Logical And + + // Q + key <AD01> { [ question ] }; + // W + key <AD02> { [ U2375 ] }; // ⍵ -- APL Functional Symbol Omega + // E + key <AD03> { [ U220A ] }; // ∊ -- Small Element Of + // R + key <AD04> { [ U2374 ] }; // ⍴ -- APL Functional Symbol Rho + // T + key <AD05> { [ asciitilde ] }; + // Y + key <AD06> { [ U2191 ] }; // ↑ -- Upwards Arrow + // U + key <AD07> { [ U2193 ] }; // ↓ -- Downwards Arrow + // I + key <AD08> { [ U2373 ] }; // ⍳ -- APL Functional Symbol Iota + // O + key <AD09> { [ U25CB ] }; // ○ -- White Circle + // P + key <AD10> { [ U22C6 ] }; // ⋆ -- Should this be a plain asterisk, or the star operator??? + // [ + key <AD11> { [ U2190 ] }; // ← -- Leftwards Arrow + + // A + key <AC01> { [ U237A ] }; // ⍺ -- APL Functional Symbol Alpha + // S + key <AC02> { [ U2308 ] }; // ⌈ -- Left Ceiling + // D + key <AC03> { [ U230A ] }; // ⌊ -- Left Floor + // F + key <AC04> { [ underscore ] }; + // G + key <AC05> { [ U2207 ] }; // ∇ -- Nabla + // H + key <AC06> { [ U2206 ] }; // ∆ -- Increment + // J + key <AC07> { [ U2218 ] }; // ∘ -- Ring Operator + // K + key <AC08> { [ apostrophe ] }; + // L + key <AC09> { [ U2395 ] }; // ⎕ -- APL Functional Symbol Quad + + // Z + key <AB01> { [ U2282 ] }; // ⊂ -- Subset Of + // X + key <AB02> { [ U2283 ] }; // ⊃ -- Superset Of + // C + key <AB03> { [ U2229 ] }; // ∩ -- Intersection + // V + key <AB04> { [ U222A ] }; // ∪ -- Union + // B + key <AB05> { [ U22A5 ] }; // ⊥ -- Up Tack + // N + key <AB06> { [ U22A4 ] }; // ⊤ -- Down Tack + // M + key <AB07> { [ U007C ] }; // | -- Vertical Line +}; + +// Keys common to a number of keyboards that allow normal language usage alongside APL +partial alphanumeric_keys modifier_keys +xkb_symbols "unified" { + name[Group1]= "APL Keyboard Symbols: Unified Layout"; + + include "apl(common)" + + // ` + key <TLDE> { [ U22C4 ] }; // ⋄ -- Diamond Operator + key <AE09> { [ NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde + key <AE10> { [ NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde + // - + key <AE11> { [ U00D7 ] }; // × -- Multiplication Sign + // = + key <AE12> { [ U00F7, U2339 ] }; // ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide + + // ] + key <AD12> { [ U2192 ] }; // → -- Rightwards Arrow +}; + +// Layout: http://www.wickensonline.co.uk/apl-unicomp.html +default +partial alphanumeric_keys modifier_keys +xkb_symbols "sax" { + name[Group1]= "APL Keyboard Symbols: Sharp APL for Unix"; + + include "apl(unified)" + + key <AE01> { [ NoSymbol, U00A1 ] }; // ¡ -- Inverted Exclamation Mark + key <AE04> { [ NoSymbol, cent ] }; + key <AE08> { [ NoSymbol, U2342 ] }; // ⍂ -- APL Functional Symbol Quad Backslash + // - + key <AE11> { [ NoSymbol, U2261 ] }; // ≡ -- Identical To + + // Q + key <AD01> { [ NoSymbol, U00BF ] }; // ¿ -- Inverted Question Mark + // W + key <AD02> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile + // E + key <AD03> { [ NoSymbol, U2377 ] }; // ⍷ -- APL Functional Symbol Epsilon Underbar + // T + key <AD05> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash + // I + key <AD08> { [ NoSymbol, U2378 ] }; // ⍸ -- APL Functional Symbol Iota Underbar + // O + key <AD09> { [ NoSymbol, U2365 ] }; // ⍥ -- APL Functional Symbol Circle Diaeresis + // P + key <AD10> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star + + // A + key <AC01> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus + // F + key <AC04> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde + // G + key <AC05> { [ NoSymbol, U2352 ] }; // ∇ ⍒ -- APL Functional Symbol Del Stile + // H + key <AC06> { [ NoSymbol, U234B ] }; // ∆ ⍋ -- APL Functional Symbol Delta Stile + // J + key <AC07> { [ NoSymbol, U2364 ] }; // ⍤ -- APL Functional Symbol Jot Diaeresis + // K + key <AC08> { [ NoSymbol, U233B ] }; // ⌻ + // L + key <AC09> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad + // ; + key <AC10> { [ U22A2 ] }; // ⊢ -- Right Tack + // ' + key <AC11> { [ U22A3 ] }; // ⊣ -- Left Tack + + // C + key <AB03> { [ NoSymbol, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot + // B + key <AB05> { [ NoSymbol, U234E ] }; // ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack") + // N + key <AB06> { [ NoSymbol, U2355 ] }; // ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack") + // M + key <AB07> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam + // , + key <AB08> { [ U235E, U236A ] }; // ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar + // . + key <AB09> { [ U234E, U2359 ] }; // ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar + // / + key <AB10> { [ U2355, U233F ] }; // ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar + + key <BKSL> { [ U235D, U2340 ] }; // ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar +}; + +// Layout: http://www.wickensonline.co.uk/apl-unicomp.html +partial alphanumeric_keys modifier_keys +xkb_symbols "apl2" { + name[Group1]= "APL Keyboard Symbols: IBM APL2"; + + include "apl(common)" + + // The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything + + // ` + key <TLDE> { [ NoSymbol, U233B, U2342 ] }; // ⌻ ⍂ -- + key <AE01> { [ NoSymbol, NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam + key <AE02> { [ NoSymbol, NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde + key <AE03> { [ NoSymbol, NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile + key <AE04> { [ NoSymbol, NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile + key <AE05> { [ NoSymbol, NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile + key <AE06> { [ NoSymbol, NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash + key <AE07> { [ NoSymbol, NoSymbol, U2296 ] }; // ⊖ -- Circled Minus + key <AE08> { [ NoSymbol, NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star + key <AE09> { [ NoSymbol, NoSymbol, U2371 ] }; // ⍱ -- APL Functional Symbol Down Caret Tilde + key <AE10> { [ NoSymbol, NoSymbol, U2372 ] }; // ⍲ -- APL Functional Symbol Up Caret Tilde + // - + key <AE11> { [ plus, minus, exclam ] }; + // = + key <AE12> { [ U00D7, U00F7, U2339 ] }; // × ÷ ⌹ -- Multiplication Sign / Division Sign / APL Functional Symbol Quad Divide + + // [ + key <AD11> { [ NoSymbol, U2192, U235E ] }; // (←) → ⍞ -- Rightwards Arrow / APL Functional Symbol Quote Quad + // ] + key <AD12> { [ U2337, U2378, U2359 ] }; // ⌷ ⍸ ⍙ -- APL Functional Symbol Squish Quad / APL Functional Symbol Iota Underbar / APL Functional Symbol Delta Underbar + + // ; + key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout] + // ' + key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout] + + // , + key <AB08> { [ comma, semicolon, U235D ] }; // ⍝ -- APL Functional Symbol Up Shoe Jot + // . + key <AB09> { [ period, colon, U2340 ] }; // ⍀ -- APL Functional Symbol Backslash Bar + // / + key <AB10> { [ slash, backslash, U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar + + key <BKSL> { [ U2261, U2377, U2364 ] }; // ≡ ⍷ ⍤ -- Identical To / APL Functional Symbol Epsilon Underbar / APL Functional Symbol Jot Diaeresis +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "aplplusII" { + name[Group1]= "APL Keyboard Symbols: Manugistics APL*PLUS II"; + + include "apl(apl2)" + + // ` + key <TLDE> { [ dollar, U22C4, U236A ] }; // ⋄ ⍪ -- Diamond Operator / APL Functional Symbol Comma Bar + key <AE01> { [ NoSymbol, NoSymbol, U2261 ] }; // ≡ -- Identical To + + // [ + key <AD11> { [ U2190, NoSymbol, U235E ] }; // ← ⍞ -- Leftwards Arrow / APL Functional Symbol Quote Quad + // ] + key <AD12> { [ U2192, NoSymbol, U236C ] }; // → ⍬ -- Rightwards Arrow / APL Functional Symbol Zilde + + // ; + key <AC10> { [ bracketleft, parenleft, U234E ] }; // ⍎ -- [See B key in SAX layout] + // ' + key <AC11> { [ bracketright, parenright, U2355 ] }; // ⍕ -- [See N key in SAX layout] + + key <BKSL> { [ U22A3, U22A2, U2359 ] }; // ⊣ ⊢ ⍙ -- Left Tack / Right Tack / APL Functional Symbol Delta Underbar +}; + + +// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts +// I didn't do the old-style MicroAPL layout; patches gratefully accepted +partial alphanumeric_keys modifier_keys +xkb_symbols "aplx" { + name[Group1]= "APL Keyboard Symbols: APLX Unified APL Layout"; + + include "apl(unified)" + + // ` + key <TLDE> { [ NoSymbol, U235E ] }; // ⍞ -- APL Functional Symbol Quote Quad + key <AE01> { [ NoSymbol, U2336 ] }; // ⌶ -- APL Functional Symbol I-Beam + key <AE02> { [ NoSymbol, U236B ] }; // ⍫ -- APL Functional Symbol Del Tilde + key <AE03> { [ NoSymbol, U2353 ] }; // ⍒ -- APL Functional Symbol Del Stile + key <AE04> { [ NoSymbol, U234B ] }; // ⍋ -- APL Functional Symbol Delta Stile + key <AE05> { [ NoSymbol, U233D ] }; // ⌽ -- APL Functional Symbol Circle Stile + key <AE06> { [ NoSymbol, U2349 ] }; // ⍉ -- APL Functional Symbol Circle Backslash + key <AE07> { [ NoSymbol, U2296 ] }; // ⊖ -- Circled Minus + key <AE08> { [ NoSymbol, U235F ] }; // ⍟ -- APL Functional Symbol Circle Star + // - + key <AE11> { [ NoSymbol, exclam ] }; + + // [ + key <AD11> { [ NoSymbol, U2347 ] }; // ⍇ -- Box With Left Arrow + // ] + key <AD12> { [ NoSymbol, U2348 ] }; // ⍈ -- Box With Right Arrow + + // ; + key <AC10> { [ U234E, U2261 ] }; // ⍎ ≡ -- [See B key in SAX layout] / Identical To + // ' + key <AC11> { [ U2355, U2262 ] }; // ⍕ ≢ -- [See N key in SAX layout] / Not Identical To + + // , + key <AB08> { [ U235D, U236A ] }; // ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar + // . + key <AB09> { [ U2340, U2364 ] }; // ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis + // / + key <AB10> { [ U233F ] }; // ⌿ -- APL Functional Symbol Slash Bar + + key <BKSL> { [ U22A3, U22A3 ] }; // ⊣ ⊢ -- Left Tack / Right Tack +}; + + diff --git a/xorg-server/xkeyboard-config/symbols/extras/ir b/xorg-server/xkeyboard-config/symbols/extras/ir new file mode 100644 index 000000000..52502bf75 --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/ir @@ -0,0 +1,63 @@ +/////////////////////////////////////////////////////////////////////////////////
+//
+// Generated keyboard layout file with the Keyboard Layout Editor.
+// For more about the software, see http://code.google.com/p/keyboardlayouteditor
+//
+// Version 0.2, fixed AD09.
+//
+// Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32
+// Creation of this file by Simos Xenitellis.
+
+partial default alphanumeric_keys
+xkb_symbols "ave"
+{
+ name[Group1] = "Iran - Avestan";
+
+ key <AB01> { [ U10B30, U10B32 ] }; // 𐬰 𐬲
+ key <AB02> { [ U10B11, U10B12 ] }; // 𐬑 𐬒
+ key <AB03> { [ U10B17, UE102 ] }; // 𐬗
+ key <AB04> { [ U10B2C, U10B13 ] }; // 𐬬 𐬓
+ key <AB05> { [ U10B20, U10B21 ] }; // 𐬠 𐬡
+ key <AB06> { [ U10B25, U10B27 ] }; // 𐬥 𐬧
+ key <AB07> { [ U10B28, U10B29 ] }; // 𐬨 𐬩
+ key <AB08> { [ U10B3C, U10B39 ] }; // 𐬼 𐬹
+ key <AB09> { [ U10B3E, U10B3D ] }; // 𐬾 𐬽
+ key <AB10> { [ U10B3F, periodcentered ] }; // 𐬿 ·
+
+ key <AC01> { [ U10B00, U10B01 ] }; // 𐬀 𐬁
+ key <AC02> { [ U10B2F, U10B31 ] }; // 𐬯 𐬱
+ key <AC03> { [ U10B1B, U10B1C ] }; // 𐬛 𐬜
+ key <AC04> { [ U10B1F, U10B16 ] }; // 𐬟 𐬖
+ key <AC05> { [ U10B14, U10B15 ] }; // 𐬔 𐬕
+ key <AC06> { [ U10B35, UE100 ] }; // 𐬵
+ key <AC07> { [ U10B18, U10B24 ] }; // 𐬘 𐬤
+ key <AC08> { [ U10B10, UE101 ] }; // 𐬐
+ key <AC09> { [ U10B2E, UE103 ] }; // 𐬮
+ key <AC10> { [ U10B3B, U10B3A ] }; // 𐬻 𐬺
+ key <AC11> { [ U10B1D ] }; // 𐬝
+
+ key <AD01> { [ U10B22, U10B23 ] }; // 𐬢 𐬣
+ key <AD02> { [ U10B33, U10B34 ] }; // 𐬳 𐬴
+ key <AD03> { [ U10B08, U10B09 ] }; // 𐬈 𐬉
+ key <AD04> { [ U10B2D, U10B26 ] }; // 𐬭 𐬦
+ key <AD05> { [ U10B19, U10B1A ] }; // 𐬙 𐬚
+ key <AD06> { [ U10B2B, U10B2A ] }; // 𐬫 𐬪
+ key <AD07> { [ U10B0E, U10B0F ] }; // 𐬎 𐬏
+ key <AD08> { [ U10B0C, U10B0D ] }; // 𐬌 𐬍
+ key <AD09> { [ U10B0A, U10B0B ] }; // 𐬊 𐬋
+ key <AD10> { [ U10B1E ] }; // 𐬞
+ key <AD11> { [ U10B06, U10B07 ] }; // 𐬆 𐬇
+ key <AD12> { [ U10B02, U10B03 ] }; // 𐬂 𐬃
+
+ key <AE01> { [ U10B78 ] }; // 𐭸
+ key <AE02> { [ U10B79 ] }; // 𐭹
+ key <AE03> { [ U10B7A ] }; // 𐭺
+ key <AE04> { [ U10B7B ] }; // 𐭻
+ key <AE05> { [ U10B7C ] }; // 𐭼
+ key <AE06> { [ U10B7D ] }; // 𐭽
+ key <AE07> { [ U10B7E ] }; // 𐭾
+ key <AE08> { [ U10B7F ] }; // 𐭿
+
+ key <BKSL> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+ key <LSGT> { [ U10B04, U10B05 ] }; // 𐬄 𐬅
+};
diff --git a/xorg-server/xkeyboard-config/symbols/extras/makefile b/xorg-server/xkeyboard-config/symbols/extras/makefile new file mode 100644 index 000000000..99b45229c --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/makefile @@ -0,0 +1,14 @@ +ifeq ($(MAKESERVER),1) +$(error Please do not specify MAKESERVER=1) +endif + +DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\symbols\extras + +dist_symbols_DATA = apl \ + ir \ + rs \ + us + +DATA_FILES=$(dist_symbols_DATA:%=$(DESTDIR)\%) + +include ..\..\xkbrules.mak diff --git a/xorg-server/xkeyboard-config/symbols/extras/rs b/xorg-server/xkeyboard-config/symbols/extras/rs new file mode 100644 index 000000000..cc6b5fb44 --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/rs @@ -0,0 +1,15 @@ +xkb_symbols "combiningkeys" { + // Raw combining characters instead of dead keys, + // especially good for post-accenting texts. + + name[Group1]= "Serbia - Combining accents instead of dead keys"; + + include "rs(basic)" + + key <AE03> { [ any,any, U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT + key <AE07> { [ any,any, U0300, NoSymbol ] }; // 7, U0300 = COMBINING GRAVE ACCENT + key <AE08> { [ any,any, U030F, NoSymbol ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT + key <AE09> { [ any,any, U0301, NoSymbol ] }; // 9, U0301 = COMBINING ACUTE ACCENT + key <AE10> { [ any,any, U0311, NoSymbol ] }; // 0, U0311 = COMBINING INVERTED BREVE + key <AE11> { [ any,any, U0304, NoSymbol ] }; // -, U0304 = COMBINING MACRON +}; diff --git a/xorg-server/xkeyboard-config/symbols/extras/us b/xorg-server/xkeyboard-config/symbols/extras/us new file mode 100644 index 000000000..b58932c6a --- /dev/null +++ b/xorg-server/xkeyboard-config/symbols/extras/us @@ -0,0 +1,147 @@ +// 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 +}; + |