// Irish keyboard map // Support for Irish (old and new orthography) and English // Seamus O Ciardhuain (19 December 2002) // The general idea is to provide the characters in ISO 8859-1, // ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8". // However, not all are accessible directly because there aren't // enough keys; some need deadkeys to access them, others the // "Multi_key" compose sequences. // Designed to be similar to the layouts used on Windows // and the Macintosh. // Everything is in Group 1 to be compatible with the // multi-layout keyboard support in XFree86 4.3. // The basic layout is a modern keyboard, but dotted consonants are // accessible using a deadkey (AltGr+H or AltGr+W). // If a proper Clo Gaelach keyboard is needed, then use the layout // defined below as ie(CloGaelach), which gives dotted consonants // without use of a deadkey. partial default alphanumeric_keys xkb_symbols "basic" { // Modern keyboard for Irish and English // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel // - euro currency sign as AltGr+4 // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7 // - non-breaking space as AltGr+Space and AltGr+Shift+Space // - matches hardware (keys and engraved symbols) for Irish keyboards name[Group1] = "Irish"; // // Numeric row `1234567890-= // key { [ grave, notsign, brokenbar, NoSymbol ] }; key { [ 1, exclam, exclamdown, onesuperior ] }; key { [ 2, quotedbl, trademark, twosuperior ] }; key { [ 3, sterling, copyright, threesuperior ] }; key { [ 4, dollar, EuroSign, cent ] }; key { [ 5, percent, section, dagger ] }; key { [ 6, asciicircum, dead_circumflex, 0x1002030 ] }; // per thousand key { [ 7, ampersand, paragraph, 0x100204A ] }; // Tironian Et key { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] }; key { [ 9, parenleft, ordfeminine, periodcentered ] }; key { [ 0, parenright, masculine, degree ] }; key { [ minus, underscore, endash, emdash ] }; key { [ equal, plus, notequal, plusminus ] }; // // QWERTYUIOP[] // key { [ q, Q, oe, OE ] }; key { [ w, W, dead_abovedot, dead_abovedot ] }; key { [ e, E, eacute, Eacute ] }; key { [ r, R, registered, 0x1002030 ] }; // per thousand key { [ t, T, thorn, THORN ] }; key { [ y, Y, yen, mu ] }; key { [ u, U, uacute, Uacute ] }; key { [ i, I, iacute, Iacute ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P, singlelowquotemark, NoSymbol ] }; key { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] }; key { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] }; // // ASDFGHJKL;'# // key { [ a, A, aacute, Aacute ] }; key { [ s, S, ssharp, NoSymbol ] }; key { [ d, D, eth, ETH ] }; key { [ f, F, 0x1000192, NoSymbol ] }; // f with hook key { [ g, G, copyright, NoSymbol ] }; key { [ h, H, dead_abovedot, dead_abovedot ] }; key { [ j, J, idotless, onequarter ] }; key { [ k, K, dead_abovering, onehalf ] }; key { [ l, L, acute, threequarters ] }; key { [ semicolon, colon, ellipsis, doubledagger ] }; key { [ apostrophe, at, ae, AE ] }; key { [ numbersign, asciitilde, guillemotleft, guillemotright ] }; // // \ZXCVBNM,./ // key { [ backslash, bar, dead_grave, dead_acute ] }; key { [ z, Z, leftanglebracket, rightanglebracket ] }; key { [ x, X, multiply, approximate ] }; key { [ c, C, dead_cedilla, cedilla ] }; key { [ v, V, dead_caron, NoSymbol ] }; key { [ b, B, diaeresis, NoSymbol ] }; key { [ n, N, dead_tilde, NoSymbol ] }; key { [ m, M, macron, NoSymbol ] }; key { [ comma, less, lessthanequal, doublelowquotemark ] }; key { [ period, greater, greaterthanequal, singlelowquotemark ] }; key { [ slash, question, division, questiondown ] }; key { [ space, space, nobreakspace, nobreakspace ] }; include "level3(ralt_switch)" // NB: putting Shift+ as Multi_key gives odd behaviour since the // order of pressing keys affects the result. include "compose(rwin)" }; partial alphanumeric_keys xkb_symbols "CloGaelach" { // Adds support for Clo Gaelach (old orthography for Irish). // Changes from "basic": // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM) // - long lowercase r as AltGr+R // - long lowercase s as AltGr+Z // - long lowercase s dotted as AltGr+Shift+Z // - some symbols moved around to retain them // - several characters unlikely to be used are lost // The long letters are needed only where the font provides // both the long and short forms as different glyphs. include "ie(basic)" name[Group1] = "CloGaelach"; key { [ grave, notsign, brokenbar, ssharp ] }; key { [ r, R, 0x100027C, registered ] }; // long r key { [ t, T, tabovedot, Tabovedot ] }; key { [ p, P, pabovedot, Pabovedot ] }; key { [ s, S, sabovedot, Sabovedot ] }; key { [ d, D, dabovedot, Dabovedot ] }; key { [ f, F, fabovedot, Fabovedot ] }; key { [ g, G, gabovedot, Gabovedot ] }; key { [ z, Z, 0x100017F, 0x1001E9B ] }; // long s, long s dot key { [ c, C, cabovedot, Cabovedot ] }; key { [ b, B, babovedot, Babovedot ] }; key { [ m, M, mabovedot, Mabovedot ] }; key { [ backslash, bar, dead_grave, dead_cedilla ] }; }; partial alphanumeric_keys xkb_symbols "UnicodeExpert" { // This should eventually be a "Unicode Expert" layout like the Mac one. name[Group1] = "Irish (UnicodeExpert)"; // // Numeric row `1234567890-= // key { [ grave, notsign, 0x10000A6, 0x10000A6 ] }; // broken bar key { [ 1, exclam, NoSymbol, NoSymbol ] }; key { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] }; key { [ 3, sterling, NoSymbol, NoSymbol ] }; key { [ 4, dollar, EuroSign, EuroSign ] }; key { [ 5, percent, NoSymbol, NoSymbol ] }; key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; key { [ 7, ampersand, 0x100204A, 0x100204A ] }; // Tironian Et key { [ 8, asterisk, dead_abovering, dead_abovering ] }; key { [ 9, parenleft, dead_breve, dead_breve ] }; key { [ 0, parenright, dead_ogonek, dead_ogonek ] }; key { [ minus, underscore, dead_macron, dead_macron ] }; key { [ equal, plus, NoSymbol, NoSymbol ] }; // // QWERTYUIOP[] // key { [ q, Q, NoSymbol, NoSymbol ] }; key { [ w, W, NoSymbol, NoSymbol ] }; key { [ e, E, eacute, Eacute ] }; key { [ r, R, 0x100027C, 0x100027C ] }; // long r key { [ t, T, NoSymbol, NoSymbol ] }; key { [ y, Y, NoSymbol, NoSymbol ] }; key { [ u, U, uacute, Uacute ] }; key { [ i, I, iacute, Iacute ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P, NoSymbol, NoSymbol ] }; key { [ bracketleft, braceleft, dead_hook, dead_hook ] }; key { [ bracketright, braceright, dead_horn, dead_horn ] }; // // ASDFGHJKL;'# // key { [ a, A, aacute, Aacute ] }; key { [ s, S, NoSymbol, NoSymbol ] }; key { [ d, D, NoSymbol, NoSymbol ] }; key { [ f, F, NoSymbol, NoSymbol ] }; key { [ g, G, NoSymbol, NoSymbol ] }; key { [ h, H, dead_abovedot, dead_abovedot ] }; key { [ j, J, NoSymbol, NoSymbol ] }; key { [ k, K, NoSymbol, NoSymbol ] }; key { [ l, L, NoSymbol, NoSymbol ] }; key { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] }; key { [ apostrophe, at, dead_acute, dead_acute ] }; key { [ numbersign, asciitilde, dead_tilde, dead_tilde ] }; // // \ZXCVBNM,./ // key { [ backslash, bar, dead_grave, dead_grave ] }; key { [ z, Z, 0x100017F, 0x1001E9B ] }; // long s, long s dot key { [ x, X, NoSymbol, NoSymbol ] }; key { [ c, C, NoSymbol, NoSymbol ] }; key { [ v, V, dead_caron, dead_caron ] }; key { [ b, B, NoSymbol, NoSymbol ] }; key { [ n, N, NoSymbol, NoSymbol ] }; key { [ m, M, NoSymbol, NoSymbol ] }; key { [ comma, less, dead_cedilla, dead_cedilla ] }; key { [ period, greater, dead_abovedot, dead_abovedot ] }; key { [ slash, question, dead_belowdot, dead_belowdot ] }; key { [ space, space, space, nobreakspace ] }; include "level3(ralt_switch)" include "compose(rwin)" }; // // Ogham keyboard map for XFree86 // // Seamus O Ciardhuain (17 December 2002) // // Ogham keyboard layout as recommended in I.S. 434:1999. // Suitable for multi-layout xkbcomp. // Character names are given as in the Unicode standard, // range U+1680 to U+169F. partial alphanumeric_keys xkb_symbols "ogam" { name[Group1] = "Ogham"; key.type[Group1] = "ONE_LEVEL"; key { type[Group1]="TWO_LEVEL", [ 0x100169B, 0x100169C ] }; // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK key { [ 0x1001680 ] }; // OGHAM SPACE MARK key { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK key { [ space ] }; // // Top Row QWERTYUIOP // key { [ 0x100168A ] }; // OGHAM LETTER CEIRT key { [ 0x1001695 ] }; // OGHAM LETTER EABHADH key { [ 0x1001693 ] }; // OGHAM LETTER EADHADH key { [ 0x100168F ] }; // OGHAM LETTER RUIS key { [ 0x1001688 ] }; // OGHAM LETTER TINNE key { [ 0x1001698 ] }; // OGHAM LETTER IFIN key { [ 0x1001692 ] }; // OGHAM LETTER UR key { [ 0x1001694 ] }; // OGHAM LETTER IODHADH key { [ 0x1001691 ] }; // OGHAM LETTER ONN key { [ 0x100169A ] }; // OGHAM LETTER PEITH // // Middle Row ASDFGHJKL // key { [ 0x1001690 ] }; // OGHAM LETTER AILM key { [ 0x1001684 ] }; // OGHAM LETTER SAIL key { [ 0x1001687 ] }; // OGHAM LETTER DAIR key { [ 0x1001683 ] }; // OGHAM LETTER FEARN key { [ 0x100168C ] }; // OGHAM LETTER GORT key { [ 0x1001686 ] }; // OGHAM LETTER UATH key { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN key { [ 0x1001696 ] }; // OGHAM LETTER OR key { [ 0x1001682 ] }; // OGHAM LETTER LUIS // // Bottom Row ZXCVBNM // key { [ 0x100168E ] }; // OGHAM LETTER STRAIF key { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL key { [ 0x1001689 ] }; // OGHAM LETTER COLL key { [ 0x100168D ] }; // OGHAM LETTER NGEADAL key { [ 0x1001681 ] }; // OGHAM LETTER BEITH key { [ 0x1001685 ] }; // OGHAM LETTER NION key { [ 0x100168B ] }; // OGHAM LETTER MUIN // As an extension because and may not be // available or sensible. These are also a bit more // intuitive on a standard Irish keyboard. key { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK key { [ 0x100169B ] }; // OGHAM FEATHER MARK key { [ 0x1001680 ] }; // OGHAM SPACE MARK include "compose(rwin)" }; partial alphanumeric_keys xkb_symbols "ogam_is434" { // This has the full layout of IS434 with an Irish QWERTY keyboard, // and the Ogham characters accessed when CAPS LOCK is on. name[Group1] = "Ogham (IS434)"; key.type[Group1] = "THREE_LEVEL"; key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", [ backslash, bar, 0x100169B, 0x100169C ] }; // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK key { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK key { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK key { [ space, space, space ] }; // // Numeric row // key { type[Group1]="TWO_LEVEL", [ 1, exclam ] }; key { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] }; key { type[Group1]="TWO_LEVEL", [ 3, sterling ] }; key { [ 4, dollar, EuroSign ] }; key { type[Group1]="TWO_LEVEL", [ 5, percent ] }; key { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] }; key { [ 7, ampersand, 0x100204A ] }; // Tironian Et key { type[Group1]="TWO_LEVEL", [ 8, asterisk ] }; key { type[Group1]="TWO_LEVEL", [ 9, parenleft ] }; key { type[Group1]="TWO_LEVEL", [ 0, parenright ] }; key { type[Group1]="TWO_LEVEL", [ minus, underscore ] }; key { type[Group1]="TWO_LEVEL", [ equal, plus ] }; // // Top Row QWERTYUIOP // key { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT key { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH key { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH key { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS key { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE key { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN key { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR key { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH key { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN key { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH // // Middle Row ASDFGHJKL // key { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM key { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL key { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR key { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN key { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT key { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH key { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN key { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR key { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS // // Bottom Row ZXCVBNM // key { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF key { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL key { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL key { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL key { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH key { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION key { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN // As an extension because and may not be // available or sensible. These are also a bit more // intuitive on a standard Irish keyboard. key { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK key { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK key { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK // The standard says the Ogham characters should be accessed when // Caps Lock is down; not clear if this means it should lock but // seems logical. key { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] }; // Also allow access to Ogham characters using RALT for convenience include "level3(ralt_switch)" // Redefine Scroll Lock as locking shift in case that's needed. // Also overcomes annoying use of Scroll Lock LED inherited from // US symbols but not relevant here since we're not changing group. key {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] }; modifier_map Shift { Shift_Lock }; include "compose(rwin)" };