Advertisement
Guest User

custom-colemak

a guest
Jan 7th, 2019
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 78.39 KB | None | 0 0
  1. default partial alphanumeric_keys modifier_keys
  2. xkb_symbols "basic" {
  3.  
  4. name[Group1]= "English (US)";
  5.  
  6. key <TLDE> { [ grave, asciitilde ] };
  7. key <AE01> { [ 1, exclam ] };
  8. key <AE02> { [ 2, at ] };
  9. key <AE03> { [ 3, numbersign ] };
  10. key <AE04> { [ 4, dollar ] };
  11. key <AE05> { [ 5, percent ] };
  12. key <AE06> { [ 6, asciicircum ] };
  13. key <AE07> { [ 7, ampersand ] };
  14. key <AE08> { [ 8, asterisk ] };
  15. key <AE09> { [ 9, parenleft ] };
  16. key <AE10> { [ 0, parenright ] };
  17. key <AE11> { [ minus, underscore ] };
  18. key <AE12> { [ equal, plus ] };
  19.  
  20. key <AD01> { [ q, Q ] };
  21. key <AD02> { [ w, W ] };
  22. key <AD03> { [ e, E ] };
  23. key <AD04> { [ r, R ] };
  24. key <AD05> { [ t, T ] };
  25. key <AD06> { [ y, Y ] };
  26. key <AD07> { [ u, U ] };
  27. key <AD08> { [ i, I ] };
  28. key <AD09> { [ o, O ] };
  29. key <AD10> { [ p, P ] };
  30. key <AD11> { [ bracketleft, braceleft ] };
  31. key <AD12> { [ bracketright, braceright ] };
  32.  
  33. key <AC01> { [ a, A ] };
  34. key <AC02> { [ s, S ] };
  35. key <AC03> { [ d, D ] };
  36. key <AC04> { [ f, F ] };
  37. key <AC05> { [ g, G ] };
  38. key <AC06> { [ h, H ] };
  39. key <AC07> { [ j, J ] };
  40. key <AC08> { [ k, K ] };
  41. key <AC09> { [ l, L ] };
  42. key <AC10> { [ semicolon, colon ] };
  43. key <AC11> { [ apostrophe, quotedbl ] };
  44.  
  45. key <AB01> { [ z, Z ] };
  46. key <AB02> { [ x, X ] };
  47. key <AB03> { [ c, C ] };
  48. key <AB04> { [ v, V ] };
  49. key <AB05> { [ b, B ] };
  50. key <AB06> { [ n, N ] };
  51. key <AB07> { [ m, M ] };
  52. key <AB08> { [ comma, less ] };
  53. key <AB09> { [ period, greater ] };
  54. key <AB10> { [ slash, question ] };
  55.  
  56. key <BKSL> { [ backslash, bar ] };
  57. };
  58.  
  59. partial alphanumeric_keys
  60. xkb_symbols "euro" {
  61.  
  62. include "us(basic)"
  63. name[Group1]= "English (US, with euro on 5)";
  64.  
  65. include "eurosign(5)"
  66.  
  67. include "level3(ralt_switch)"
  68. };
  69.  
  70.  
  71. partial alphanumeric_keys
  72. xkb_symbols "ibm238l" {
  73.  
  74. include "us(basic)"
  75. name[Group1]= "English (US, IBM Arabic 238_L)";
  76.  
  77. key <AB08> { [ comma, comma ] };
  78. key <AB09> { [ period, period ] };
  79. key <BKSL> { [ quoteleft, asciitilde ] };
  80. key <LSGT> { [ backslash, bar ] };
  81. key <TLDE> { [ leftcaret, rightcaret ] };
  82. };
  83.  
  84. partial alphanumeric_keys
  85. xkb_symbols "intl" {
  86.  
  87. include "us(basic)"
  88. name[Group1]= "English (US, international with dead keys)";
  89.  
  90. key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
  91. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  92. key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
  93. key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
  94. key <AE04> { [ 4, dollar, currency, sterling ] };
  95. key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
  96. key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
  97. key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
  98. key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
  99. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  100. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  101. key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
  102. key <AE12> { [ equal, plus, multiply, division ] };
  103.  
  104. key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
  105. key <AD02> { [ w, W, aring, Aring ] };
  106. key <AD03> { [ e, E, eacute, Eacute ] };
  107. key <AD04> { [ r, R, registered, registered ] };
  108. key <AD05> { [ t, T, thorn, THORN ] };
  109. key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
  110. key <AD07> { [ u, U, uacute, Uacute ] };
  111. key <AD08> { [ i, I, iacute, Iacute ] };
  112. key <AD09> { [ o, O, oacute, Oacute ] };
  113. key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
  114. key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
  115. key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
  116.  
  117. key <AC01> { [ a, A, aacute, Aacute ] };
  118. key <AC02> { [ s, S, ssharp, section ] };
  119. key <AC03> { [ d, D, eth, ETH ] };
  120. key <AC04> { [ f, F, f, F ] };
  121. key <AC05> { [ g, G, g, G ] };
  122. key <AC06> { [ h, H, h, H ] };
  123. key <AC07> { [ j, J, j, J ] };
  124. key <AC08> { [ k, K, oe, OE ] };
  125.  
  126. key <AC09> { [ l, L, oslash, Ooblique ] };
  127. key <AC10> { [ semicolon, colon, paragraph, degree ] };
  128. key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  129.  
  130. key <AB01> { [ z, Z, ae, AE ] };
  131. key <AB02> { [ x, X, x, X ] };
  132. key <AB03> { [ c, C, copyright, cent ] };
  133. key <AB04> { [ v, V, v, V ] };
  134. key <AB05> { [ b, B, b, B ] };
  135. key <AB06> { [ n, N, ntilde, Ntilde ] };
  136. key <AB07> { [ m, M, mu, mu ] };
  137. key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
  138. key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
  139. key <AB10> { [ slash, question, questiondown, dead_hook ] };
  140. key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
  141.  
  142. key <LSGT> { [ backslash, bar, backslash, bar ] };
  143.  
  144. include "level3(ralt_switch)"
  145. };
  146.  
  147. // Based on symbols/us_intl keyboard map:
  148. // Dead-keys definition for a very simple US/ASCII layout.
  149. // by Conectiva (http://www.conectiva.com.br)
  150. // modified by Ricardo Y. Igarashi (iga@that.com.br)
  151.  
  152. // Added the following deadkeys, to make it truly international:
  153. //
  154. // dead_macron: on AltGr-minus
  155. // dead_breve: on AltGr-parenleft
  156. // dead_abovedot: on AltGr-period
  157. // dead_abovering: on AltGr-0
  158. // dead_doubleacute: on AltGr-equal (as quotedbl is already used)
  159. // dead_caron: on AltGr-less (AltGr-shift-comma)
  160. // dead_cedilla: on AltGr-comma
  161. // dead_ogonek: on AltGr-semicolon
  162. // dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
  163. // dead_hook: on AltGr-question
  164. // dead_horn: on AltGr-plus (AltGr-shift-equal)
  165. // dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
  166. //
  167. // those were already there:
  168. // dead_grave
  169. // dead_acute
  170. // dead_circumflex
  171. // dead_tilde
  172. // dead_diaeresis
  173.  
  174. partial alphanumeric_keys
  175. xkb_symbols "alt-intl" {
  176.  
  177. include "us"
  178. name[Group1]= "English (US, alternative international)";
  179.  
  180. key <TLDE> { [ dead_grave, dead_tilde, grave, asciitilde ] };
  181. key <AE05> { [ 5, percent, EuroSign ] };
  182. key <AE06> { [ 6, dead_circumflex, asciicircum, asciicircum ] };
  183. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  184. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  185. key <AE11> { [ minus, underscore, dead_macron, dead_belowdot ] };
  186. key <AE12> { [ equal, plus, dead_doubleacute, dead_horn ] };
  187.  
  188. key <AD03> { [ e, E, EuroSign, cent ] };
  189.  
  190. key <AC10> { [ semicolon, colon, dead_ogonek, dead_diaeresis ] };
  191. key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  192.  
  193. key <AB08> { [ comma, less, dead_cedilla, dead_caron ] };
  194. key <AB09> { [ period, greater, dead_abovedot, dead_circumflex ] };
  195. key <AB10> { [ slash, question, dead_hook, dead_hook ] };
  196.  
  197. key <LSGT> { [ backslash, bar, backslash, bar ] };
  198.  
  199. include "level3(ralt_switch)"
  200. };
  201.  
  202. // based on a keyboard map from an 'xkb/symbols/dk' file
  203.  
  204. partial alphanumeric_keys
  205. xkb_symbols "dvorak" {
  206.  
  207. name[Group1]= "English (Dvorak)";
  208.  
  209. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  210.  
  211. key <AE01> { [ 1, exclam ] };
  212. key <AE02> { [ 2, at ] };
  213. key <AE03> { [ 3, numbersign ] };
  214. key <AE04> { [ 4, dollar ] };
  215. key <AE05> { [ 5, percent ] };
  216. key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
  217. key <AE07> { [ 7, ampersand ] };
  218. key <AE08> { [ 8, asterisk ] };
  219. key <AE09> { [ 9, parenleft, dead_grave] };
  220. key <AE10> { [ 0, parenright ] };
  221. key <AE11> { [ bracketleft, braceleft ] };
  222. key <AE12> { [ bracketright, braceright, dead_tilde] };
  223.  
  224. key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
  225. key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
  226. key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
  227. key <AD04> { [ p, P ] };
  228. key <AD05> { [ y, Y ] };
  229. key <AD06> { [ f, F ] };
  230. key <AD07> { [ g, G ] };
  231. key <AD08> { [ c, C ] };
  232. key <AD09> { [ r, R ] };
  233. key <AD10> { [ l, L ] };
  234. key <AD11> { [ slash, question ] };
  235. key <AD12> { [ equal, plus ] };
  236.  
  237. key <AC01> { [ a, A ] };
  238. key <AC02> { [ o, O ] };
  239. key <AC03> { [ e, E ] };
  240. key <AC04> { [ u, U ] };
  241. key <AC05> { [ i, I ] };
  242. key <AC06> { [ d, D ] };
  243. key <AC07> { [ h, H ] };
  244. key <AC08> { [ t, T ] };
  245. key <AC09> { [ n, N ] };
  246. key <AC10> { [ s, S ] };
  247. key <AC11> { [ minus, underscore ] };
  248.  
  249. key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
  250. key <AB02> { [ q, Q ] };
  251. key <AB03> { [ j, J ] };
  252. key <AB04> { [ k, K ] };
  253. key <AB05> { [ x, X ] };
  254. key <AB06> { [ b, B ] };
  255. key <AB07> { [ m, M ] };
  256. key <AB08> { [ w, W ] };
  257. key <AB09> { [ v, V ] };
  258. key <AB10> { [ z, Z ] };
  259.  
  260. key <BKSL> { [ backslash, bar ] };
  261. };
  262.  
  263. // Dvorak international with dead keys
  264. // Olivier Mehani (shtrom-xorg@ssji.net)
  265. // Reproduce the per-key mapping of us(intl) for the dvorak layout
  266. // aka "I just swapped my keys over"
  267. partial alphanumeric_keys
  268. xkb_symbols "dvorak-intl" {
  269.  
  270. include "us(dvorak)"
  271. name[Group1]= "English (Dvorak, international with dead keys)";
  272.  
  273. key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
  274.  
  275. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  276. key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
  277. key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
  278. key <AE04> { [ 4, dollar, currency, sterling ] };
  279. key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
  280. key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
  281. key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
  282. key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
  283. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  284. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  285. key <AE11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
  286. key <AE12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
  287.  
  288. key <AD01> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  289. key <AD02> { [ comma, less, ccedilla, Ccedilla ] };
  290. key <AD03> { [ period, greater, dead_abovedot, dead_caron ] };
  291. key <AD04> { [ p, P, odiaeresis, Odiaeresis ] };
  292. key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
  293. // key <AD06> { [ f, F ] };
  294. // key <AD07> { [ g, G ] };
  295. key <AD08> { [ c, C, copyright, cent ] };
  296. key <AD09> { [ r, R, registered, registered ] };
  297. key <AD10> { [ l, L, oslash, Ooblique ] };
  298. key <AD11> { [ slash, question, questiondown, dead_hook ] };
  299. // key <AD12> { [ equal, plus, multiply, division ] };
  300.  
  301. key <AC01> { [ a, A, aacute, Aacute ] };
  302. key <AC02> { [ o, O, oacute, Oacute ] };
  303. key <AC03> { [ e, E, eacute, Eacute ] };
  304. key <AC04> { [ u, U, uacute, Uacute ] };
  305. key <AC05> { [ i, I, iacute, Iacute ] };
  306. key <AC06> { [ d, D, eth, ETH ] };
  307. // key <AC07> { [ h, H ] };
  308. key <AC08> { [ t, T, thorn, THORN ] };
  309. key <AC09> { [ n, N, ntilde, Ntilde ] };
  310. key <AC10> { [ s, S, ssharp, section ] };
  311. // key <AC11> { [ minus, underscore, yen, dead_belowdot ] };
  312.  
  313. key <AB01> { [ semicolon, colon, paragraph, degree ] };
  314. key <AB02> { [ q, Q, adiaeresis, Adiaeresis ] };
  315. // key <AB03> { [ j, J ] };
  316. key <AB04> { [ k, K, oe, OE ] };
  317. // key <AB05> { [ x, X ] };
  318. // key <AB06> { [ b, B ] };
  319. key <AB07> { [ m, M, mu, mu ] };
  320. key <AB08> { [ w, W, aring, Aring ] };
  321. // key <AB09> { [ v, V ] };
  322. key <AB10> { [ z, Z, ae, AE ] };
  323.  
  324. key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
  325.  
  326. include "level3(ralt_switch)"
  327. };
  328.  
  329. // Dvorak international without dead keys
  330. // Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net)
  331. // Based on information from http://www.poupinou.org/dvorak/index.html
  332. //
  333. // ` 1 2 3 4 5 6 7 8 9 0 [ ] \
  334. // €
  335. //
  336. // ' , . p y f g c r l / =
  337. // ä ê ë ü ç
  338. //
  339. // a o e u i d h t n s -
  340. // à ô é û î ß
  341. //
  342. // ; q j k x b m w v z
  343. // â ö è ù ï
  344.  
  345. partial alphanumeric_keys
  346. xkb_symbols "dvorak-alt-intl" {
  347.  
  348. include "us(dvorak)"
  349. name[Group1]= "English (Dvorak alternative international no dead keys)";
  350.  
  351. key <AE04> { [ 4, dollar, EuroSign ] };
  352.  
  353. key <AD02> { [ comma, less, adiaeresis, dead_caron ] };
  354. key <AD03> { [ period, greater, ecircumflex, periodcentered ] };
  355. key <AD04> { [ p, P, ediaeresis, dead_cedilla ] };
  356. key <AD05> { [ y, Y, udiaeresis ] };
  357. key <AD08> { [ c, C, ccedilla, dead_abovedot ] };
  358.  
  359. key <AC01> { [ a, A, agrave ] };
  360. key <AC02> { [ o, O, ocircumflex ] };
  361. key <AC03> { [ e, E, eacute ] };
  362. key <AC04> { [ u, U, ucircumflex ] };
  363. key <AC05> { [ i, I, icircumflex ] };
  364. key <AC10> { [ s, S, ssharp ] };
  365.  
  366. key <AB01> { [ semicolon, colon, acircumflex ] };
  367. key <AB02> { [ q, Q, odiaeresis, dead_ogonek ] };
  368. key <AB03> { [ j, J, egrave, dead_doubleacute ] };
  369. key <AB04> { [ k, K, ugrave ] };
  370. key <AB05> { [ x, X, idiaeresis ] };
  371.  
  372. include "level3(ralt_switch)"
  373. };
  374.  
  375. // Left and right handed dvorak layouts
  376. // by sqweek <sqweek@gmail.com> 2006-01-30
  377. // Based on the corresponding layouts in the console-tools package.
  378. partial alphanumeric_keys
  379. xkb_symbols "dvorak-l" {
  380.  
  381. include "us(dvorak)"
  382. name[Group1]= "English (left handed Dvorak)";
  383.  
  384. key <AE01> { [ bracketleft, braceleft ] };
  385. key <AE02> { [ bracketright, braceright ] };
  386. key <AE03> { [ slash, question ] };
  387. key <AE04> { [ p, P ] };
  388. key <AE05> { [ f, F ] };
  389. key <AE06> { [ m, M ] };
  390. key <AE07> { [ l, L ] };
  391. key <AE08> { [ j, J ] };
  392. key <AE09> { [ 4, dollar ] };
  393. key <AE10> { [ 3, numbersign ] };
  394. key <AE11> { [ 2, at ] };
  395. key <AE12> { [ 1, exclam ] };
  396.  
  397. key <AD01> { [ semicolon, colon ] };
  398. key <AD02> { [ q, Q ] };
  399. key <AD03> { [ b, B ] };
  400. key <AD04> { [ y, Y ] };
  401. key <AD05> { [ u, U ] };
  402. key <AD06> { [ r, R ] };
  403. key <AD07> { [ s, S ] };
  404. key <AD08> { [ o, O ] };
  405. key <AD09> { [ period, greater ] };
  406. key <AD10> { [ 6, asciicircum ] };
  407. key <AD11> { [ 5, percent ] };
  408. key <AD12> { [ equal, plus ] };
  409.  
  410. key <AC01> { [ minus, underscore ] };
  411. key <AC02> { [ k, K ] };
  412. key <AC03> { [ c, C ] };
  413. key <AC04> { [ d, D ] };
  414. key <AC05> { [ t, T ] };
  415. key <AC06> { [ h, H ] };
  416. key <AC07> { [ e, E ] };
  417. key <AC08> { [ a, A ] };
  418. key <AC09> { [ z, Z ] };
  419. key <AC10> { [ 8, asterisk ] };
  420. key <AC11> { [ 7, ampersand ] };
  421.  
  422. key <AB01> { [ apostrophe, quotedbl ] };
  423. key <AB02> { [ x, X ] };
  424. key <AB03> { [ g, G ] };
  425. key <AB04> { [ v, V ] };
  426. key <AB05> { [ w, W ] };
  427. key <AB06> { [ n, N ] };
  428. key <AB07> { [ i, I ] };
  429. key <AB08> { [ comma, less ] };
  430. key <AB09> { [ 0, parenright ] };
  431. key <AB10> { [ 9, parenleft ] };
  432. };
  433.  
  434. partial alphanumeric_keys
  435. xkb_symbols "dvorak-r" {
  436.  
  437. include "us(dvorak)"
  438. name[Group1]= "English (right handed Dvorak)";
  439.  
  440. key <AE01> { [ 1, exclam ] };
  441. key <AE02> { [ 2, at ] };
  442. key <AE03> { [ 3, numbersign ] };
  443. key <AE04> { [ 4, dollar ] };
  444. key <AE05> { [ j, J ] };
  445. key <AE06> { [ l, L ] };
  446. key <AE07> { [ m, M ] };
  447. key <AE08> { [ f, F ] };
  448. key <AE09> { [ p, P ] };
  449. key <AE10> { [ slash, question ] };
  450. key <AE11> { [ bracketleft, braceleft ] };
  451. key <AE12> { [ bracketright, braceright ] };
  452.  
  453. key <AD01> { [ 5, percent ] };
  454. key <AD02> { [ 6, asciicircum ] };
  455. key <AD03> { [ q, Q ] };
  456. key <AD04> { [ period, greater ] };
  457. key <AD05> { [ o, O ] };
  458. key <AD06> { [ r, R ] };
  459. key <AD07> { [ s, S ] };
  460. key <AD08> { [ u, U ] };
  461. key <AD09> { [ y, Y ] };
  462. key <AD10> { [ b, B ] };
  463. key <AD11> { [ semicolon, colon ] };
  464. key <AD12> { [ equal, plus ] };
  465.  
  466. key <AC01> { [ 7, ampersand ] };
  467. key <AC02> { [ 8, asterisk ] };
  468. key <AC03> { [ z, Z ] };
  469. key <AC04> { [ a, A ] };
  470. key <AC05> { [ e, E ] };
  471. key <AC06> { [ h, H ] };
  472. key <AC07> { [ t, T ] };
  473. key <AC08> { [ d, D ] };
  474. key <AC09> { [ c, C ] };
  475. key <AC10> { [ k, K ] };
  476. key <AC11> { [ minus, underscore ] };
  477.  
  478. key <AB01> { [ 9, parenleft ] };
  479. key <AB02> { [ 0, parenright ] };
  480. key <AB03> { [ x, X ] };
  481. key <AB04> { [ comma, less ] };
  482. key <AB05> { [ i, I ] };
  483. key <AB06> { [ n, N ] };
  484. key <AB07> { [ w, W ] };
  485. key <AB08> { [ v, V ] };
  486. key <AB09> { [ g, G ] };
  487. key <AB10> { [ apostrophe, quotedbl ] };
  488. };
  489.  
  490. // Classic dvorak layout
  491. // by Piter Punk <piterpk@terra.com.br> - 2006-07-06
  492. // Based on dvorak layout and e-mail from Russel L. Harris rlharris@oplink.net
  493. // on xorg list.
  494. partial alphanumeric_keys
  495. xkb_symbols "dvorak-classic" {
  496.  
  497. name[Group1]= "English (classic Dvorak)";
  498.  
  499. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  500.  
  501. key <AE01> { [ bracketleft, braceleft ] };
  502. key <AE02> { [ 7, ampersand ] };
  503. key <AE03> { [ 5, percent ] };
  504. key <AE04> { [ 3, numbersign ] };
  505. key <AE05> { [ 1, exclam ] };
  506. key <AE06> { [ 9, parenleft, dead_grave] };
  507. key <AE07> { [ 0, parenright ] };
  508. key <AE08> { [ 2, at ] };
  509. key <AE09> { [ 4, dollar ] };
  510. key <AE10> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
  511. key <AE11> { [ 8, asterisk ] };
  512. key <AE12> { [ bracketright, braceright, dead_tilde] };
  513.  
  514. key <AD01> { [ slash, question ] };
  515. key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
  516. key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
  517. key <AD04> { [ p, P ] };
  518. key <AD05> { [ y, Y ] };
  519. key <AD06> { [ f, F ] };
  520. key <AD07> { [ g, G ] };
  521. key <AD08> { [ c, C ] };
  522. key <AD09> { [ r, R ] };
  523. key <AD10> { [ l, L ] };
  524. key <AD11> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
  525. key <AD12> { [ equal, plus ] };
  526.  
  527. key <AC01> { [ a, A ] };
  528. key <AC02> { [ o, O ] };
  529. key <AC03> { [ e, E ] };
  530. key <AC04> { [ u, U ] };
  531. key <AC05> { [ i, I ] };
  532. key <AC06> { [ d, D ] };
  533. key <AC07> { [ h, H ] };
  534. key <AC08> { [ t, T ] };
  535. key <AC09> { [ n, N ] };
  536. key <AC10> { [ s, S ] };
  537. key <AC11> { [ minus, underscore ] };
  538.  
  539. key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
  540. key <AB02> { [ q, Q ] };
  541. key <AB03> { [ j, J ] };
  542. key <AB04> { [ k, K ] };
  543. key <AB05> { [ x, X ] };
  544. key <AB06> { [ b, B ] };
  545. key <AB07> { [ m, M ] };
  546. key <AB08> { [ w, W ] };
  547. key <AB09> { [ v, V ] };
  548. key <AB10> { [ z, Z ] };
  549. key <BKSL> { [ backslash, bar ] };
  550. };
  551.  
  552. // Programmer Dvorak, by Roland Kaufmann <rlndkfmn at gmail dot com>
  553. // License: BSD, available at <http://www.kaufmann.no/roland/dvorak/license.html>
  554. // Main features: Numbers are in shift position (like French), symbols have been
  555. // placed in locations that give good hand-alternation and finger rolling with
  556. // symbols that usually follows, accented characters are possible for I18N.
  557. // Patch suggestions should be sent upstream.
  558. partial alphanumeric_keys
  559. xkb_symbols "dvp" {
  560.  
  561. include "us(dvorak)"
  562. name[Group1] = "English (Programmer Dvorak)";
  563.  
  564. // Unmodified Shift AltGr Shift+AltGr
  565. // symbols row, left side
  566. key <TLDE> { [ dollar, asciitilde, dead_tilde ] };
  567. key <AE01> { [ ampersand, percent ] };
  568. key <AE02> { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  569. key <AE03> { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  570. key <AE04> { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  571. key <AE05> { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  572. key <AE06> { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  573.  
  574. // symbols row, right side
  575. key <AE07> { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  576. key <AE08> { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  577. key <AE09> { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  578. key <AE10> { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  579. key <AE11> { [ exclam, 8, exclamdown, U2E18 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // reversed interrobang
  580. key <AE12> { [ numbersign, grave, dead_grave ] };
  581. key <BKSP> { [ BackSpace, BackSpace ] };
  582.  
  583. // upper row, left side
  584. key <AD01> { [ semicolon, colon, dead_diaeresis ] };
  585. key <AD02> { [ comma, less, guillemotleft, U201C ] };
  586. key <AD03> { [ period, greater, guillemotright, U201D ] };
  587. key <AD04> { [ p, P, paragraph, section ] };
  588. key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
  589.  
  590. // upper row, right side
  591. key <AD08> { [ c, C, ccedilla, Ccedilla ] };
  592. key <AD09> { [ r, R, registered, trademark ] };
  593. key <AD11> { [ slash, question, questiondown, U203D ] }; // interrobang
  594. key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
  595.  
  596. // home row, left side
  597. key <AC01> { [ a, A, aring, Aring ] };
  598. key <AC02> { [ o, O, oslash, Ooblique ] };
  599. key <AC03> { [ e, E, ae, AE ] };
  600. key <AC04> { [ u, U, eacute, Eacute ] };
  601.  
  602. // home row, right side
  603. key <AC06> { [ d, D, eth, ETH ] };
  604. key <AC07> { [ h, H, dead_acute ] };
  605. key <AC08> { [ t, T, thorn, THORN ] };
  606. key <AC09> { [ n, N, ntilde, Ntilde ] };
  607. key <AC10> { [ s, S, ssharp ] };
  608. key <AC11> { [ minus, underscore, hyphen, endash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  609. key <BKSL> { [ backslash, bar ] };
  610.  
  611. // lower row, left side
  612. key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
  613.  
  614. // do NOT hardcode this switch; use lv3:ralt_switch option instead!
  615. //include "level3(ralt_switch)"
  616. };
  617.  
  618. // phonetic layout for Russian letters on an US keyboard
  619. // by Ivan Popov <pin@konvalo.org> 2005-07-17
  620.  
  621. // level3 modifier is a shortcut to the "us" meaning of the keys where
  622. // we place cyrillic letters, handy for accessing the corresponding
  623. // punctuation marks.
  624. // It is important to have access to punctuation marks, and the rest of
  625. // alphabetical keys are added for being consequent so that the users
  626. // can expect the level3 modifier to give what the key label shows.
  627.  
  628. partial alphanumeric_keys
  629. xkb_symbols "rus" {
  630.  
  631. include "us(basic)"
  632. name[Group1]= "Russian (US, phonetic)";
  633.  
  634. key.type[group1]="FOUR_LEVEL_ALPHABETIC";
  635.  
  636. key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
  637. key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
  638. key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
  639. key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  640. key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
  641. key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
  642. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
  643. key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  644. key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
  645. key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
  646. key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  647. key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
  648. key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
  649. key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
  650. key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
  651. key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
  652. key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
  653. key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
  654. key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
  655. key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
  656. key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
  657. key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
  658. key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
  659. key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
  660. key <AC10> { [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] };
  661. key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] };
  662. key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] };
  663. key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
  664. key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  665. key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  666. key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
  667. key <AC11> { [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] };
  668. key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
  669.  
  670. include "level3(ralt_switch)"
  671. };
  672.  
  673. partial alphanumeric_keys
  674. xkb_symbols "mac" {
  675.  
  676. include "us(basic)"
  677. name[Group1]= "English (Macintosh)";
  678. key.type[group1]="FOUR_LEVEL";
  679.  
  680. // Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
  681. key <LSGT> { [ section, plusminus, section, plusminus ] };
  682. key <TLDE> { [ grave, asciitilde, dead_grave, dead_horn ] };
  683. key <AE01> { [ 1, exclam, exclamdown, U2044 ] };
  684. key <AE02> { [ 2, at, trademark, EuroSign ] };
  685. key <AE03> { [ 3, numbersign, sterling, U2039 ] };
  686. key <AE04> { [ 4, dollar, cent, U203A ] };
  687. key <AE05> { [ 5, percent, infinity, UFB01 ] };
  688. key <AE06> { [ 6,asciicircum, section, UFB02 ] };
  689. key <AE07> { [ 7, ampersand, paragraph, doubledagger ] };
  690. key <AE08> { [ 8, asterisk, enfilledcircbullet, degree ] };
  691. key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
  692. key <AE10> { [ 0, parenright, masculine,singlelowquotemark] };
  693. key <AE11> { [ minus, underscore, endash, emdash ] };
  694. key <AE12> { [ equal, plus, notequal, plusminus ] };
  695.  
  696. key <AD01> { [ q, Q, oe, OE ] };
  697. key <AD02> { [ w, W, U2211,doublelowquotemark] };
  698. key <AD03> { [ e, E, dead_acute, acute ] };
  699. key <AD04> { [ r, R, registered, U2030 ] };
  700. key <AD05> { [ t, T, dagger, dead_caron ] };
  701. key <AD06> { [ y, Y, yen, onequarter ] };
  702. key <AD07> { [ u, U, dead_diaeresis, diaeresis ] };
  703. key <AD08> { [ i, I, dead_circumflex, U02C6 ] };
  704. key <AD09> { [ o, O, oslash, Ooblique ] };
  705. key <AD10> { [ p, P, Greek_pi, U220F ] };
  706. key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
  707. key <AD12> { [bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
  708. key <BKSL> { [ backslash, bar, guillemotleft, guillemotright ] };
  709.  
  710. key <AC01> { [ a, A, aring, Aring ] };
  711. key <AC02> { [ s, S, ssharp, dead_stroke ] };
  712. key <AC03> { [ d, D, partialderivative, eth ] };
  713. key <AC04> { [ f, F, function, dead_hook ] };
  714. key <AC05> { [ g, G, copyright, dead_doubleacute ] };
  715. key <AC06> { [ h, H, dead_abovedot, dead_belowdot ] };
  716. key <AC07> { [ j, J, U2206, onehalf ] };
  717. key <AC08> { [ k, K,dead_abovering, UF8FF ] };
  718.  
  719. key <AC09> { [ l, L, notsign, THORN ] };
  720. key <AC10> { [ semicolon, colon, U2026, thorn ] };
  721. key <AC11> { [apostrophe, quotedbl, ae, AE ] };
  722.  
  723. key <AB01> { [ z, Z, Greek_OMEGA, dead_cedilla ] };
  724. key <AB02> { [ x, X, U2248, dead_ogonek ] };
  725. // unclear whether "approxeq" is 2248 or 2245
  726. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  727. key <AB04> { [ v, V, squareroot, U25CA ] };
  728. key <AB05> { [ b, B, integral, idotless ] };
  729. key <AB06> { [ n, N, dead_tilde, U02DC ] };
  730. key <AB07> { [ m, M, mu, threequarters ] };
  731. key <AB08> { [ comma, less, lessthanequal, dead_macron ] };
  732. key <AB09> { [ period, greater, greaterthanequal, dead_breve ] };
  733. key <AB10> { [ slash, question, division, questiondown ] };
  734.  
  735. include "level3(ralt_switch)"
  736. };
  737.  
  738. // Colemak symbols for xkb on X.Org Server 7.x
  739. // 2006-01-01 Shai Coleman, http://colemak.com/
  740.  
  741. partial alphanumeric_keys
  742. xkb_symbols "colemak" {
  743.  
  744. include "us"
  745. name[Group1]= "English (Colemak)";
  746.  
  747. key <TLDE> { [ asciitilde, grave, dead_tilde, asciitilde ] };
  748. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  749. key <AE02> { [ 2, at, masculine, twosuperior ] };
  750. key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] };
  751. key <AE04> { [ 4, dollar, cent, sterling ] };
  752. key <AE05> { [ 5, percent, EuroSign, yen ] };
  753. key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] };
  754. key <AE07> { [ 7, ampersand, eth, ETH ] };
  755. key <AE08> { [ 8, asterisk, thorn, THORN ] };
  756. key <AE09> { [ 9, leftsinglequotemark, leftdoublequotemark, 0x1002039 ] };
  757. key <AE10> { [ 0, rightsinglequotemark, rightdoublequotemark, 0x100203a ] };
  758. key <AE11> { [ minus, underscore, endash, emdash ] };
  759. key <AE12> { [ equal, plus, multiply, division ] };
  760.  
  761. key <AD01> { [ q, Q, aacute, Aacute ] };
  762. key <AD02> { [ w, W, dead_grave, asciitilde ] };
  763. key <AD03> { [ f, F, atilde, Atilde ] };
  764. key <AD04> { [ p, P, oslash, Ooblique ] };
  765. key <AD05> { [ g, G, dead_ogonek, asciitilde ] };
  766. key <AD06> { [ j, J, dstroke, Dstroke ] };
  767. key <AD07> { [ l, L, lstroke, Lstroke ] };
  768. key <AD08> { [ u, U, uacute, Uacute ] };
  769. key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] };
  770. key <AD10> { [ semicolon, colon, oacute, Oacute ] };
  771. key <AD11> { [ parenleft, bracketleft, braceleft, guillemotleft ] };
  772. key <AD12> { [ parenright, bracketright, braceright, guillemotright ] };
  773. key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
  774.  
  775. key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
  776. key <AC02> { [ r, R, aring, Aring ] };
  777. key <AC03> { [ s, S, ssharp, asciitilde ] };
  778. key <AC04> { [ t, T, dead_acute, dead_doubleacute ] };
  779. key <AC05> { [ d, D, dead_diaeresis, asciitilde ] };
  780. key <AC06> { [ h, H, dead_caron, asciitilde ] };
  781. key <AC07> { [ n, N, ntilde, Ntilde ] };
  782. key <AC08> { [ e, E, eacute, Eacute ] };
  783. key <AC09> { [ i, I, iacute, Iacute ] };
  784. key <AC10> { [ o, O, odiaeresis, Odiaeresis ] };
  785. key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] };
  786.  
  787. key <AB01> { [ z, Z, ae, AE ] };
  788. key <AB02> { [ x, X, dead_circumflex, asciitilde ] };
  789. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  790. key <AB04> { [ v, V, oe, OE ] };
  791. key <AB05> { [ b, B, dead_breve, asciitilde ] };
  792. key <AB06> { [ k, K, dead_abovering, asciitilde ] };
  793. key <AB07> { [ m, M, dead_macron, asciitilde ] };
  794. key <AB08> { [ comma, less, dead_cedilla, asciitilde ] };
  795. key <AB09> { [ period, greater, dead_abovedot, asciitilde ] };
  796. key <AB10> { [ slash, question, questiondown, asciitilde ] };
  797.  
  798. // key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
  799. key <LSGT> { [ minus, underscore, endash, emdash ] };
  800. key <SPCE> { [ space, space, space, nobreakspace ] };
  801.  
  802. include "level3(ralt_switch)"
  803. };
  804.  
  805. // I do NOT like dead-keys - the International keyboard as defined by Microsoft
  806. // doesn't fit my needs. Why use two keystrokes for all simple characters (eg '
  807. // and <space> generates a single ') just to have an é (eacute) in two strokes
  808. // as well? I type ' more often than é (eacute).
  809. //
  810. // This file works just like a regular keyboard, BUT has all dead-keys
  811. // accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+"
  812. // followed by an e. In other words, this keyboard is not international as long
  813. // as you leave the right Alt key alone.
  814. //
  815. // The original MS International keyboard was intended for Latin1 (iso8859-1).
  816. // With the introduction of iso8859-15, the (important) ligature oe (and OE)
  817. // became available. I added them next to ae. Because I write ediaeresis more
  818. // often than registered, I moved registered to be next to copyright and added
  819. // ediaeresis and idiaeresis. - Adriaan
  820.  
  821. partial alphanumeric_keys
  822. xkb_symbols "altgr-intl" {
  823.  
  824. include "us(intl)"
  825. name[Group1]= "English (international AltGr dead keys)";
  826.  
  827. // five dead keys moved into level3:
  828.  
  829. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  830. key <AC11> { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] };
  831.  
  832. // diversions from the MS Intl keyboard:
  833.  
  834. key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
  835. key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
  836. key <AC07> { [ j, J, idiaeresis, Idiaeresis ] };
  837. key <AB02> { [ x, X, oe, OE ] };
  838. key <AB04> { [ v, V, registered, registered ] };
  839.  
  840. // onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys:
  841.  
  842. key <AE06> { [ 6, asciicircum, dead_circumflex, onequarter ] };
  843. key <AE07> { [ 7, ampersand, dead_horn, onehalf ] };
  844. key <AE08> { [ 8, asterisk, dead_ogonek, threequarters ] };
  845.  
  846. include "level3(ralt_switch)"
  847. };
  848.  
  849. // Intel ClassmatePC Keyboard Layout
  850. // by Piter PUNK <piterpk@terra.com.br>
  851. //
  852. // The keyboard layouts below maps the us(basic), us(intl) and us(alt-intl)
  853. // to ClassmatePC keyboard. All layouts uses RCTL as level3(switch) since
  854. // the keyboard doesn't have AltGr key. The EuroSign is engraved at 5 key.
  855.  
  856. // classmate - us(basic)
  857. partial alphanumeric_keys
  858. xkb_symbols "classmate" {
  859. include "us(basic)"
  860. name[Group1]= "English (US)";
  861.  
  862. key <LSGT> { [ backslash, bar, backslash, bar ] };
  863.  
  864. include "eurosign(5)"
  865. include "level3(switch)"
  866. };
  867.  
  868. // classmate-intl - us(intl)
  869. // RCTL is generated by Fn+Alt, because that, when trying to access
  870. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  871. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  872. // generate the same symbol as the original key.
  873. partial alphanumeric_keys
  874. xkb_symbols "classmate-intl" {
  875. include "us(intl)"
  876. name[Group1]= "USA - ClassmatePC (International)";
  877. key.type[Group1]="FOUR_LEVEL";
  878.  
  879. key <LSGT> { [ backslash, bar, backslash, bar ] };
  880.  
  881. key <KP7> { [ KP_Home, KP_7,
  882. onehalf, dead_horn ] };
  883. key <KP8> { [ KP_Up, KP_8,
  884. threequarters, dead_ogonek ] };
  885. key <KP9> { [ KP_Prior, KP_9,
  886. leftsinglequotemark, dead_breve ] };
  887. key <KPMU> { [ KP_Multiply, KP_Multiply,
  888. rightsinglequotemark, dead_abovering ] };
  889.  
  890. key <KP4> { [ KP_Left, KP_4,
  891. uacute, Uacute ] };
  892. key <KP5> { [ KP_Begin, KP_5,
  893. iacute, Iacute ] };
  894. key <KP6> { [ KP_Right, KP_6,
  895. oacute, Oacute ] };
  896. key <KPSU> { [ KP_Subtract, KP_Subtract,
  897. odiaeresis, Odiaeresis ] };
  898.  
  899. key <KP2> { [ KP_Down, KP_2,
  900. oe, OE ] };
  901. key <KP3> { [ KP_Next, KP_3,
  902. oslash, Ooblique ] };
  903. key <KPAD> { [ KP_Add, KP_Add,
  904. paragraph, degree ] };
  905.  
  906. key <KP0> { [ KP_Insert, KP_0,
  907. mu, mu ] };
  908. key <KPDL> { [ KP_Delete, KP_Decimal,
  909. dead_abovedot, dead_caron ] };
  910. key <KPDV> { [ KP_Divide, KP_Divide,
  911. questiondown, dead_hook ] };
  912.  
  913. include "level3(switch)"
  914. };
  915.  
  916. // classmate-alt-intl - us(alt-intl)
  917. // RCTL is generated by Fn+Alt, because that, when trying to access
  918. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  919. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  920. // generate the same symbol as the original key.
  921. partial alphanumeric_keys
  922. xkb_symbols "classmate-alt-intl" {
  923. include "us(alt-intl)"
  924. name[Group1]= "USA - ClassmatePC (Alternative international)";
  925. key.type[Group1]="FOUR_LEVEL";
  926.  
  927. key <LSGT> { [ backslash, bar, backslash, bar ] };
  928.  
  929. key <KPSU> { [ KP_Subtract, KP_Subtract ] };
  930.  
  931. key <KP9> { [ KP_Prior, KP_9,
  932. leftsinglequotemark, dead_breve ] };
  933. key <KPMU> { [ KP_Multiply, KP_Multiply,
  934. rightsinglequotemark, dead_abovering ] };
  935.  
  936. key <KPAD> { [ KP_Add, KP_Add,
  937. dead_ogonek, dead_diaeresis ] };
  938.  
  939. key <KPDL> { [ KP_Delete, KP_Decimal,
  940. dead_abovedot, dead_circumflex ] };
  941. key <KPDV> { [ KP_Divide, KP_Divide,
  942. dead_hook, dead_hook ] };
  943.  
  944. include "level3(switch)"
  945. };
  946.  
  947. // classmate-altgr-intl - us(altgr-intl)
  948. // RCTL is generated by Fn+Alt, because that, when trying to access
  949. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  950. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  951. // generate the same symbol as the original key.
  952. partial alphanumeric_keys
  953. xkb_symbols "classmate-altgr-intl" {
  954. include "us(altgr-intl)"
  955. name[Group1]= "USA - ClassmatePC (International Fn+Alt dead-keys)";
  956. key.type[Group1]="FOUR_LEVEL";
  957.  
  958. key <LSGT> { [ backslash, bar, backslash, bar ] };
  959.  
  960. key <KP7> { [ KP_Home, KP_7,
  961. dead_horn, dead_horn ] };
  962. key <KP8> { [ KP_Up, KP_8,
  963. dead_ogonek, dead_ogonek ] };
  964. key <KP9> { [ KP_Prior, KP_9,
  965. leftsinglequotemark, dead_breve ] };
  966. key <KPMU> { [ KP_Multiply, KP_Multiply,
  967. rightsinglequotemark, dead_abovering ] };
  968.  
  969. key <KP4> { [ KP_Left, KP_4,
  970. uacute, Uacute ] };
  971. key <KP5> { [ KP_Begin, KP_5,
  972. iacute, Iacute ] };
  973. key <KP6> { [ KP_Right, KP_6,
  974. oacute, Oacute ] };
  975. key <KPSU> { [ KP_Subtract, KP_Subtract,
  976. odiaeresis, Odiaeresis ] };
  977.  
  978. key <KP1> { [ KP_End, KP_1,
  979. idiaeresis, Idiaeresis ] };
  980. key <KP2> { [ KP_Down, KP_2,
  981. oe, OE ] };
  982. key <KP3> { [ KP_Next, KP_3,
  983. oslash, Ooblique ] };
  984. key <KPAD> { [ KP_Add, KP_Add,
  985. paragraph, degree ] };
  986.  
  987. key <KP0> { [ KP_Insert, KP_0,
  988. mu, mu ] };
  989. key <KPDL> { [ KP_Delete, KP_Decimal,
  990. dead_abovedot, dead_caron ] };
  991. key <KPDV> { [ KP_Divide, KP_Divide,
  992. questiondown, dead_hook ] };
  993.  
  994. include "level3(switch)"
  995. };
  996.  
  997. partial alphanumeric_keys
  998. xkb_symbols "olpc" {
  999.  
  1000. include "us(basic)"
  1001. name[Group1]= "English (US)";
  1002.  
  1003. // OLPC international US English keyboard layout.
  1004. // It's a little different from the usual international layout.
  1005. // See: http://wiki.laptop.org/go/Image:Keyboard_english.png
  1006.  
  1007. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  1008. key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
  1009. key <AE02> { [ 2, at, notsign, notsign ] };
  1010. key <AE03> { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave
  1011. key <AE04> { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute
  1012. key <AE05> { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above
  1013. key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
  1014. key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
  1015. key <AE08> { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above
  1016. key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
  1017. key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
  1018. key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
  1019. key <AE12> { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above
  1020.  
  1021. key <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
  1022. key <AD02> { [ w, W, oslash, Oslash ] };
  1023. key <AD03> { [ e, E, oe, OE ] };
  1024. key <AD04> { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla
  1025. key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
  1026. key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
  1027. key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
  1028. key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
  1029. key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
  1030. key <AD10> { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below
  1031. key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
  1032. key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
  1033.  
  1034. key <AC01> { [ a, A, ae, AE ] };
  1035. key <AC02> { [ s, S, ssharp, 0x1001E9C ] }; // uppercase S sharp
  1036. key <AC03> { [ d, D, eth, ETH ] };
  1037. key <AC04> { [ f, F, thorn, THORN ] };
  1038. key <AC06> { [ h, H, sterling, sterling ] };
  1039. key <AC07> { [ j, J, EuroSign, EuroSign ] };
  1040. key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
  1041. key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
  1042. key <AC12> { [ backslash, bar, section, section ] };
  1043.  
  1044. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  1045. key <AB06> { [ n, N, ntilde, Ntilde ] };
  1046. key <AB07> { [ m, M, mu, mu ] };
  1047. key <AB08> { [ comma, less, guillemotleft, guillemotleft ] };
  1048. key <AB09> { [ period, greater, guillemotright, guillemotright ] };
  1049. key <AB10> { [ slash, question, questiondown, questiondown ] };
  1050.  
  1051. key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
  1052.  
  1053. include "level3(ralt_switch)"
  1054. };
  1055.  
  1056. partial alphanumeric_keys
  1057. xkb_symbols "olpc2" {
  1058. include "us(olpc)"
  1059. name[Group1]= "English (the divide/multiply keys toggle the layout)";
  1060. include "group(olpc)"
  1061. };
  1062.  
  1063. xkb_symbols "olpcm" {
  1064.  
  1065. include "us(basic)"
  1066. name[Group1]= "English (US)";
  1067.  
  1068. // Mechanical (non-membrane) OLPC int'l US English keyboard layout.
  1069. // See: http://wiki.laptop.org/go/OLPC_English_Non-membrane_Keyboard
  1070.  
  1071. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  1072. key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
  1073. key <AE02> { [ 2, at, notsign, notsign ] };
  1074. key <AE03> { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave
  1075. key <AE04> { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute
  1076. key <AE05> { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above
  1077. key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
  1078. key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
  1079. key <AE08> { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above
  1080. key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
  1081. key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
  1082. key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
  1083.  
  1084. key <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
  1085. key <AD02> { [ w, W, oslash, Oslash ] };
  1086. key <AD03> { [ e, E, oe, OE ] };
  1087. key <AD04> { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla
  1088. key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
  1089. key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
  1090. key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
  1091. key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
  1092. key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
  1093. key <AD10> { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below
  1094. key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
  1095. key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
  1096.  
  1097. key <AC01> { [ a, A, ae, AE ] };
  1098. key <AC02> { [ s, S, ssharp, 0x1001E9C ] }; // uppercase S sharp
  1099. key <AC03> { [ d, D, eth, ETH ] };
  1100. key <AC04> { [ f, F, thorn, THORN ] };
  1101. key <AC06> { [ h, H, sterling, sterling ] };
  1102. key <AC07> { [ j, J, EuroSign, EuroSign ] };
  1103. key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
  1104. // no AC11 or AC12 on olpcm
  1105.  
  1106. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  1107. key <AB06> { [ n, N, ntilde, Ntilde ] };
  1108. key <AB07> { [ m, M, mu, mu ] };
  1109. key <AB08> { [ comma, less, guillemotleft, guillemotleft ] };
  1110. key <AB09> { [ period, greater, guillemotright, guillemotright ] };
  1111. key <AB10> { [ slash, question, questiondown, questiondown ] };
  1112.  
  1113. key <AA02> { [ backslash, bar, section, section ] };
  1114. key <AA06> { [ equal, plus, 0x1000303, 0x1000303 ] };
  1115. key <AA07> { [ apostrophe, quotedbl, currency, currency ] };
  1116.  
  1117. include "level3(ralt_switch)"
  1118. };
  1119.  
  1120. // Based on Cherokee Nation Official Layout
  1121. // http://www.cherokee.org/extras/downloads/font/Keyboard.htm
  1122.  
  1123. partial alphanumeric_keys modifier_keys
  1124. xkb_symbols "chr" {
  1125.  
  1126. name[Group1]= "Cherokee";
  1127. key.type[group1]="ALPHABETIC";
  1128.  
  1129. key <TLDE> { [ grave, U13CA ] };
  1130. key <AE01> { [ 1, U13B1 ] };
  1131. key <AE02> { [ 2, U13C7 ] };
  1132. key <AE03> { [ 3, U13E7 ] };
  1133. key <AE04> { [ U13D9, U13B0 ] };
  1134. key <AE05> { [ U13E6, U13B9 ] };
  1135. key <AE06> { [ U13DC, U13DD ] };
  1136. key <AE07> { [ U13CB, U13E1 ] };
  1137. key <AE08> { [ U13D6, U13BA ] };
  1138. key <AE09> { [ U13D2, parenleft ] };
  1139. key <AE10> { [ U13C4, parenright ] };
  1140. key <AE11> { [ U13BF, U13BC ] };
  1141. key <AE12> { [ U13F3, U13BD ] };
  1142.  
  1143. key <AD01> { [ U13AA, U13C6 ] };
  1144. key <AD02> { [ U13B3, U13EB ] };
  1145. key <AD03> { [ U13A1, U13E3 ] };
  1146. key <AD04> { [ U13DB, U13CF ] };
  1147. key <AD05> { [ U13D4, U13D8 ] };
  1148. key <AD06> { [ U13EF, U13F2 ] };
  1149. key <AD07> { [ U13A4, U13AD ] };
  1150. key <AD08> { [ U13A2, U13F1 ] };
  1151. key <AD09> { [ U13A3, U13EC ] };
  1152. key <AD10> { [ U13C1, U13EA ] };
  1153. key <AD11> { [ U13D5, U13D1 ] };
  1154. key <AD12> { [ U13B6, U13E4 ] };
  1155. key <BKSL> { [ U13E9, U13EE ] };
  1156.  
  1157. key <AC01> { [ U13A0, U13CC ] };
  1158. key <AC02> { [ U13CD, U13CE ] };
  1159. key <AC03> { [ U13D7, U13D0 ] };
  1160. key <AC04> { [ U13A9, U13C8 ] };
  1161. key <AC05> { [ U13A6, U13E5 ] };
  1162. key <AC06> { [ U13AF, U13B2 ] };
  1163. key <AC07> { [ U13DA, U13AB ] };
  1164. key <AC08> { [ U13B8, U13A7 ] };
  1165. key <AC09> { [ U13B5, U13AE ] };
  1166. key <AC10> { [ U13E8, U13E0 ] };
  1167. key <AC11> { [ apostrophe, quotedbl ] };
  1168.  
  1169. key <AB01> { [ U13AC, U13C3 ] };
  1170. key <AB02> { [ U13F4, U13ED ] };
  1171. key <AB03> { [ U13D3, U13DF ] };
  1172. key <AB04> { [ U13A5, U13DE ] };
  1173. key <AB05> { [ U13A8, U13F0 ] };
  1174. key <AB06> { [ U13BE, U13BB ] };
  1175. key <AB07> { [ U13C5, U13B7 ] };
  1176. key <AB08> { [ comma, U13E2 ] };
  1177. key <AB09> { [ period, U13B4 ] };
  1178. key <AB10> { [ U13C2, U13C9 ] };
  1179. };
  1180.  
  1181. // Serbian charecters added as third level symbols to US keyboard layout.
  1182.  
  1183. partial alphanumeric_keys
  1184. xkb_symbols "hbs" {
  1185.  
  1186. include "us"
  1187. name[Group1]= "Serbo-Croatian (US)";
  1188.  
  1189. key <TLDE> { [ grave, asciitilde ] };
  1190. key <AE06> { [ 6, dead_caron, asciicircum, asciicircum ] };
  1191. key <AE08> { [ 8, asterisk, multiply, division ] };
  1192. key <AE11> { [ minus, underscore, endash, emdash ] };
  1193. key <AC09> { [ l, L, U1C9, U1C8 ] };
  1194. key <AB06> { [ n, N, U1CC, U1CB ] };
  1195. key <AB01> { [ z, Z, U1C6, U1C5 ] };
  1196. key <AD03> { [ e, E, EuroSign, cent ] };
  1197. key <AC03> { [ d, D, dstroke, Dstroke ] };
  1198. key <AC11> { [ dead_acute, quotedbl, apostrophe, apostrophe ] };
  1199. key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
  1200. key <AB08> { [ comma, less, U3003, guillemotright ] };
  1201. key <AB09> { [ period, greater, ellipsis, guillemotleft ] };
  1202.  
  1203. include "level3(ralt_switch)"
  1204. };
  1205.  
  1206. //based on http://upload.wikimedia.org/wikipedia/commons/1/18/T-Mobile_G1_launch_event_2.jpg
  1207. partial alphanumeric_keys
  1208. xkb_symbols "htcdream" {
  1209. include "inet(htcdream)"
  1210. name[Group1]= "English (US)";
  1211.  
  1212. //second row
  1213. key <AD01> { [ q, Q, Tab, Tab ] };
  1214. key <AD02> { [ w, W, grave, grave ] };
  1215. key <AD03> { [ e, E, underscore, underscore ] };
  1216. key <AD04> { [ r, R, sterling, sterling ] };
  1217. key <AD05> { [ t, T, EuroSign, EuroSign ] };
  1218. key <AD06> { [ y, Y, division, division ] };
  1219. key <AD07> { [ u, U, multiply, multiply ] };
  1220. key <AD08> { [ i, I, minus, minus ] };
  1221. key <AD09> { [ o, O, plus, plus ] };
  1222. key <AD10> { [ p, P, equal, equal ] };
  1223.  
  1224. //third row
  1225. key <AC01> { [ a, A, NoSymbol, NoSymbol ] };
  1226. key <AC02> { [ s, S, bar, bar ] };
  1227. key <AC03> { [ d ,D, backslash, backslash ] };
  1228. key <AC04> { [ f, F, braceleft, braceleft ] };
  1229. key <AC05> { [ g, G, braceright, braceright ] };
  1230. key <AC06> { [ h, H, colon, colon ] };
  1231. key <AC07> { [ j, J, semicolon, semicolon ] };
  1232. key <AC08> { [ k, K, quotedbl, quotedbl ] };
  1233. key <AC09> { [ l, L, apostrophe, apostrophe ] };
  1234.  
  1235. //forth row
  1236. key <AB01> { [ z, Z, NoSymbol, NoSymbol ] };
  1237. key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
  1238. key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
  1239. key <AB04> { [ v, V, bracketleft, bracketleft ] };
  1240. key <AB05> { [ b, B, bracketright, bracketright ] };
  1241. key <AB06> { [ n, N, less, less ] };
  1242. key <AB07> { [ m, M, greater, greater ] };
  1243. key <AB08> { [ comma, comma, question, question ] };
  1244.  
  1245. //fifth row
  1246. key <FK15> { [ at, at, asciitilde, asciitilde ] };
  1247.  
  1248. include "level3(alt_switch)"
  1249. };
  1250.  
  1251. // Workman Keyboard Layout symbols for xkb on X.Org Server 7.x
  1252. // 09-06-2010 OJ Bucao. http://www.workmanlayout.com
  1253.  
  1254. partial alphanumeric_keys
  1255. xkb_symbols "workman" {
  1256.  
  1257. include "us(basic)"
  1258. name[Group1]= "English (Workman)";
  1259.  
  1260. key <AD01> { [ q, Q ] };
  1261. key <AD02> { [ d, D ] };
  1262. key <AD03> { [ r, R ] };
  1263. key <AD04> { [ w, W ] };
  1264. key <AD05> { [ b, B ] };
  1265. key <AD06> { [ j, J ] };
  1266. key <AD07> { [ f, F ] };
  1267. key <AD08> { [ u, U ] };
  1268. key <AD09> { [ p, P ] };
  1269. key <AD10> { [ semicolon, colon ] };
  1270.  
  1271. key <AC01> { [ a, A ] };
  1272. key <AC02> { [ s, S ] };
  1273. key <AC03> { [ h, H ] };
  1274. key <AC04> { [ t, T ] };
  1275. key <AC05> { [ g, G ] };
  1276. key <AC06> { [ y, Y ] };
  1277. key <AC07> { [ n, N ] };
  1278. key <AC08> { [ e, E ] };
  1279. key <AC09> { [ o, O ] };
  1280. key <AC10> { [ i, I ] };
  1281.  
  1282. key <AB01> { [ z, Z ] };
  1283. key <AB02> { [ x, X ] };
  1284. key <AB03> { [ m, M ] };
  1285. key <AB04> { [ c, C ] };
  1286. key <AB05> { [ v, V ] };
  1287. key <AB06> { [ k, K ] };
  1288. key <AB07> { [ l, L ] };
  1289.  
  1290. key <CAPS> { [ BackSpace, Escape, BackSpace, BackSpace ] };
  1291.  
  1292. include "level3(ralt_switch)"
  1293. };
  1294.  
  1295. partial alphanumeric_keys
  1296. xkb_symbols "workman-intl" {
  1297.  
  1298. include "us(intl)"
  1299. name[Group1]= "English (Workman, international with dead keys)";
  1300.  
  1301. key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
  1302. key <AD02> { [ d, D, eth, ETH ] };
  1303. key <AD03> { [ r, R, registered, registered ] };
  1304. key <AD04> { [ w, W, aring, Aring ] };
  1305. key <AD05> { [ b, B, b, B ] };
  1306. key <AD06> { [ j, J, j, J ] };
  1307. key <AD07> { [ f, F, f, F ] };
  1308. key <AD08> { [ u, U, uacute, Uacute ] };
  1309. key <AD09> { [ p, P, odiaeresis, Odiaeresis ] };
  1310. key <AD10> { [ semicolon, colon, paragraph, degree ] };
  1311.  
  1312. key <AC01> { [ a, A, aacute, Aacute ] };
  1313. key <AC02> { [ s, S, ssharp, section ] };
  1314. key <AC03> { [ h, H, h, H ] };
  1315. key <AC04> { [ t, T, thorn, THORN ] };
  1316. key <AC05> { [ g, G, g, G ] };
  1317. key <AC06> { [ y, Y, udiaeresis, Udiaeresis ] };
  1318. key <AC07> { [ n, N, ntilde, Ntilde ] };
  1319. key <AC08> { [ e, E, eacute, Eacute ] };
  1320. key <AC09> { [ o, O, oacute, Oacute ] };
  1321. key <AC10> { [ i, I, iacute, Iacute ] };
  1322.  
  1323. key <AB01> { [ z, Z, ae, AE ] };
  1324. key <AB02> { [ x, X, x, X ] };
  1325. key <AB03> { [ m, M, mu, mu ] };
  1326. key <AB04> { [ c, C, copyright, cent ] };
  1327. key <AB05> { [ v, V, v, V ] };
  1328. key <AB06> { [ k, K, oe, OE ] };
  1329. key <AB07> { [ l, L, oslash, Ooblique ] };
  1330.  
  1331. key <CAPS> { [ BackSpace, Escape, BackSpace, BackSpace ] };
  1332.  
  1333. include "level3(ralt_switch)"
  1334. };
  1335.  
  1336. // Norman keyboard layout symbols for xkb on X.Org Server 7.x
  1337. // Written 11/23/2012, revised 3/7/2013 by David Norman http://normanlayout.info
  1338. // To the extent possible under law, the author(s) have dedicated all
  1339. // copyright and related and neighboring rights to this software to the
  1340. // public domain worldwide. This software is distributed without any warranty.
  1341.  
  1342. partial alphanumeric_keys
  1343. xkb_symbols "norman" {
  1344.  
  1345. include "us(basic)"
  1346. name[Group1]= "English (Norman)";
  1347.  
  1348. key <AD01> { [ q, Q ] };
  1349. key <AD02> { [ w, W ] };
  1350. key <AD03> { [ d, D ] };
  1351. key <AD04> { [ f, F ] };
  1352. key <AD05> { [ k, K ] };
  1353. key <AD06> { [ j, J ] };
  1354. key <AD07> { [ u, U ] };
  1355. key <AD08> { [ r, R ] };
  1356. key <AD09> { [ l, L ] };
  1357. key <AD10> { [ semicolon, colon ] };
  1358.  
  1359. key <AC01> { [ a, A ] };
  1360. key <AC02> { [ s, S ] };
  1361. key <AC03> { [ e, E ] };
  1362. key <AC04> { [ t, T ] };
  1363. key <AC05> { [ g, G ] };
  1364. key <AC06> { [ y, Y ] };
  1365. key <AC07> { [ n, N ] };
  1366. key <AC08> { [ i, I ] };
  1367. key <AC09> { [ o, O ] };
  1368. key <AC10> { [ h, H ] };
  1369.  
  1370. key <AB01> { [ z, Z ] };
  1371. key <AB02> { [ x, X ] };
  1372. key <AB03> { [ c, C ] };
  1373. key <AB04> { [ v, V ] };
  1374. key <AB05> { [ b, B ] };
  1375. key <AB06> { [ p, P ] };
  1376. key <AB07> { [ m, M ] };
  1377.  
  1378. key <CAPS> { [ BackSpace ] };
  1379.  
  1380. include "level3(ralt_switch)"
  1381. };
  1382.  
  1383. // Carpalx layout created by Martin Krzywinski
  1384. // http://mkweb.bcgsc.ca/carpalx/
  1385.  
  1386. partial alphanumeric_keys
  1387. xkb_symbols "carpalx" {
  1388.  
  1389. name[Group1]= "English (Carpalx)";
  1390.  
  1391. key <TLDE> { [ grave, asciitilde ] };
  1392. key <AE01> { [ 1, exclam ] };
  1393. key <AE02> { [ 2, at ] };
  1394. key <AE03> { [ 3, numbersign ] };
  1395. key <AE04> { [ 4, dollar ] };
  1396. key <AE05> { [ 5, percent ] };
  1397. key <AE06> { [ 6, asciicircum ] };
  1398. key <AE07> { [ 7, ampersand ] };
  1399. key <AE08> { [ 8, asterisk ] };
  1400. key <AE09> { [ 9, parenleft ] };
  1401. key <AE10> { [ 0, parenright ] };
  1402. key <AE11> { [ minus, underscore ] };
  1403. key <AE12> { [ equal, plus ] };
  1404.  
  1405. key <AD01> { [ q, Q ] };
  1406. key <AD02> { [ g, G ] };
  1407. key <AD03> { [ m, M ] };
  1408. key <AD04> { [ l, L ] };
  1409. key <AD05> { [ w, W ] };
  1410. key <AD06> { [ y, Y ] };
  1411. key <AD07> { [ f, F ] };
  1412. key <AD08> { [ u, U ] };
  1413. key <AD09> { [ b, B ] };
  1414. key <AD10> { [ semicolon, colon ] };
  1415. key <AD11> { [ bracketleft, braceleft ] };
  1416. key <AD12> { [ bracketright, braceright ] };
  1417.  
  1418. key <AC01> { [ d, D ] };
  1419. key <AC02> { [ s, S ] };
  1420. key <AC03> { [ t, T ] };
  1421. key <AC04> { [ n, N ] };
  1422. key <AC05> { [ r, R ] };
  1423. key <AC06> { [ i, I ] };
  1424. key <AC07> { [ a, A ] };
  1425. key <AC08> { [ e, E ] };
  1426. key <AC09> { [ o, O ] };
  1427. key <AC10> { [ h, H ] };
  1428. key <AC11> { [ apostrophe, quotedbl ] };
  1429.  
  1430. key <AB01> { [ z, Z ] };
  1431. key <AB02> { [ x, X ] };
  1432. key <AB03> { [ c, C ] };
  1433. key <AB04> { [ v, V ] };
  1434. key <AB05> { [ j, J ] };
  1435. key <AB06> { [ k, K ] };
  1436. key <AB07> { [ p, P ] };
  1437. key <AB08> { [ comma, less ] };
  1438. key <AB09> { [ period, greater ] };
  1439. key <AB10> { [ slash, question ] };
  1440.  
  1441. key <BKSL> { [ backslash, bar ] };
  1442. };
  1443.  
  1444. // Carpalx layout created by Martin Krzywinski
  1445. // http://mkweb.bcgsc.ca/carpalx/
  1446. // Merged with us(intl) and modified to move
  1447. // accented vowels closer to the plain vowels
  1448.  
  1449. partial alphanumeric_keys
  1450. xkb_symbols "carpalx-intl" {
  1451.  
  1452. include "us(carpalx)"
  1453. name[Group1]= "English (Carpalx, international with dead keys)";
  1454.  
  1455. key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
  1456. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  1457. key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
  1458. key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
  1459. key <AE04> { [ 4, dollar, currency, sterling ] };
  1460. key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
  1461. key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
  1462. key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
  1463. key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
  1464. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  1465. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  1466. key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
  1467. key <AE12> { [ equal, plus, multiply, division ] };
  1468.  
  1469. key <AD01> { [ q, Q, degree, paragraph ] };
  1470. key <AD02> { [ g, G, U011F, U011E ] };
  1471. key <AD03> { [ m, M, mu, mu ] };
  1472. key <AD04> { [ l, L, copyright, cent ] };
  1473. key <AD05> { [ w, W, w, W ] };
  1474. key <AD06> { [ y, Y, idiaeresis, Idiaeresis ] };
  1475. key <AD07> { [ f, F, adiaeresis, Adiaeresis ] };
  1476. key <AD08> { [ u, U, udiaeresis, Udiaeresis ] };
  1477. key <AD09> { [ b, B, odiaeresis, Odiaeresis ] };
  1478. key <AD10> { [ semicolon, colon, oslash, Ooblique ] };
  1479. key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
  1480. key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
  1481.  
  1482. key <AC01> { [ d, D, eth, ETH ] };
  1483. key <AC02> { [ s, S, ssharp, section ] };
  1484. key <AC03> { [ t, T, thorn, THORN ] };
  1485. key <AC04> { [ n, N, ntilde, Ntilde ] };
  1486. key <AC05> { [ r, R, registered, registered ] };
  1487. key <AC06> { [ i, I, iacute, Iacute ] };
  1488. key <AC07> { [ a, A, aacute, Aacute ] };
  1489. key <AC08> { [ e, E, eacute, Eacute ] };
  1490. key <AC09> { [ o, O, oacute, Oacute ] };
  1491. key <AC10> { [ h, H, uacute, Uacute ] };
  1492. key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  1493.  
  1494. key <AB01> { [ z, Z, z, Z ] };
  1495. key <AB02> { [ x, X, U015F, U015E ] };
  1496. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  1497. key <AB04> { [ v, V, ae, AE ] };
  1498. key <AB05> { [ j, J, oe, OE ] };
  1499. key <AB06> { [ k, K, U0131, U0130 ] };
  1500. key <AB07> { [ p, P, aring, Aring ] };
  1501. key <AB08> { [ comma, less, ediaeresis, Ediaeresis ] };
  1502. key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
  1503. key <AB10> { [ slash, question, questiondown, dead_hook ] };
  1504. key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
  1505.  
  1506. key <LSGT> { [ backslash, bar, backslash, bar ] };
  1507.  
  1508. include "level3(ralt_switch)"
  1509. };
  1510.  
  1511. // Carpalx layout created by Martin Krzywinski
  1512. // http://mkweb.bcgsc.ca/carpalx/
  1513. // Merged with us(intl) and us(altgr-intl) and modified to move
  1514. // accented vowels closer to the plain vowels
  1515.  
  1516. partial alphanumeric_keys
  1517. xkb_symbols "carpalx-altgr-intl" {
  1518.  
  1519. include "us(carpalx-intl)"
  1520. name[Group1]= "English (Carpalx, international AltGr dead keys)";
  1521.  
  1522. // five dead keys moved into level3:
  1523.  
  1524. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  1525. key <AC11> { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] };
  1526.  
  1527. // diversions from the MS Intl keyboard:
  1528.  
  1529. key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
  1530.  
  1531. // onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys:
  1532.  
  1533. key <AE06> { [ 6, asciicircum, dead_circumflex, onequarter ] };
  1534. key <AE07> { [ 7, ampersand, dead_horn, onehalf ] };
  1535. key <AE08> { [ 8, asterisk, dead_ogonek, threequarters ] };
  1536.  
  1537. include "level3(ralt_switch)"
  1538. };
  1539.  
  1540. // Carpalx layout created by Martin Krzywinski
  1541. // Full optimization variant without fixed QWERTY-like ZXCV keys
  1542. // http://mkweb.bcgsc.ca/carpalx/
  1543.  
  1544. partial alphanumeric_keys
  1545. xkb_symbols "carpalx-full" {
  1546.  
  1547. include "us(carpalx)"
  1548. name[Group1]= "English (Carpalx, full optimization)";
  1549.  
  1550. key <AD06> { [ b, B ] };
  1551. key <AD07> { [ y, Y ] };
  1552. key <AD09> { [ v, V ] };
  1553.  
  1554. key <AB04> { [ f, F ] };
  1555. };
  1556.  
  1557. // Carpalx layout created by Martin Krzywinski
  1558. // Full optimization variant without fixed QWERTY-like ZXCV keys
  1559. // http://mkweb.bcgsc.ca/carpalx/
  1560. // Merged with us(intl) and modified to move
  1561. // accented vowels closer to the plain vowels
  1562.  
  1563. partial alphanumeric_keys
  1564. xkb_symbols "carpalx-full-intl" {
  1565.  
  1566. include "us(carpalx-intl)"
  1567. name[Group1]= "English (Carpalx, full optimization, international with dead keys)";
  1568.  
  1569. key <AD06> { [ b, B, idiaeresis, Idiaeresis ] };
  1570. key <AD07> { [ y, Y, adiaeresis, Adiaeresis ] };
  1571. key <AD09> { [ v, V, odiaeresis, Odiaeresis ] };
  1572.  
  1573. key <AB04> { [ f, F, ae, AE ] };
  1574. };
  1575.  
  1576. // Carpalx layout created by Martin Krzywinski
  1577. // Full optimization variant without fixed QWERTY-like ZXCV keys
  1578. // http://mkweb.bcgsc.ca/carpalx/
  1579. // Merged with us(intl) and us(altgr-intl) and modified to move
  1580. // accented vowels closer to the plain vowels
  1581.  
  1582. partial alphanumeric_keys
  1583. xkb_symbols "carpalx-full-altgr-intl" {
  1584.  
  1585. include "us(carpalx-altgr-intl)"
  1586. name[Group1]= "English (Carpalx, full optimization, international AltGr dead keys)";
  1587.  
  1588. key <AD06> { [ b, B, idiaeresis, Idiaeresis ] };
  1589. key <AD07> { [ y, Y, adiaeresis, Adiaeresis ] };
  1590. key <AD09> { [ v, V, odiaeresis, Odiaeresis ] };
  1591.  
  1592. key <AB04> { [ f, F, ae, AE ] };
  1593. };
  1594.  
  1595. // EXTRAS:
  1596.  
  1597. // Czech, Slovak and German charecters added as third level symbols to US keyboard layout.
  1598. partial alphanumeric_keys
  1599. xkb_symbols "cz_sk_de" {
  1600.  
  1601. include "us"
  1602. name[Group1]="Czech Slovak and German (US)";
  1603.  
  1604. key <TLDE> { [grave, asciitilde, uring, Uring ] };
  1605. key <AE01> { [ 1, exclam, uacute, Uacute ] };
  1606. key <AE02> { [ 2, at, ecaron, Ecaron ] };
  1607. key <AE03> { [ 3, numbersign, scaron, Scaron ] };
  1608. key <AE04> { [ 4, dollar, ccaron, Ccaron ] };
  1609. key <AE05> { [ 5, percent, rcaron, Rcaron ] };
  1610. key <AE06> { [ 6, asciicircum, zcaron, Zcaron ] };
  1611. key <AE07> { [ 7, ampersand, yacute, Yacute ] };
  1612. key <AE08> { [ 8, asterisk, aacute, Aacute ] };
  1613. key <AE09> { [ 9, parenleft, iacute, Iacute ] };
  1614. key <AE10> { [ 0, parenright, eacute, Eacute ] };
  1615. key <AE11> { [minus, underscore, ssharp, 0x1001E9E ] };
  1616. key <AE12> { [equal, plus, dead_acute, dead_caron ] };
  1617.  
  1618. key <AD03> { [ e, E, EuroSign, Eacute ] };
  1619.  
  1620. key <AD11> { [bracketleft, braceleft, udiaeresis, Udiaeresis ] };
  1621. key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
  1622. key <AC11> { [apostrophe, quotedbl,adiaeresis, Adiaeresis ] };
  1623.  
  1624. key <AC01> { [ a, A, aacute, Aacute ] };
  1625. key <AD08> { [ i, I, iacute, Iacute ] };
  1626. key <AD09> { [ o, O, oacute, Oacute ] };
  1627. key <AD06> { [ y, Y, yacute, Yacute ] };
  1628. key <AD07> { [ u, U, uring, Uring ] };
  1629.  
  1630. key <AC02> { [ s, S, scaron, Scaron ] };
  1631. key <AB01> { [ z, Z, zcaron, Zcaron ] };
  1632. key <AB03> { [ c, C, ccaron, Ccaron ] };
  1633. key <AD04> { [ r, R, rcaron, Rcaron ] };
  1634. key <AD05> { [ t, T, tcaron, Tcaron ] };
  1635. key <AC03> { [ d, D, dcaron, Dcaron ] };
  1636. key <AB06> { [ n, N, ncaron, Ncaron ] };
  1637. key <AC09> { [ l, L, lcaron, Lcaron ] };
  1638. key <AD10> { [ p, P,ocircumflex, Ocircumflex ] };
  1639.  
  1640. key <SPCE> { [ space, space, nobreakspace, nobreakspace] };
  1641.  
  1642. include "level3(ralt_switch)"
  1643. };
  1644.  
  1645. // XCompose is out! Unicode combining is in! For those of us who live
  1646. // on the edge: A keymap using Unicode combining characters instead of
  1647. // deadkeys. This variation does not deviate from the lame MS-style
  1648. // US-intl layout; but it uses AltGr for combining, like altgr-intl.
  1649. //
  1650. // This might break your font layout layout systems (because they
  1651. // suck), caveat emptor. Also, most of today's software will count
  1652. // individual combining marks for selection, deletion, character
  1653. // counting &c., and won't be smart enough to do canonical equivalence
  1654. // when searching, &c.
  1655. //
  1656. // With Unicode combining you use "handwriting order", not
  1657. // "typewriting order" as with deadkeys. That is, you first type the
  1658. // base character, then the diacritics/accents/modifiers. This has
  1659. // the advantage of avoiding hidden states --- each keypress changes
  1660. // something on screen.
  1661. //
  1662. // TODO: as of now, this duplicates all us(intl) functionality with
  1663. // combining. With care, perhaps we could add more combining marks
  1664. // not present in intl, and support all major languages.
  1665. partial alphanumeric_keys
  1666. xkb_symbols "intl-unicode" {
  1667.  
  1668. name[Group1]= "English (US, international AltGr Unicode combining)";
  1669.  
  1670. include "us(intl)"
  1671. include "level3(ralt_switch)"
  1672.  
  1673. // grave, tilde
  1674. key <TLDE> { [grave, asciitilde, U0300, U0303 ] };
  1675. // double acute
  1676. key <AE02> { [ 2, at, twosuperior, U030B ] };
  1677. // macron
  1678. key <AE03> { [ 3, numbersign, threesuperior, U0304 ] };
  1679. // circumflex
  1680. key <AE06> { [ 6, asciicircum, onequarter, U0302 ] };
  1681. // horn
  1682. key <AE07> { [ 7, ampersand, onehalf, U031B ] };
  1683. // ogonek
  1684. key <AE08> { [ 8, asterisk, threequarters, U0328 ] };
  1685. // breve
  1686. key <AE09> { [ 9, parenleft, leftsinglequotemark, U0306 ] };
  1687. // abovering
  1688. key <AE10> { [ 0, parenright, rightsinglequotemark, U030A ] };
  1689.  
  1690. // belowdot
  1691. key <AE11> { [ minus, underscore, yen, U0323 ] };
  1692. // acute, diaeresis
  1693. key <AC11> { [apostrophe, quotedbl, U0301, U0308 ] };
  1694. // abovedot, caron
  1695. key <AB09> { [ period, greater, U0307, U030C ] };
  1696. // hook
  1697. key <AB10> { [ slash, question, questiondown, U0309 ] };
  1698.  
  1699. // alt-intl compatibility
  1700. // cedilla, caron
  1701. key <AB08> { [ comma, less, U0327, U030C ] };
  1702. // ogonek, diaeresis
  1703. key <AC10> { [ semicolon, colon, U0328, U0308 ] };
  1704. // doubleacute, horn
  1705. key <AE12> { [ equal, plus, U030B, U031B ] };
  1706.  
  1707. // we don't do combining latin letters and combining enclosures
  1708. // because support for those is very rare.
  1709. };
  1710.  
  1711. // XCompose is out! Unicode combining is in! For those of us who live
  1712. // on the edge: A keymap using Unicode combining characters instead of
  1713. // deadkeys. This variation does break compatibility with us-intl,
  1714. // whenever I thought it would be more mnemonic or Unicodeish.
  1715. partial alphanumeric_keys
  1716. xkb_symbols "alt-intl-unicode" {
  1717.  
  1718. name[Group1]= "English (US, international AltGr Unicode combining, alternative)";
  1719.  
  1720. include "us(intl-unicode)"
  1721.  
  1722. // easier macron; em-dash.
  1723. // em-dash is available via compose, but I added here since it's such
  1724. // an important typographic character.
  1725. key <AE11> { [ minus, underscore, U0304, U2014 ] };
  1726.  
  1727. // belowdot, abovedot (caron at coma/less key, per above)
  1728. key <AB09> { [ period, greater, U0323, U0307 ] };
  1729.  
  1730. };
  1731.  
  1732. partial alphanumeric_keys
  1733. xkb_symbols "ats" {
  1734.  
  1735. include "us"
  1736. name[Group1]= "Atsina";
  1737.  
  1738. //Using Dead key to get COMBINING COMMA ABOVE for ejectives on
  1739. //q, l, t, s, m, g, k, p, w, y, r
  1740. //XCompose key is used for the other accute and grave.
  1741.  
  1742. key <AD03> { [ e, E, eacute, Eacute ] };
  1743. key <AD07> { [ u, U, uacute, Uacute ] };
  1744. key <AD08> { [ i, I, iacute, Iacute ] };
  1745. key <AD09> { [ o, O, oacute, Oacute ] };
  1746. key <AD11> { [ bracketleft, braceleft, U03B8 ] };
  1747. key <AD12> { [ bracketright, braceright, U010D, U010C ] };
  1748. //U+010C (uppercase Č) and U+010D (lowercase č).
  1749.  
  1750. key <AC01> { [ a, A, aacute, Aacute ] };
  1751.  
  1752. //Small letter Open use compose to key get acute accent
  1753. key <AB03> { [ c, C, U0254, U0186 ] };
  1754. key <AB08> { [ comma, less, U0313 ] };
  1755. key <AB10> { [ slash, question, U0294 ] };
  1756.  
  1757. include "level3(ralt_switch)"
  1758. include "compose(rctrl)"
  1759. };
  1760.  
  1761. partial alphanumeric_keys
  1762. xkb_symbols "crd" {
  1763.  
  1764. include "us"
  1765. name[Group1]= "Coeur d'Alene Salish";
  1766.  
  1767. key <AD02> { [ w, W, U02B7, U02B7 ] };
  1768. key <AE07> { [ 7, ampersand, U0294 ] };
  1769. key <AD01> { [ q, Q, U221A ] };
  1770. key <AB04> { [ v, V, U0259 ] };
  1771. key <BKSL> { [ backslash, bar, U026B ] };
  1772. key <AD03> { [ e, E, U025B ] };
  1773. key <AD08> { [ i, I, U026A ] };
  1774. key <AC07> { [ j, J, U01F0 ] };
  1775. key <AE06> { [ 6, asciicircum, U0295 ] };
  1776. key <AC02> { [ s, S, U0161 ] };
  1777. key <AB03> { [ c, C, U010D ] };
  1778. key <AD09> { [ o, O, U0254 ] };
  1779. key <AB09> { [ period, greater, U0323 ] };
  1780.  
  1781. include "level3(ralt_switch)"
  1782. include "compose(rctrl)"
  1783. };
  1784.  
  1785.  
  1786. partial alphanumeric_keys
  1787. xkb_symbols "sun_type6" {
  1788. include "sun_vndr/us(sun_type6)"
  1789. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement