Advertisement
Guest User

/usr/share/X11/xkb/symblos/us

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