1. // $XKeyboardConfig$
  2.  
  3. //
  4. // $XdotOrg: xc/programs/xkbcomp/symbols/us,v 1.1.4.3 2004/03/05 13:41:33 eich Exp $
  5. // $XFree86: xc/programs/xkbcomp/symbols/us,v 1.6 2003/10/31 14:32:05 pascal Exp $
  6.  
  7. default
  8. partial alphanumeric_keys modifier_keys
  9. xkb_symbols "basic" {
  10.  
  11. name[Group1]= "USA";
  12.  
  13. // Alphanumeric section
  14. key <TLDE> { [ grave, asciitilde ] };
  15. key <AE01> { [ 1, exclam ] };
  16. key <AE02> { [ 2, at ] };
  17. key <AE03> { [ 3, numbersign ] };
  18. key <AE04> { [ 4, dollar ] };
  19. key <AE05> { [ 5, percent ] };
  20. key <AE06> { [ 6, asciicircum ] };
  21. key <AE07> { [ 7, ampersand ] };
  22. key <AE08> { [ 8, asterisk ] };
  23. key <AE09> { [ 9, parenleft ] };
  24. key <AE10> { [ 0, parenright ] };
  25. key <AE11> { [ minus, underscore ] };
  26. key <AE12> { [ equal, plus ] };
  27.  
  28. key <AD01> { [ q, Q ] };
  29. key <AD02> { [ w, W ] };
  30. key <AD03> { [ e, E ] };
  31. key <AD04> { [ r, R ] };
  32. key <AD05> { [ t, T ] };
  33. key <AD06> { [ y, Y ] };
  34. key <AD07> { [ u, U ] };
  35. key <AD08> { [ i, I ] };
  36. key <AD09> { [ o, O ] };
  37. key <AD10> { [ p, P ] };
  38. key <AD11> { [ bracketleft, braceleft ] };
  39. key <AD12> { [ bracketright, braceright ] };
  40.  
  41. key <AC01> { [ a, A ] };
  42. key <AC02> { [ s, S ] };
  43. key <AC03> { [ d, D ] };
  44. key <AC04> { [ f, F ] };
  45. key <AC05> { [ g, G ] };
  46. key <AC06> { [ h, H ] };
  47. key <AC07> { [ j, J ] };
  48. key <AC08> { [ k, K ] };
  49. key <AC09> { [ l, L ] };
  50. key <AC10> { [ semicolon, colon ] };
  51. key <AC11> { [ apostrophe, quotedbl ] };
  52.  
  53. key <AB01> { [ z, Z ] };
  54. key <AB02> { [ x, X ] };
  55. key <AB03> { [ c, C ] };
  56. key <AB04> { [ v, V ] };
  57. key <AB05> { [ b, B ] };
  58. key <AB06> { [ n, N ] };
  59. key <AB07> { [ m, M ] };
  60. key <AB08> { [ comma, less ] };
  61. key <AB09> { [ period, greater ] };
  62. key <AB10> { [ slash, question ] };
  63.  
  64. key <BKSL> { [ backslash, bar ] };
  65. // End alphanumeric section
  66. };
  67.  
  68. partial alphanumeric_keys
  69. xkb_symbols "euro" {
  70.  
  71. name[Group1]= "USA - With EuroSign on 5";
  72.  
  73. include "us(basic)"
  74.  
  75. include "eurosign(5)"
  76.  
  77. include "level3(ralt_switch)"
  78. };
  79.  
  80.  
  81. partial alphanumeric_keys
  82. xkb_symbols "intl" {
  83.  
  84. name[Group1]= "USA - International (with dead keys)";
  85.  
  86. include "us(basic)"
  87.  
  88. // Alphanumeric section
  89. key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
  90. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  91. key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
  92. key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
  93. key <AE04> { [ 4, dollar, currency, sterling ] };
  94. key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
  95. key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
  96. key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
  97. key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
  98. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  99. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  100. key <AE11> { [ minus, underscore, yen, dead_belowdot ] };
  101. key <AE12> { [ equal, plus, multiply, division ] };
  102.  
  103. key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
  104. key <AD02> { [ w, W, aring, Aring ] };
  105. key <AD03> { [ e, E, eacute, Eacute ] };
  106. key <AD04> { [ r, R, registered, registered ] };
  107. key <AD05> { [ t, T, thorn, THORN ] };
  108. key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
  109. key <AD07> { [ u, U, uacute, Uacute ] };
  110. key <AD08> { [ i, I, iacute, Iacute ] };
  111. key <AD09> { [ o, O, oacute, Oacute ] };
  112. key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
  113. key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
  114. key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
  115.  
  116. key <AC01> { [ a, A, aacute, Aacute ] };
  117. key <AC02> { [ s, S, ssharp, section ] };
  118. key <AC03> { [ d, D, eth, ETH ] };
  119. key <AC08> { [ k, K, oe, OE ] };
  120.  
  121. key <AC09> { [ l, L, oslash, Ooblique ] };
  122. key <AC10> { [ semicolon, colon, paragraph, degree ] };
  123. key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  124.  
  125. key <AB01> { [ z, Z, ae, AE ] };
  126. key <AB03> { [ c, C, copyright, cent ] };
  127. key <AB06> { [ n, N, ntilde, Ntilde ] };
  128. key <AB07> { [ m, M, mu, mu ] };
  129. key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
  130. key <AB09> { [ period, greater, dead_abovedot, dead_caron ] };
  131. key <AB10> { [ slash, question, questiondown, dead_hook ] };
  132. key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
  133.  
  134. include "level3(ralt_switch)"
  135. };
  136.  
  137. // Based on symbols/us_intl keyboard map:
  138. // Dead-keys definition for a very simple US/ASCII layout.
  139. // by Conectiva (http://www.conectiva.com.br)
  140. // modified by Ricardo Y. Igarashi (iga@that.com.br)
  141.  
  142. // Added the following deadkeys, to make it truly international:
  143. //
  144. // dead_macron: on AltGr-minus
  145. // dead_breve: on AltGr-parenleft
  146. // dead_abovedot: on AltGr-period
  147. // dead_abovering: on AltGr-0
  148. // dead_doubleacute: on AltGr-equal (as quotedbl is already used)
  149. // dead_caron: on AltGr-less (AltGr-shift-comma)
  150. // dead_cedilla: on AltGr-comma
  151. // dead_ogonek: on AltGr-semicolon
  152. // dead_belowdot: on AltGr-underscore (AltGr-shift-minus)
  153. // dead_hook: on AltGr-question
  154. // dead_horn: on AltGr-plus (AltGr-shift-equal)
  155. // dead_diaeresis: on AltGr-colon (Alt-shift-semicolon)
  156. //
  157. // those were already there:
  158. // dead_grave
  159. // dead_acute
  160. // dead_circumflex
  161. // dead_tilde
  162. // dead_diaeresis
  163.  
  164. partial alphanumeric_keys
  165. xkb_symbols "alt-intl" {
  166.  
  167. name[Group1]= "USA - Alternative international (former us_intl)";
  168.  
  169. include "us"
  170.  
  171. key <TLDE> { [ dead_grave, dead_tilde, grave, asciitilde ] };
  172. key <AE05> { [ 5, percent, EuroSign ] };
  173. key <AE06> { [ 6, dead_circumflex, asciicircum, asciicircum ] };
  174. key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
  175. key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
  176. key <AE11> { [ minus, underscore, dead_macron, dead_belowdot ] };
  177. key <AE12> { [ equal, plus, dead_doubleacute, dead_horn ] };
  178.  
  179. key <AD03> { [ e, E, EuroSign, cent ] };
  180.  
  181. key <AC10> { [ semicolon, colon, dead_ogonek, dead_diaeresis ] };
  182. key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  183.  
  184. key <AB08> { [ comma, less, dead_cedilla, dead_caron ] };
  185. key <AB09> { [ period, greater, dead_abovedot, dead_circumflex ] };
  186. key <AB10> { [ slash, question, dead_hook, dead_hook ] };
  187.  
  188. include "level3(ralt_switch)"
  189. };
  190.  
  191. // based on a keyboard map from an 'xkb/symbols/dk' file
  192. //
  193. // $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 1.5 2004/01/03 16:35:07 herrb Exp $
  194.  
  195. partial alphanumeric_keys
  196. xkb_symbols "dvorak" {
  197.  
  198. name[Group1]= "USA - Dvorak";
  199.  
  200. // Alphanumeric section
  201.  
  202. key <TLDE> { [ grave, asciitilde, U221D, U00AC ] };
  203.  
  204. key <AE01> { [ 1, exclam, U2713, exclamdown ] };
  205. key <AE02> { [ 2, at, U2423, dead_abovering ] };
  206. key <AE03> { [ 3, numbersign, U00A4, U266F ] };
  207. key <AE04> { [ 4, dollar, U00A2, U20AC ] };
  208. key <AE05> { [ 5, percent, dead_acute, dead_macron ] };
  209. key <AE06> { [ 6, asciicircum, U2295, U2297 ] };
  210. key <AE07> { [ 7, ampersand, U00A7, U21D4 ] };
  211. key <AE08> { [ 8, asterisk, U22C5, U2605 ] };
  212. key <AE09> { [ 9, parenleft, U2329, U3014 ] };
  213. key <AE10> { [ 0, parenright, U232A, U3015 ] };
  214. key <AE11> { [ bracketleft, braceleft, U230A, U034F ] };
  215. key <AE12> { [ bracketright, braceright, U230B, U2309 ] };
  216.  
  217. key <AD01> { [ apostrophe, quotedbl, U2039, U203A ] };
  218. key <AD02> { [ comma, less, U2264, U00AB ] };
  219. key <AD03> { [ period, greater, U2265, U00BB ] };
  220. key <AD04> { [ p, P, U2620, U2119 ] };
  221. key <AD05> { [ y, Y, U262F, U262F ] };
  222. key <AD06> { [ f, F ] };
  223. key <AD07> { [ g, G ] };
  224. key <AD08> { [ c, C, U262D, U2102 ] };
  225. key <AD09> { [ r, R, U2190, U211D ] };
  226. key <AD10> { [ l, L, U2192, U21D2 ] };
  227. key <AD11> { [ slash, question, exclam, U203D ] };
  228. key <AD12> { [ equal, plus, U2260, U00B1] };
  229.  
  230. key <AC01> { [ a, A, U2135, U2200 ] };
  231. key <AC02> { [ o, O, U00B0, U2205 ] };
  232. key <AC03> { [ e, E, U2203, U2204 ] };
  233. key <AC04> { [ u, U, U222A, U2229 ] };
  234. key <AC05> { [ i, I, U2208, U2209 ] };
  235. key <AC06> { [ d, D, U2202, U2207 ] };
  236. key <AC07> { [ h, H ] };
  237. key <AC08> { [ t, T, U2020, U22A5 ] };
  238. key <AC09> { [ n, N, U221E, U2115 ] };
  239. key <AC10> { [ s, S, U2282, U2284 ] };
  240. key <AC11> { [ minus, underscore, U2261, U2262] };
  241.  
  242. key <AB01> { [ semicolon, colon, dead_abovedot, dead_diaeresis ] };
  243. key <AB02> { [ q, Q, U263A, U211A ] };
  244. key <AB03> { [ j, J ] };
  245. key <AB04> { [ k, K, U0E5B, U0E5B ] };
  246. key <AB05> { [ x, X ] };
  247. key <AB06> { [ b, B ] };
  248. key <AB07> { [ m, M ] };
  249. key <AB08> { [ w, W ] };
  250. key <AB09> { [ v, V, U2227, U2228 ] };
  251. key <AB10> { [ z, Z, U263A, U2124 ] };
  252.  
  253. key <BKSL> { [ backslash, bar ] };
  254. };
  255.  
  256. // Dvorak international
  257. // Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net)
  258. // Based on information from http://www.poupinou.org/dvorak/index.html
  259. //
  260. // ` 1 2 3 4 5 6 7 8 9 0 [ ] \
  261. // €
  262. //
  263. // ' , . p y f g c r l / =
  264. // ä ê ë ü ç
  265. //
  266. // a o e u i d h t n s -
  267. // à ô é û î ß
  268. //
  269. // ; q j k x b m w v z
  270. // â ö è ù ï
  271.  
  272. partial alphanumeric_keys
  273. xkb_symbols "dvorak-intl" {
  274.  
  275. name[Group1]= "USA - Dvorak international";
  276.  
  277. include "us(dvorak)"
  278.  
  279. key <AE04> { [ 4, dollar, EuroSign ] };
  280.  
  281. key <AD02> { [ comma, less, adiaeresis, dead_caron ] };
  282. key <AD03> { [ period, greater, ecircumflex, periodcentered ] };
  283. key <AD04> { [ p, P, ediaeresis, dead_cedilla ] };
  284. key <AD05> { [ y, Y, udiaeresis ] };
  285. key <AD08> { [ c, C, ccedilla, dead_abovedot ] };
  286.  
  287. key <AC01> { [ a, A, agrave ] };
  288. key <AC02> { [ o, O, ocircumflex ] };
  289. key <AC03> { [ e, E, eacute ] };
  290. key <AC04> { [ u, U, ucircumflex ] };
  291. key <AC05> { [ i, I, icircumflex ] };
  292. key <AC10> { [ s, S, ssharp ] };
  293.  
  294. key <AB01> { [ semicolon, colon, acircumflex ] };
  295. key <AB02> { [ q, Q, odiaeresis, dead_ogonek ] };
  296. key <AB03> { [ j, J, egrave, dead_doubleacute ] };
  297. key <AB04> { [ k, K, ugrave ] };
  298. key <AB05> { [ x, X, idiaeresis ] };
  299.  
  300. include "level3(ralt_switch)"
  301. };
  302.  
  303. // Left and right handed dvorak layouts
  304. // by sqweek <sqweek@gmail.com> 2006-01-30
  305. // Based on the corresponding layouts in the console-tools package.
  306. partial alphanumeric_keys
  307. xkb_symbols "dvorak-l" {
  308.  
  309. include "us(dvorak)"
  310. name[Group1]= "USA - Left handed Dvorak";
  311.  
  312. key <AE01> { [ bracketleft, braceleft ] };
  313. key <AE02> { [ bracketright, braceright ] };
  314. key <AE03> { [ slash, question ] };
  315. key <AE04> { [ p, P ] };
  316. key <AE05> { [ f, F ] };
  317. key <AE06> { [ m, M ] };
  318. key <AE07> { [ l, L ] };
  319. key <AE08> { [ j, J ] };
  320. key <AE09> { [ 4, dollar ] };
  321. key <AE10> { [ 3, numbersign ] };
  322. key <AE11> { [ 2, at ] };
  323. key <AE12> { [ 1, exclam ] };
  324.  
  325. key <AD01> { [ semicolon, colon ] };
  326. key <AD02> { [ q, Q ] };
  327. key <AD03> { [ b, B ] };
  328. key <AD04> { [ y, Y ] };
  329. key <AD05> { [ u, U ] };
  330. key <AD06> { [ r, R ] };
  331. key <AD07> { [ s, S ] };
  332. key <AD08> { [ o, O ] };
  333. key <AD09> { [ period, greater ] };
  334. key <AD10> { [ 6, asciicircum ] };
  335. key <AD11> { [ 5, percent ] };
  336. key <AD12> { [ equal, plus ] };
  337.  
  338. key <AC01> { [ minus, underscore ] };
  339. key <AC02> { [ k, K ] };
  340. key <AC03> { [ c, C ] };
  341. key <AC04> { [ d, D ] };
  342. key <AC05> { [ t, T ] };
  343. key <AC06> { [ h, H ] };
  344. key <AC07> { [ e, E ] };
  345. key <AC08> { [ a, A ] };
  346. key <AC09> { [ z, Z ] };
  347. key <AC10> { [ 8, asterisk ] };
  348. key <AC11> { [ 7, ampersand ] };
  349.  
  350. key <AB01> { [ apostrophe, quotedbl ] };
  351. key <AB02> { [ x, X ] };
  352. key <AB03> { [ g, G ] };
  353. key <AB04> { [ v, V ] };
  354. key <AB05> { [ w, W ] };
  355. key <AB06> { [ n, N ] };
  356. key <AB07> { [ i, I ] };
  357. key <AB08> { [ comma, less ] };
  358. key <AB09> { [ 0, parenright ] };
  359. key <AB10> { [ 9, parenleft ] };
  360. };
  361.  
  362. partial alphanumeric_keys
  363. xkb_symbols "dvorak-r" {
  364.  
  365. include "us(dvorak)"
  366. name[Group1]= "USA - Right handed Dvorak";
  367.  
  368. key <AE01> { [ 1, exclam ] };
  369. key <AE02> { [ 2, at ] };
  370. key <AE03> { [ 3, numbersign ] };
  371. key <AE04> { [ 4, dollar ] };
  372. key <AE05> { [ j, J ] };
  373. key <AE06> { [ l, L ] };
  374. key <AE07> { [ m, M ] };
  375. key <AE08> { [ f, F ] };
  376. key <AE09> { [ p, P ] };
  377. key <AE10> { [ slash, question ] };
  378. key <AE11> { [ bracketleft, braceleft ] };
  379. key <AE12> { [ bracketright, braceright ] };
  380.  
  381. key <AD01> { [ 5, percent ] };
  382. key <AD02> { [ 6, asciicircum ] };
  383. key <AD03> { [ q, Q ] };
  384. key <AD04> { [ period, greater ] };
  385. key <AD05> { [ o, O ] };
  386. key <AD06> { [ r, R ] };
  387. key <AD07> { [ s, S ] };
  388. key <AD08> { [ u, U ] };
  389. key <AD09> { [ y, Y ] };
  390. key <AD10> { [ b, B ] };
  391. key <AD11> { [ semicolon, colon ] };
  392. key <AD12> { [ equal, plus ] };
  393.  
  394. key <AC01> { [ 7, ampersand ] };
  395. key <AC02> { [ 8, asterisk ] };
  396. key <AC03> { [ z, Z ] };
  397. key <AC04> { [ a, A ] };
  398. key <AC05> { [ e, E ] };
  399. key <AC06> { [ h, H ] };
  400. key <AC07> { [ t, T ] };
  401. key <AC08> { [ d, D ] };
  402. key <AC09> { [ c, C ] };
  403. key <AC10> { [ k, K ] };
  404. key <AC11> { [ minus, underscore ] };
  405.  
  406. key <AB01> { [ 9, parenleft ] };
  407. key <AB02> { [ 0, parenright ] };
  408. key <AB03> { [ x, X ] };
  409. key <AB04> { [ comma, less ] };
  410. key <AB05> { [ i, I ] };
  411. key <AB06> { [ n, N ] };
  412. key <AB07> { [ w, W ] };
  413. key <AB08> { [ v, V ] };
  414. key <AB09> { [ g, G ] };
  415. key <AB10> { [ apostrophe, quotedbl ] };
  416. };
  417.  
  418. // Classic dvorak layout
  419. // by Piter Punk <piterpk@terra.com.br> - 2006-07-06
  420. // Based on dvorak layout and e-mail from Russel L. Harris rlharris@oplink.net
  421. // on xorg list.
  422. partial alphanumeric_keys
  423. xkb_symbols "dvorak-classic" {
  424.  
  425. name[Group1]= "USA - Classic Dvorak";
  426.  
  427. // Alphanumeric section
  428.  
  429. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  430.  
  431. key <AE01> { [ bracketleft, braceleft ] };
  432. key <AE02> { [ 7, ampersand ] };
  433. key <AE03> { [ 5, percent ] };
  434. key <AE04> { [ 3, numbersign ] };
  435. key <AE05> { [ 1, exclam ] };
  436. key <AE06> { [ 9, parenleft, dead_grave] };
  437. key <AE07> { [ 0, parenright ] };
  438. key <AE08> { [ 2, at ] };
  439. key <AE09> { [ 4, dollar ] };
  440. key <AE10> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
  441. key <AE11> { [ 8, asterisk ] };
  442. key <AE12> { [ bracketright, braceright, dead_tilde] };
  443.  
  444. key <AD01> { [ slash, question ] };
  445. key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
  446. key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
  447. key <AD04> { [ p, P ] };
  448. key <AD05> { [ y, Y ] };
  449. key <AD06> { [ f, F ] };
  450. key <AD07> { [ g, G ] };
  451. key <AD08> { [ c, C ] };
  452. key <AD09> { [ r, R ] };
  453. key <AD10> { [ l, L ] };
  454. key <AD11> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
  455. key <AD12> { [ equal, plus ] };
  456.  
  457. key <AC01> { [ a, A ] };
  458. key <AC02> { [ o, O ] };
  459. key <AC03> { [ e, E ] };
  460. key <AC04> { [ u, U ] };
  461. key <AC05> { [ i, I ] };
  462. key <AC06> { [ d, D ] };
  463. key <AC07> { [ h, H ] };
  464. key <AC08> { [ t, T ] };
  465. key <AC09> { [ n, N ] };
  466. key <AC10> { [ s, S ] };
  467. key <AC11> { [ minus, underscore ] };
  468.  
  469. key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
  470. key <AB02> { [ q, Q ] };
  471. key <AB03> { [ j, J ] };
  472. key <AB04> { [ k, K ] };
  473. key <AB05> { [ x, X ] };
  474. key <AB06> { [ b, B ] };
  475. key <AB07> { [ m, M ] };
  476. key <AB08> { [ w, W ] };
  477. key <AB09> { [ v, V ] };
  478. key <AB10> { [ z, Z ] };
  479. key <BKSL> { [ backslash, bar ] };
  480. };
  481.  
  482. // Programmer Dvorak, by Roland Kaufmann <rlndkfmn at gmail dot com>
  483. // License: BSD, available at <http://www.kaufmann.no/roland/dvorak/license.html>
  484. // Main features: Numbers are in shift position (like French), symbols have been
  485. // placed in locations that give good hand-alternation and finger rolling with
  486. // symbols that usually follows, accented characters are possible for I18N.
  487. partial alphanumeric_keys
  488. xkb_symbols "dvp" {
  489. include "us(dvorak)"
  490.  
  491. name[Group1] = "USA - Programmer Dvorak";
  492.  
  493. // Unmodified Shift AltGr Shift+AltGr
  494. // symbols row, left side
  495. key <TLDE> { [ dollar, asciitilde, dead_tilde ] };
  496. key <AE01> { [ ampersand, percent ] };
  497. key <AE02> { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  498. key <AE03> { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  499. key <AE04> { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  500. key <AE05> { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  501. key <AE06> { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  502.  
  503. // symbols row, right side
  504. key <AE07> { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  505. key <AE08> { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  506. key <AE09> { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  507. key <AE10> { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  508. key <AE11> { [ exclam, 8, exclamdown ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  509. key <AE12> { [ numbersign, grave, dead_grave ] };
  510. key <BKSP> { [ BackSpace ] };
  511.  
  512. // upper row, left side
  513. key <AD01> { [ semicolon, colon, dead_diaeresis ] };
  514. key <AD02> { [ comma, less, guillemotleft ] };
  515. key <AD03> { [ period, greater, guillemotright ] };
  516. key <AD04> { [ p, P, paragraph, section ] };
  517. key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
  518.  
  519. // upper row, right side
  520. key <AD08> { [ c, C, ccedilla, Ccedilla ] };
  521. key <AD09> { [ r, R, registered, trademark ] };
  522. key <AD11> { [ slash, question, questiondown ] };
  523. key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
  524.  
  525. // home row, left side
  526. key <AC01> { [ a, A, aring, Aring ] };
  527. key <AC02> { [ o, O, oslash, Ooblique ] };
  528. key <AC03> { [ e, E, ae, AE ] };
  529. key <AC04> { [ u, U, eacute, Eacute ] };
  530.  
  531. // home row, right side
  532. key <AC06> { [ d, D, eth, ETH ] };
  533. key <AC07> { [ h, H, dead_acute ] };
  534. key <AC08> { [ t, T, thorn, THORN ] };
  535. key <AC09> { [ n, N, ntilde, Ntilde ] };
  536. key <AC10> { [ s, S, ssharp ] };
  537. key <AC11> { [ minus, underscore, hyphen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
  538. key <BKSL> { [ backslash, bar ] };
  539.  
  540. // lower row, left side
  541. key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
  542. };
  543.  
  544. // phonetic layout for Russian letters on an US keyboard
  545. // by Ivan Popov <pin@konvalo.org> 2005-07-17
  546.  
  547. // level3 modifier is a shortcut to the "us" meaning of the keys where
  548. // we place cyrillic letters, handy for accessing the corresponding
  549. // punctuation marks.
  550. // It is important to have access to punctuation marks, and the rest of
  551. // alphabetical keys are added for being consequent so that the users
  552. // can expect the level3 modifier to give what the key label shows.
  553.  
  554. partial alphanumeric_keys
  555. xkb_symbols "rus" {
  556.  
  557. name[Group1]= "USA - Russian phonetic";
  558.  
  559. include "us(basic)"
  560.  
  561. key.type[group1]="FOUR_LEVEL_ALPHABETIC";
  562.  
  563. key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
  564. key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
  565. key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
  566. key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  567. key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
  568. key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
  569. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
  570. key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  571. key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
  572. key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
  573. key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  574. key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
  575. key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
  576. key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
  577. key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
  578. key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
  579. key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
  580. key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
  581. key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
  582. key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
  583. key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
  584. key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
  585. key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
  586. key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
  587. key <AC10> { [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] };
  588. key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] };
  589. key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] };
  590. key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
  591. key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  592. key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  593. key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
  594. key <AC11> { [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] };
  595. key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
  596.  
  597. include "level3(ralt_switch)"
  598. };
  599.  
  600. partial alphanumeric_keys
  601. xkb_symbols "mac" {
  602.  
  603. include "us(basic)"
  604. name[Group1]= "USA - Macintosh";
  605. key.type[group1]="FOUR_LEVEL";
  606.  
  607. // Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
  608. key <LSGT> { [ section, plusminus, section, plusminus ] };
  609. key <TLDE> { [ grave, asciitilde, dead_grave, dead_horn ] };
  610. key <AE01> { [ 1, exclam, exclamdown, U2044 ] };
  611. key <AE02> { [ 2, at, trademark, EuroSign ] };
  612. key <AE03> { [ 3, numbersign, sterling, U2039 ] };
  613. key <AE04> { [ 4, dollar, cent, U203A ] };
  614. key <AE05> { [ 5, percent, infinity, UFB01 ] };
  615. key <AE06> { [ 6,asciicircum, section, UFB02 ] };
  616. key <AE07> { [ 7, ampersand, paragraph, doubledagger ] };
  617. key <AE08> { [ 8, asterisk, enfilledcircbullet, degree ] };
  618. key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
  619. key <AE10> { [ 0, parenright, masculine,singlelowquotemark] };
  620. key <AE11> { [ minus, underscore, endash, emdash ] };
  621. key <AE12> { [ equal, plus, notequal, plusminus ] };
  622.  
  623. key <AD01> { [ q, Q, oe, OE ] };
  624. key <AD02> { [ w, W, U2211,doublelowquotemark] };
  625. key <AD03> { [ e, E, dead_acute, acute ] };
  626. key <AD04> { [ r, R, registered, U2030 ] };
  627. key <AD05> { [ t, T, dagger, dead_caron ] };
  628. key <AD06> { [ y, Y, yen, onequarter ] };
  629. key <AD07> { [ u, U, dead_diaeresis, diaeresis ] };
  630. key <AD08> { [ i, I, dead_circumflex, U02C6 ] };
  631. key <AD09> { [ o, O, oslash, Ooblique ] };
  632. key <AD10> { [ p, P, Greek_pi, U220F ] };
  633. key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
  634. key <AD12> { [bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
  635. key <BKSL> { [ backslash, bar, guillemotleft, guillemotright ] };
  636.  
  637. key <AC01> { [ a, A, aring, Aring ] };
  638. key <AC02> { [ s, S, ssharp, dead_stroke ] };
  639. key <AC03> { [ d, D, partialderivative, eth ] };
  640. key <AC04> { [ f, F, function, dead_hook ] };
  641. key <AC05> { [ g, G, copyright, dead_doubleacute ] };
  642. key <AC06> { [ h, H, dead_abovedot, dead_belowdot ] };
  643. key <AC07> { [ j, J, U2206, onehalf ] };
  644. key <AC08> { [ k, K,dead_abovering, UF8FF ] };
  645.  
  646. key <AC09> { [ l, L, notsign, THORN ] };
  647. key <AC10> { [ semicolon, colon, U2026, thorn ] };
  648. key <AC11> { [apostrophe, quotedbl, ae, AE ] };
  649.  
  650. key <AB01> { [ z, Z, Greek_OMEGA, dead_cedilla ] };
  651. key <AB02> { [ x, X, U2248, dead_ogonek ] };
  652. // unclear whether "approxeq" is 2248 or 2245
  653. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  654. key <AB04> { [ v, V, squareroot, U25CA ] };
  655. key <AB05> { [ b, B, integral, idotless ] };
  656. key <AB06> { [ n, N, dead_tilde, U02DC ] };
  657. key <AB07> { [ m, M, mu, threequarters ] };
  658. key <AB08> { [ comma, less, lessthanequal, dead_macron ] };
  659. key <AB09> { [ period, greater, greaterthanequal, dead_breve ] };
  660. key <AB10> { [ slash, question, division, questiondown ] };
  661.  
  662. include "level3(ralt_switch)"
  663. };
  664.  
  665. // Colemak symbols for xkb on X.Org Server 7.x
  666. // 2006-01-01 Shai Coleman, http://colemak.com/ . Public domain.
  667.  
  668. partial alphanumeric_keys
  669. xkb_symbols "colemak" {
  670. include "us"
  671. name[Group1]= "USA - Colemak";
  672.  
  673. // Alphanumeric section
  674. key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] };
  675. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  676. key <AE02> { [ 2, at, masculine, twosuperior ] };
  677. key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] };
  678. key <AE04> { [ 4, dollar, cent, sterling ] };
  679. key <AE05> { [ 5, percent, EuroSign, yen ] };
  680. key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] };
  681. key <AE07> { [ 7, ampersand, eth, ETH ] };
  682. key <AE08> { [ 8, asterisk, thorn, THORN ] };
  683. key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] };
  684. key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] };
  685. key <AE11> { [ minus, underscore, endash, emdash ] };
  686. key <AE12> { [ equal, plus, multiply, division ] };
  687.  
  688. key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
  689. key <AD02> { [ w, W, aring, Aring ] };
  690. key <AD03> { [ f, F, atilde, Atilde ] };
  691. key <AD04> { [ p, P, oslash, Ooblique ] };
  692. key <AD05> { [ g, G, dead_ogonek, asciitilde ] };
  693. key <AD06> { [ j, J, dstroke, Dstroke ] };
  694. key <AD07> { [ l, L, lstroke, Lstroke ] };
  695. key <AD08> { [ u, U, uacute, Uacute ] };
  696. key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] };
  697. key <AD10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
  698. key <AD11> { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] };
  699. key <AD12> { [ bracketright, braceright, guillemotright, 0x100203a ] };
  700. key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
  701.  
  702. key <AC01> { [ a, A, aacute, Aacute ] };
  703. key <AC02> { [ r, R, dead_grave, asciitilde ] };
  704. key <AC03> { [ s, S, ssharp, asciitilde ] };
  705. key <AC04> { [ t, T, dead_acute, dead_doubleacute ] };
  706. key <AC05> { [ d, D, dead_diaeresis, asciitilde ] };
  707. key <AC06> { [ h, H, dead_caron, asciitilde ] };
  708. key <AC07> { [ n, N, ntilde, Ntilde ] };
  709. key <AC08> { [ e, E, eacute, Eacute ] };
  710. key <AC09> { [ i, I, iacute, Iacute ] };
  711. key <AC10> { [ o, O, oacute, Oacute ] };
  712. key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] };
  713.  
  714. key <AB01> { [ z, Z, ae, AE ] };
  715. key <AB02> { [ x, X, dead_circumflex, asciitilde ] };
  716. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  717. key <AB04> { [ v, V, oe, OE ] };
  718. key <AB05> { [ b, B, dead_breve, asciitilde ] };
  719. key <AB06> { [ k, K, dead_abovering, asciitilde ] };
  720. key <AB07> { [ m, M, dead_macron, asciitilde ] };
  721. key <AB08> { [ comma, less, dead_cedilla, asciitilde ] };
  722. key <AB09> { [ period, greater, dead_abovedot, asciitilde ] };
  723. key <AB10> { [ slash, question, questiondown, asciitilde ] };
  724.  
  725. key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
  726. key <LSGT> { [ minus, underscore, endash, emdash ] };
  727. key <SPCE> { [ space, space, space, nobreakspace ] };
  728.  
  729. include "level3(ralt_switch)"
  730. };
  731.  
  732. // I do NOT like dead-keys - the International keyboard as defined by Microsoft
  733. // doesn't fit my needs. Why use two keystrokes for all simple characters (eg '
  734. // and <space> generates a single ') just to have an é (eacute) in two strokes
  735. // as well? I type ' more often than é (eacute).
  736. //
  737. // This file works just like a regular keyboard, BUT has all dead-keys
  738. // accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+"
  739. // followed by an e. In other words, this keyboard is not international as long
  740. // as you leave the right Alt key alone.
  741. //
  742. // The original MS International keyboard was intended for Latin1 (iso8859-1).
  743. // With the introduction of iso8859-15, the (important) ligature oe (and OE)
  744. // became available. I added them next to ae. Because I write ediaeresis more
  745. // often than registered, I moved registered to be next to copyright and added
  746. // ediaeresis and idiaeresis. - Adriaan
  747.  
  748. partial alphanumeric_keys
  749. xkb_symbols "altgr-intl" {
  750.  
  751. name[Group1]= "USA - International (AltGr dead keys)";
  752.  
  753. include "us(intl)"
  754.  
  755. // five dead keys moved into level3:
  756.  
  757. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  758. key <AC11> { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] };
  759.  
  760. // diversions from the MS Intl keyboard:
  761.  
  762. key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
  763. key <AD04> { [ r, R, ediaeresis, Ediaeresis ] };
  764. key <AC07> { [ j, J, idiaeresis, Idiaeresis ] };
  765. key <AB02> { [ x, X, oe, OE ] };
  766. key <AB04> { [ v, V, registered, registered ] };
  767.  
  768. // onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys:
  769.  
  770. key <AE06> { [ 6, asciicircum, dead_circumflex, onequarter ] };
  771. key <AE07> { [ 7, ampersand, dead_horn, onehalf ] };
  772. key <AE08> { [ 8, asterisk, dead_ogonek, threequarters ] };
  773.  
  774. include "level3(ralt_switch)"
  775. };
  776.  
  777. // Intel ClassmatePC Keyboard Layout
  778. // by Piter PUNK <piterpk@terra.com.br>
  779. //
  780. // The keyboard layouts below maps the us(basic), us(intl) and us(alt-intl)
  781. // to ClassmatePC keyboard. All layouts uses RCTL as level3(switch) since
  782. // the keyboard doesn't have AltGr key. The EuroSign is engraved at 5 key.
  783.  
  784. // classmate - us(basic)
  785. partial alphanumeric_keys
  786. xkb_symbols "classmate" {
  787. include "us(basic)"
  788. name[Group1]= "USA - ClassmatePC";
  789.  
  790. key <LSGT> { [ backslash, bar, backslash, bar ] };
  791.  
  792. include "eurosign(5)"
  793. include "level3(switch)"
  794. };
  795.  
  796. // classmate-intl - us(intl)
  797. // RCTL is generated by Fn+Alt, because that, when trying to access
  798. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  799. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  800. // generate the same symbol as the original key.
  801. partial alphanumeric_keys
  802. xkb_symbols "classmate-intl" {
  803. include "us(intl)"
  804. name[Group1]= "USA - ClassmatePC (International)";
  805. key.type[Group1]="FOUR_LEVEL";
  806.  
  807. key <LSGT> { [ backslash, bar, backslash, bar ] };
  808.  
  809. key <KP7> { [ KP_Home, KP_7,
  810. onehalf, dead_horn ] };
  811. key <KP8> { [ KP_Up, KP_8,
  812. threequarters, dead_ogonek ] };
  813. key <KP9> { [ KP_Prior, KP_9,
  814. leftsinglequotemark, dead_breve ] };
  815. key <KPMU> { [ KP_Multiply, KP_Multiply,
  816. rightsinglequotemark, dead_abovering ] };
  817.  
  818. key <KP4> { [ KP_Left, KP_4,
  819. uacute, Uacute ] };
  820. key <KP5> { [ KP_Begin, KP_5,
  821. iacute, Iacute ] };
  822. key <KP6> { [ KP_Right, KP_6,
  823. oacute, Oacute ] };
  824. key <KPSU> { [ KP_Subtract, KP_Subtract,
  825. odiaeresis, Odiaeresis ] };
  826.  
  827. key <KP2> { [ KP_Down, KP_2,
  828. oe, OE ] };
  829. key <KP3> { [ KP_Next, KP_3,
  830. oslash, Ooblique ] };
  831. key <KPAD> { [ KP_Add, KP_Add,
  832. paragraph, degree ] };
  833.  
  834. key <KP0> { [ KP_Insert, KP_0,
  835. mu, mu ] };
  836. key <KPDL> { [ KP_Delete, KP_Decimal,
  837. dead_abovedot, dead_caron ] };
  838. key <KPDV> { [ KP_Divide, KP_Divide,
  839. questiondown, dead_hook ] };
  840.  
  841. include "level3(switch)"
  842. };
  843.  
  844. // classmate-alt-intl - us(alt-intl)
  845. // RCTL is generated by Fn+Alt, because that, when trying to access
  846. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  847. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  848. // generate the same symbol as the original key.
  849. partial alphanumeric_keys
  850. xkb_symbols "classmate-alt-intl" {
  851. include "us(alt-intl)"
  852. name[Group1]= "USA - ClassmatePC (Alternative international)";
  853. key.type[Group1]="FOUR_LEVEL";
  854.  
  855. key <LSGT> { [ backslash, bar, backslash, bar ] };
  856.  
  857. key <KPSU> { [ KP_Subtract, KP_Subtract ] };
  858.  
  859. key <KP9> { [ KP_Prior, KP_9,
  860. leftsinglequotemark, dead_breve ] };
  861. key <KPMU> { [ KP_Multiply, KP_Multiply,
  862. rightsinglequotemark, dead_abovering ] };
  863.  
  864. key <KPAD> { [ KP_Add, KP_Add,
  865. dead_ogonek, dead_diaeresis ] };
  866.  
  867. key <KPDL> { [ KP_Delete, KP_Decimal,
  868. dead_abovedot, dead_circumflex ] };
  869. key <KPDV> { [ KP_Divide, KP_Divide,
  870. dead_hook, dead_hook ] };
  871.  
  872. include "level3(switch)"
  873. };
  874.  
  875. // classmate-altgr-intl - us(altgr-intl)
  876. // RCTL is generated by Fn+Alt, because that, when trying to access
  877. // the level3 symbols at 7,8,9,0,u,i,o,p,j,k,l,;,m,. and / we got
  878. // the keypad keycodes. The keypad is changed to make Fn+Alt+<KP_key>
  879. // generate the same symbol as the original key.
  880. partial alphanumeric_keys
  881. xkb_symbols "classmate-altgr-intl" {
  882. include "us(altgr-intl)"
  883. name[Group1]= "USA - ClassmatePC (International Fn+Alt dead-keys)";
  884. key.type[Group1]="FOUR_LEVEL";
  885.  
  886. key <LSGT> { [ backslash, bar, backslash, bar ] };
  887.  
  888. key <KP7> { [ KP_Home, KP_7,
  889. dead_horn, dead_horn ] };
  890. key <KP8> { [ KP_Up, KP_8,
  891. dead_ogonek, dead_ogonek ] };
  892. key <KP9> { [ KP_Prior, KP_9,
  893. leftsinglequotemark, dead_breve ] };
  894. key <KPMU> { [ KP_Multiply, KP_Multiply,
  895. rightsinglequotemark, dead_abovering ] };
  896.  
  897. key <KP4> { [ KP_Left, KP_4,
  898. uacute, Uacute ] };
  899. key <KP5> { [ KP_Begin, KP_5,
  900. iacute, Iacute ] };
  901. key <KP6> { [ KP_Right, KP_6,
  902. oacute, Oacute ] };
  903. key <KPSU> { [ KP_Subtract, KP_Subtract,
  904. odiaeresis, Odiaeresis ] };
  905.  
  906. key <KP1> { [ KP_End, KP_1,
  907. idiaeresis, Idiaeresis ] };
  908. key <KP2> { [ KP_Down, KP_2,
  909. oe, OE ] };
  910. key <KP3> { [ KP_Next, KP_3,
  911. oslash, Ooblique ] };
  912. key <KPAD> { [ KP_Add, KP_Add,
  913. paragraph, degree ] };
  914.  
  915. key <KP0> { [ KP_Insert, KP_0,
  916. mu, mu ] };
  917. key <KPDL> { [ KP_Delete, KP_Decimal,
  918. dead_abovedot, dead_caron ] };
  919. key <KPDV> { [ KP_Divide, KP_Divide,
  920. questiondown, dead_hook ] };
  921.  
  922. include "level3(switch)"
  923. };
  924.  
  925. partial alphanumeric_keys
  926. xkb_symbols "olpc" {
  927.  
  928. include "us(basic)"
  929. name[Group1]= "USA";
  930.  
  931. // OLPC international US English keyboard layout.
  932. // It's a little different from the usual international layout.
  933. // See: http://wiki.laptop.org/go/Image:Keyboard_english.png
  934.  
  935. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  936. key <AE01> { [ 1, exclam, exclamdown, exclamdown ] };
  937. key <AE02> { [ 2, at, notsign, notsign ] };
  938. key <AE03> { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave
  939. key <AE04> { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute
  940. key <AE05> { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above
  941. key <AE06> { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above
  942. key <AE07> { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above
  943. key <AE08> { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above
  944. key <AE09> { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above
  945. key <AE10> { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above
  946. key <AE11> { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above
  947. key <AE12> { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above
  948.  
  949. key <AD01> { [ q, Q, Greek_omega, Greek_OMEGA ] };
  950. key <AD02> { [ w, W, oslash, Oslash ] };
  951. key <AD03> { [ e, E, oe, OE ] };
  952. key <AD04> { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla
  953. key <AD05> { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below
  954. key <AD06> { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below
  955. key <AD07> { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below
  956. key <AD08> { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below
  957. key <AD09> { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below
  958. key <AD10> { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below
  959. key <AD11> { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below
  960. key <AD12> { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below
  961.  
  962. key <AC01> { [ a, A, ae, AE ] };
  963. key <AC02> { [ s, S, ssharp, 0x1001E9C ] }; // uppercase S sharp
  964. key <AC03> { [ d, D, eth, ETH ] };
  965. key <AC04> { [ f, F, thorn, THORN ] };
  966. key <AC06> { [ h, H, sterling, sterling ] };
  967. key <AC07> { [ j, J, EuroSign, EuroSign ] };
  968. key <AC10> { [ semicolon, colon, masculine, ordfeminine ] };
  969. key <AC11> { [ apostrophe, quotedbl, currency, currency ] };
  970. key <BKSL> { [ backslash, bar, section, section ] };
  971.  
  972. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  973. key <AB06> { [ n, N, ntilde, Ntilde ] };
  974. key <AB07> { [ m, M, mu, mu ] };
  975. key <AB08> { [ comma, less, guillemotleft, guillemotleft ] };
  976. key <AB09> { [ period, greater, guillemotright, guillemotright ] };
  977. key <AB10> { [ slash, question, questiondown, questiondown ] };
  978.  
  979. key <I219> { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] };
  980.  
  981. include "level3(ralt_switch)"
  982. };
  983.  
  984. partial alphanumeric_keys
  985. xkb_symbols "olpc2" {
  986. include "us(olpc)"
  987. name[Group1]= "USA - Group toggle on multiply/divide key";
  988. include "group(olpc)"
  989. };
  990.  
  991. // Based on Cherokee Nation Official Layout
  992. // http://www.cherokee.org/extras/downloads/font/Keyboard.htm
  993.  
  994. partial alphanumeric_keys modifier_keys
  995. xkb_symbols "chr" {
  996.  
  997. name[Group1]= "USA - Cherokee";
  998. key.type[group1]="ALPHABETIC";
  999.  
  1000. // Alphanumeric section
  1001. key <TLDE> { [ grave, U13CA ] };
  1002. key <AE01> { [ 1, U13B1 ] };
  1003. key <AE02> { [ 2, U13C7 ] };
  1004. key <AE03> { [ 3, U13E7 ] };
  1005. key <AE04> { [ U13D9, U13B0 ] };
  1006. key <AE05> { [ U13E6, U13B9 ] };
  1007. key <AE06> { [ U13DC, U13DD ] };
  1008. key <AE07> { [ U13CB, U13E1 ] };
  1009. key <AE08> { [ U13D6, U13BA ] };
  1010. key <AE09> { [ U13D2, parenleft ] };
  1011. key <AE10> { [ U13C4, parenright ] };
  1012. key <AE11> { [ U13BF, U13BC ] };
  1013. key <AE12> { [ U13F3, U13BD ] };
  1014.  
  1015. key <AD01> { [ U13AA, U13C6 ] };
  1016. key <AD02> { [ U13B3, U13EB ] };
  1017. key <AD03> { [ U13A1, U13E3 ] };
  1018. key <AD04> { [ U13DB, U13CF ] };
  1019. key <AD05> { [ U13D4, U13D8 ] };
  1020. key <AD06> { [ U13EF, U13F2 ] };
  1021. key <AD07> { [ U13A4, U13AD ] };
  1022. key <AD08> { [ U13A2, U13F1 ] };
  1023. key <AD09> { [ U13A3, U13EC ] };
  1024. key <AD10> { [ U13C1, U13EA ] };
  1025. key <AD11> { [ U13D5, U13D1 ] };
  1026. key <AD12> { [ U13B6, U13E4 ] };
  1027. key <BKSL> { [ U13E9, U13EE ] };
  1028.  
  1029. key <AC01> { [ U13A0, U13CC ] };
  1030. key <AC02> { [ U13CD, U13CE ] };
  1031. key <AC03> { [ U13D7, U13D0 ] };
  1032. key <AC04> { [ U13A9, U13C8 ] };
  1033. key <AC05> { [ U13A6, U13E5 ] };
  1034. key <AC06> { [ U13AF, U13B2 ] };
  1035. key <AC07> { [ U13DA, U13AB ] };
  1036. key <AC08> { [ U13B8, U13A7 ] };
  1037. key <AC09> { [ U13B5, U13AE ] };
  1038. key <AC10> { [ U13E8, U13E0 ] };
  1039. key <AC11> { [ apostrophe, quotedbl ] };
  1040.  
  1041. key <AB01> { [ U13AC, U13C3 ] };
  1042. key <AB02> { [ U13F4, U13ED ] };
  1043. key <AB03> { [ U13D3, U13DF ] };
  1044. key <AB04> { [ U13A5, U13DE ] };
  1045. key <AB05> { [ U13A8, U13F0 ] };
  1046. key <AB06> { [ U13BE, U13BB ] };
  1047. key <AB07> { [ U13C5, U13B7 ] };
  1048. key <AB08> { [ comma, U13E2 ] };
  1049. key <AB09> { [ period, U13B4 ] };
  1050. key <AB10> { [ U13C2, U13C9 ] };
  1051.  
  1052. // End alphanumeric section
  1053. };
  1054.  
  1055. // Serbian charecters added as third level symbols to US keyboard layout.
  1056.  
  1057. partial alphanumeric_keys
  1058. xkb_symbols "srp" {
  1059.  
  1060. name[Group1]= "USA - Serbian";
  1061.  
  1062. include "us"
  1063.  
  1064. key <TLDE> { [ grave, asciitilde ] };
  1065. key <AE06> { [ 6, dead_caron, asciicircum, asciicircum ] };
  1066. key <AC09> { [ l, L, U1C9, U1C8 ] };
  1067. key <AB06> { [ n, N, U1CC, U1CB ] };
  1068. key <AB01> { [ z, Z, U1C6, U1C5 ] };
  1069. key <AD03> { [ e, E, EuroSign, cent ] };
  1070. key <AC03> { [ d, D, dstroke, Dstroke ] };
  1071. key <AC11> { [ dead_acute, quotedbl, apostrophe, U315 ] };
  1072. key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
  1073.  
  1074. include "level3(ralt_switch)"
  1075. };
  1076.