Advertisement
Guest User

Untitled

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