logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

ie (20276B)


  1. // Irish keyboard map
  2. // Support for Irish (old and new orthography) and English
  3. // Seamus O Ciardhuain <seoc@cnds.ucd.ie> (19 December 2002)
  4. // The general idea is to provide the characters in ISO 8859-1,
  5. // ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8".
  6. // However, not all are accessible directly because there aren't
  7. // enough keys; some need deadkeys to access them, others the
  8. // "Multi_key" compose sequences.
  9. // Designed to be similar to the layouts used on Windows
  10. // and the Macintosh.
  11. // Everything is in Group 1 to be compatible with the
  12. // multi-layout keyboard support in XFree86 4.3.
  13. // The basic layout is a modern keyboard, but dotted consonants are
  14. // accessible using a deadkey (AltGr+H or AltGr+W).
  15. // If a proper Clo Gaelach keyboard is needed, then use the layout
  16. // defined below as ie(CloGaelach), which gives dotted consonants
  17. // without use of a deadkey.
  18. default partial alphanumeric_keys
  19. xkb_symbols "basic" {
  20. // Modern keyboard for Irish and English
  21. // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel
  22. // - euro currency sign as AltGr+4
  23. // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7
  24. // - non-breaking space as AltGr+Space and AltGr+Shift+Space
  25. // - matches hardware (keys and engraved symbols) for Irish keyboards
  26. name[Group1] = "Irish";
  27. //
  28. // Numeric row `1234567890-=
  29. //
  30. key <TLDE> { [ grave, notsign, brokenbar, NoSymbol ] };
  31. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  32. key <AE02> { [ 2, quotedbl, trademark, twosuperior ] };
  33. key <AE03> { [ 3, sterling, copyright, threesuperior ] };
  34. key <AE04> { [ 4, dollar, EuroSign, cent ] };
  35. key <AE05> { [ 5, percent, section, dagger ] };
  36. key <AE06> { [ 6, asciicircum, dead_circumflex, 0x1002030 ] };
  37. // per thousand
  38. key <AE07> { [ 7, ampersand, paragraph, 0x100204A ] };
  39. // Tironian Et
  40. key <AE08> { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] };
  41. key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
  42. key <AE10> { [ 0, parenright, masculine, degree ] };
  43. key <AE11> { [ minus, underscore, endash, emdash ] };
  44. key <AE12> { [ equal, plus, notequal, plusminus ] };
  45. //
  46. // QWERTYUIOP[]
  47. //
  48. key <AD01> { [ q, Q, oe, OE ] };
  49. key <AD02> { [ w, W, dead_abovedot, dead_abovedot ] };
  50. key <AD03> { [ e, E, eacute, Eacute ] };
  51. key <AD04> { [ r, R, registered, 0x1002030 ] };
  52. // per thousand
  53. key <AD05> { [ t, T, thorn, THORN ] };
  54. key <AD06> { [ y, Y, yen, mu ] };
  55. key <AD07> { [ u, U, uacute, Uacute ] };
  56. key <AD08> { [ i, I, iacute, Iacute ] };
  57. key <AD09> { [ o, O, oacute, Oacute ] };
  58. key <AD10> { [ p, P, singlelowquotemark, NoSymbol ] };
  59. key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
  60. key <AD12> { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
  61. //
  62. // ASDFGHJKL;'#
  63. //
  64. key <AC01> { [ a, A, aacute, Aacute ] };
  65. key <AC02> { [ s, S, ssharp, 0x1001E9E ] };
  66. key <AC03> { [ d, D, eth, ETH ] };
  67. key <AC04> { [ f, F, 0x1000192, NoSymbol ] };
  68. // f with hook
  69. key <AC05> { [ g, G, copyright, NoSymbol ] };
  70. key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
  71. key <AC07> { [ j, J, idotless, onequarter ] };
  72. key <AC08> { [ k, K, dead_abovering, onehalf ] };
  73. key <AC09> { [ l, L, acute, threequarters ] };
  74. key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
  75. key <AC11> { [ apostrophe, at, ae, AE ] };
  76. key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
  77. //
  78. // \ZXCVBNM,./
  79. //
  80. key <LSGT> { [ backslash, bar, dead_grave, dead_acute ] };
  81. key <AB01> { [ z, Z, leftanglebracket, rightanglebracket ] };
  82. key <AB02> { [ x, X, multiply, approximate ] };
  83. key <AB03> { [ c, C, dead_cedilla, cedilla ] };
  84. key <AB04> { [ v, V, dead_caron, NoSymbol ] };
  85. key <AB05> { [ b, B, diaeresis, NoSymbol ] };
  86. key <AB06> { [ n, N, dead_tilde, NoSymbol ] };
  87. key <AB07> { [ m, M, macron, NoSymbol ] };
  88. key <AB08> { [ comma, less, lessthanequal, doublelowquotemark ] };
  89. key <AB09> { [ period, greater, greaterthanequal, singlelowquotemark ] };
  90. key <AB10> { [ slash, question, division, questiondown ] };
  91. key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
  92. include "level3(ralt_switch)"
  93. // NB: putting Shift+<RALT> as Multi_key gives odd behaviour since the
  94. // order of pressing keys affects the result.
  95. include "compose(rwin)"
  96. };
  97. partial alphanumeric_keys
  98. xkb_symbols "CloGaelach" {
  99. // Adds support for Clo Gaelach (old orthography for Irish).
  100. // Changes from "basic":
  101. // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM)
  102. // - long lowercase r as AltGr+R
  103. // - long lowercase s as AltGr+Z
  104. // - long lowercase s dotted as AltGr+Shift+Z
  105. // - some symbols moved around to retain them
  106. // - several characters unlikely to be used are lost
  107. // The long letters are needed only where the font provides
  108. // both the long and short forms as different glyphs.
  109. include "ie(basic)"
  110. name[Group1] = "CloGaelach";
  111. key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
  112. key <AD04> { [ r, R, 0x100027C, registered ] };
  113. // long r
  114. key <AD05> { [ t, T, tabovedot, Tabovedot ] };
  115. key <AD10> { [ p, P, pabovedot, Pabovedot ] };
  116. key <AC02> { [ s, S, sabovedot, Sabovedot ] };
  117. key <AC03> { [ d, D, dabovedot, Dabovedot ] };
  118. key <AC04> { [ f, F, fabovedot, Fabovedot ] };
  119. key <AC05> { [ g, G, gabovedot, Gabovedot ] };
  120. key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
  121. // long s, long s dot
  122. key <AB03> { [ c, C, cabovedot, Cabovedot ] };
  123. key <AB05> { [ b, B, babovedot, Babovedot ] };
  124. key <AB07> { [ m, M, mabovedot, Mabovedot ] };
  125. key <LSGT> { [ backslash, bar, dead_grave, dead_cedilla ] };
  126. };
  127. partial alphanumeric_keys
  128. xkb_symbols "UnicodeExpert" {
  129. // This should eventually be a "Unicode Expert" layout like the Mac one.
  130. name[Group1] = "Irish (UnicodeExpert)";
  131. //
  132. // Numeric row `1234567890-=
  133. //
  134. key <TLDE> { [ grave, notsign, 0x10000A6, 0x10000A6 ] };
  135. // broken bar
  136. key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
  137. key <AE02> { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] };
  138. key <AE03> { [ 3, sterling, NoSymbol, NoSymbol ] };
  139. key <AE04> { [ 4, dollar, EuroSign, EuroSign ] };
  140. key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
  141. key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
  142. key <AE07> { [ 7, ampersand, 0x100204A, 0x100204A ] };
  143. // Tironian Et
  144. key <AE08> { [ 8, asterisk, dead_abovering, dead_abovering ] };
  145. key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
  146. key <AE10> { [ 0, parenright, dead_ogonek, dead_ogonek ] };
  147. key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
  148. key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
  149. //
  150. // QWERTYUIOP[]
  151. //
  152. key <AD01> { [ q, Q, NoSymbol, NoSymbol ] };
  153. key <AD02> { [ w, W, NoSymbol, NoSymbol ] };
  154. key <AD03> { [ e, E, eacute, Eacute ] };
  155. key <AD04> { [ r, R, 0x100027C, 0x100027C ] };
  156. // long r
  157. key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
  158. key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
  159. key <AD07> { [ u, U, uacute, Uacute ] };
  160. key <AD08> { [ i, I, iacute, Iacute ] };
  161. key <AD09> { [ o, O, oacute, Oacute ] };
  162. key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
  163. key <AD11> { [ bracketleft, braceleft, dead_hook, dead_hook ] };
  164. key <AD12> { [ bracketright, braceright, dead_horn, dead_horn ] };
  165. //
  166. // ASDFGHJKL;'#
  167. //
  168. key <AC01> { [ a, A, aacute, Aacute ] };
  169. key <AC02> { [ s, S, NoSymbol, NoSymbol ] };
  170. key <AC03> { [ d, D, NoSymbol, NoSymbol ] };
  171. key <AC04> { [ f, F, NoSymbol, NoSymbol ] };
  172. key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
  173. key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
  174. key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
  175. key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
  176. key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
  177. key <AC10> { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] };
  178. key <AC11> { [ apostrophe, at, dead_acute, dead_acute ] };
  179. key <BKSL> { [ numbersign, asciitilde, dead_tilde, dead_tilde ] };
  180. //
  181. // \ZXCVBNM,./
  182. //
  183. key <LSGT> { [ backslash, bar, dead_grave, dead_grave ] };
  184. key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
  185. // long s, long s dot
  186. key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
  187. key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
  188. key <AB04> { [ v, V, dead_caron, dead_caron ] };
  189. key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
  190. key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
  191. key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
  192. key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
  193. key <AB09> { [ period, greater, dead_abovedot, dead_abovedot ] };
  194. key <AB10> { [ slash, question, dead_belowdot, dead_belowdot ] };
  195. key <SPCE> { [ space, space, space, nobreakspace ] };
  196. include "level3(ralt_switch)"
  197. include "compose(rwin)"
  198. };
  199. //
  200. // Ogham keyboard map for XFree86
  201. //
  202. // Seamus O Ciardhuain <seoc@cnds.ucd.ie> (17 December 2002)
  203. //
  204. // Ogham keyboard layout as recommended in I.S. 434:1999.
  205. // Suitable for multi-layout xkbcomp.
  206. // Character names are given as in the Unicode standard,
  207. // range U+1680 to U+169F.
  208. partial alphanumeric_keys
  209. xkb_symbols "ogam" {
  210. name[Group1] = "Ogham";
  211. key.type[Group1] = "ONE_LEVEL";
  212. key <LSGT> { type[Group1]="TWO_LEVEL",
  213. [ 0x100169B, 0x100169C ] };
  214. // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
  215. key <BKSL> { [ 0x1001680 ] }; // OGHAM SPACE MARK
  216. key <TLDE> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
  217. key <SPCE> { [ space ] };
  218. //
  219. // Top Row QWERTYUIOP
  220. //
  221. key <AD01> { [ 0x100168A ] }; // OGHAM LETTER CEIRT
  222. key <AD02> { [ 0x1001695 ] }; // OGHAM LETTER EABHADH
  223. key <AD03> { [ 0x1001693 ] }; // OGHAM LETTER EADHADH
  224. key <AD04> { [ 0x100168F ] }; // OGHAM LETTER RUIS
  225. key <AD05> { [ 0x1001688 ] }; // OGHAM LETTER TINNE
  226. key <AD06> { [ 0x1001698 ] }; // OGHAM LETTER IFIN
  227. key <AD07> { [ 0x1001692 ] }; // OGHAM LETTER UR
  228. key <AD08> { [ 0x1001694 ] }; // OGHAM LETTER IODHADH
  229. key <AD09> { [ 0x1001691 ] }; // OGHAM LETTER ONN
  230. key <AD10> { [ 0x100169A ] }; // OGHAM LETTER PEITH
  231. //
  232. // Middle Row ASDFGHJKL
  233. //
  234. key <AC01> { [ 0x1001690 ] }; // OGHAM LETTER AILM
  235. key <AC02> { [ 0x1001684 ] }; // OGHAM LETTER SAIL
  236. key <AC03> { [ 0x1001687 ] }; // OGHAM LETTER DAIR
  237. key <AC04> { [ 0x1001683 ] }; // OGHAM LETTER FEARN
  238. key <AC05> { [ 0x100168C ] }; // OGHAM LETTER GORT
  239. key <AC06> { [ 0x1001686 ] }; // OGHAM LETTER UATH
  240. key <AC07> { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN
  241. key <AC08> { [ 0x1001696 ] }; // OGHAM LETTER OR
  242. key <AC09> { [ 0x1001682 ] }; // OGHAM LETTER LUIS
  243. //
  244. // Bottom Row ZXCVBNM
  245. //
  246. key <AB01> { [ 0x100168E ] }; // OGHAM LETTER STRAIF
  247. key <AB02> { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
  248. key <AB03> { [ 0x1001689 ] }; // OGHAM LETTER COLL
  249. key <AB04> { [ 0x100168D ] }; // OGHAM LETTER NGEADAL
  250. key <AB05> { [ 0x1001681 ] }; // OGHAM LETTER BEITH
  251. key <AB06> { [ 0x1001685 ] }; // OGHAM LETTER NION
  252. key <AB07> { [ 0x100168B ] }; // OGHAM LETTER MUIN
  253. // As an extension because <BKSL> and <LSGT> may not be
  254. // available or sensible. These are also a bit more
  255. // intuitive on a standard Irish keyboard.
  256. key <AB08> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
  257. key <AB09> { [ 0x100169B ] }; // OGHAM FEATHER MARK
  258. key <AB10> { [ 0x1001680 ] }; // OGHAM SPACE MARK
  259. include "compose(rwin)"
  260. };
  261. partial alphanumeric_keys
  262. xkb_symbols "ogam_is434" {
  263. // This has the full layout of IS434 with an Irish QWERTY keyboard,
  264. // and the Ogham characters accessed when CAPS LOCK is on.
  265. name[Group1] = "Ogham (IS434)";
  266. key.type[Group1] = "THREE_LEVEL";
  267. key <LSGT> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
  268. [ backslash, bar, 0x100169B, 0x100169C ] };
  269. // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
  270. key <BKSL> { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK
  271. key <TLDE> { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
  272. key <SPCE> { [ space, space, space ] };
  273. //
  274. // Numeric row
  275. //
  276. key <AE01> { type[Group1]="TWO_LEVEL", [ 1, exclam ] };
  277. key <AE02> { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] };
  278. key <AE03> { type[Group1]="TWO_LEVEL", [ 3, sterling ] };
  279. key <AE04> { [ 4, dollar, EuroSign ] };
  280. key <AE05> { type[Group1]="TWO_LEVEL", [ 5, percent ] };
  281. key <AE06> { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] };
  282. key <AE07> { [ 7, ampersand, 0x100204A ] }; // Tironian Et
  283. key <AE08> { type[Group1]="TWO_LEVEL", [ 8, asterisk ] };
  284. key <AE09> { type[Group1]="TWO_LEVEL", [ 9, parenleft ] };
  285. key <AE10> { type[Group1]="TWO_LEVEL", [ 0, parenright ] };
  286. key <AE11> { type[Group1]="TWO_LEVEL", [ minus, underscore ] };
  287. key <AE12> { type[Group1]="TWO_LEVEL", [ equal, plus ] };
  288. //
  289. // Top Row QWERTYUIOP
  290. //
  291. key <AD01> { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT
  292. key <AD02> { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH
  293. key <AD03> { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH
  294. key <AD04> { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS
  295. key <AD05> { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE
  296. key <AD06> { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN
  297. key <AD07> { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR
  298. key <AD08> { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH
  299. key <AD09> { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN
  300. key <AD10> { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH
  301. //
  302. // Middle Row ASDFGHJKL
  303. //
  304. key <AC01> { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM
  305. key <AC02> { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL
  306. key <AC03> { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR
  307. key <AC04> { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN
  308. key <AC05> { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT
  309. key <AC06> { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH
  310. key <AC07> { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN
  311. key <AC08> { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR
  312. key <AC09> { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS
  313. //
  314. // Bottom Row ZXCVBNM
  315. //
  316. key <AB01> { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF
  317. key <AB02> { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL
  318. key <AB03> { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL
  319. key <AB04> { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL
  320. key <AB05> { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH
  321. key <AB06> { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION
  322. key <AB07> { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN
  323. // As an extension because <BKSL> and <LSGT> may not be
  324. // available or sensible. These are also a bit more
  325. // intuitive on a standard Irish keyboard.
  326. key <AB08> { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
  327. key <AB09> { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK
  328. key <AB10> { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK
  329. // The standard says the Ogham characters should be accessed when
  330. // Caps Lock is down; not clear if this means it should lock but
  331. // seems logical.
  332. key <CAPS> { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] };
  333. // Also allow access to Ogham characters using RALT for convenience
  334. include "level3(ralt_switch)"
  335. // Redefine Scroll Lock as locking shift in case that's needed.
  336. // Also overcomes annoying use of Scroll Lock LED inherited from
  337. // US symbols but not relevant here since we're not changing group.
  338. key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
  339. modifier_map Shift { Shift_Lock };
  340. include "compose(rwin)"
  341. };