logo

oasis-root

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

su-8w (27917B)


  1. partial alphanumeric_keys default
  2. xkb_symbols "no" {
  3. name[Group1]= "Norwegian/Danish";
  4. include "nokia_vndr/su-8w(base)"
  5. key <AE01> { [ 1, exclam, dead_circumflex ] };
  6. key <AE02> { [ 2, quotedbl, at ] };
  7. key <AE03> { [ 3, numbersign, EuroSign ] };
  8. key <AE04> { [ 4, currency, dollar ] };
  9. key <AE05> { [ 5, percent, sterling ] };
  10. key <AE06> { [ 6, ampersand ] };
  11. key <AE07> { [ 7, slash, braceleft ] };
  12. key <AE08> { [ 8, parenleft, bracketleft ] };
  13. key <AE09> { [ 9, parenright, bracketright ] };
  14. key <AE10> { [ 0, equal, braceright ] };
  15. key <AE11> { [ plus, question ] };
  16. key <AE12> { [ dead_acute, dead_grave, backslash ] };
  17. key <AD01> { [ q, Q, dead_circumflex ] };
  18. key <AD02> { [ w, W, at ] };
  19. key <AD03> { [ e, E, EuroSign ] };
  20. key <AD04> { [ r, R, dollar ] };
  21. key <AD05> { [ t, T, sterling ] };
  22. key <AD06> { [ y, Y ] };
  23. key <AD07> { [ u, U, braceleft ] };
  24. key <AD08> { [ i, I, bracketleft ] };
  25. key <AD09> { [ o, O, bracketright ] };
  26. key <AD10> { [ p, P, braceright ] };
  27. key <AD11> { [ aring, Aring ] };
  28. key <AD12> { [ ssharp, U1E9E, backslash ] };
  29. key <AC01> { [ a, A ] };
  30. key <AC02> { [ s, S ] };
  31. key <AC03> { [ d, D ] };
  32. key <AC04> { [ f, F ] };
  33. key <AC05> { [ g, G ] };
  34. key <AC06> { [ h, H ] };
  35. key <AC07> { [ j, J ] };
  36. key <AC08> { [ k, K ] };
  37. key <AC09> { [ l, L ] };
  38. key <AC10> { [ oslash, Ooblique ] };
  39. key <AC11> { [ ae, AE ] };
  40. key <AB01> { [ z, Z ] };
  41. key <AB02> { [ x, X ] };
  42. key <AB03> { [ c, C ] };
  43. key <AB04> { [ v, V ] };
  44. key <AB05> { [ b, B ] };
  45. key <AB06> { [ n, N ] };
  46. key <AB07> { [ m, M ] };
  47. key <AB08> { [ comma, semicolon, less ] };
  48. key <AB09> { [ period, colon, greater ] };
  49. key <AB10> { [ minus, underscore, dead_diaeresis ] };
  50. include "level3(ralt_switch)"
  51. };
  52. partial alphanumeric_keys
  53. xkb_symbols "no_nodeadkeys" {
  54. name[Group1] = "Norwegian/Danish (no dead keys)";
  55. include "nokia_vndr/su-8w(no)"
  56. key <AE01> { [ 1, exclam, asciicircum ] };
  57. key <AE12> { [ acute, grave, backslash ] };
  58. key <AD01> { [ q, Q, asciicircum ] };
  59. };
  60. partial alphanumeric_keys default
  61. xkb_symbols "dk" {
  62. include "nokia_vndr/su-8w(no)"
  63. };
  64. partial alphanumeric_keys default
  65. xkb_symbols "dk_nodeadkeys" {
  66. include "nokia_vndr/su-8w(no_nodeadkeys)"
  67. };
  68. partial alphanumeric_keys default
  69. xkb_symbols "de" {
  70. name[Group1]= "German";
  71. include "nokia_vndr/su-8w(base)"
  72. key <AE01> { [ 1, exclam, dead_circumflex ] };
  73. key <AE02> { [ 2, quotedbl, at ] };
  74. key <AE03> { [ 3, numbersign, EuroSign ] };
  75. key <AE04> { [ 4, currency, dollar ] };
  76. key <AE05> { [ 5, percent, sterling ] };
  77. key <AE06> { [ 6, ampersand ] };
  78. key <AE07> { [ 7, slash, braceleft ] };
  79. key <AE08> { [ 8, parenleft, bracketleft ] };
  80. key <AE09> { [ 9, parenright, bracketright ] };
  81. key <AE10> { [ 0, equal, braceright ] };
  82. key <AE11> { [ plus, question ] };
  83. key <AE12> { [ dead_acute, dead_grave, backslash ] };
  84. key <AD01> { [ q, Q, dead_circumflex ] };
  85. key <AD02> { [ w, W, at ] };
  86. key <AD03> { [ e, E, EuroSign ] };
  87. key <AD04> { [ r, R, dollar ] };
  88. key <AD05> { [ t, T, sterling ] };
  89. key <AD06> { [ z, Z ] };
  90. key <AD07> { [ u, U, braceleft ] };
  91. key <AD08> { [ i, I, bracketleft ] };
  92. key <AD09> { [ o, O, bracketright ] };
  93. key <AD10> { [ p, P, braceright ] };
  94. key <AD11> { [ udiaeresis, Udiaeresis ] };
  95. key <AD12> { [ ssharp, U1E9E, backslash ] };
  96. key <AC01> { [ a, A ] };
  97. key <AC02> { [ s, S ] };
  98. key <AC03> { [ d, D ] };
  99. key <AC04> { [ f, F ] };
  100. key <AC05> { [ g, G ] };
  101. key <AC06> { [ h, H ] };
  102. key <AC07> { [ j, J ] };
  103. key <AC08> { [ k, K ] };
  104. key <AC09> { [ l, L ] };
  105. key <AC10> { [ odiaeresis, Odiaeresis ] };
  106. key <AC11> { [ adiaeresis, Adiaeresis ] };
  107. key <AB01> { [ y, Y ] };
  108. key <AB02> { [ x, X ] };
  109. key <AB03> { [ c, C ] };
  110. key <AB04> { [ v, V ] };
  111. key <AB05> { [ b, B ] };
  112. key <AB06> { [ n, N ] };
  113. key <AB07> { [ m, M ] };
  114. key <AB08> { [ comma, semicolon, less ] };
  115. key <AB09> { [ period, colon, greater ] };
  116. // XXX Inexplicably, the diaeresis is dead on other layouts, but not
  117. // German. Go figure.
  118. key <AB10> { [ minus, underscore, diaeresis ] };
  119. include "level3(ralt_switch)"
  120. };
  121. partial alphanumeric_keys
  122. xkb_symbols "de_nodeadkeys" {
  123. name[Group1] = "German (no dead keys)";
  124. include "nokia_vndr/su-8w(de)"
  125. key <AE01> { [ 1, exclam, asciicircum ] };
  126. key <AE12> { [ acute, grave, backslash ] };
  127. key <AD01> { [ q, Q, asciicircum ] };
  128. };
  129. partial alphanumeric_keys default
  130. xkb_symbols "se" {
  131. name[Group1]= "Finnish/Swedish";
  132. include "nokia_vndr/su-8w(base)"
  133. key <AE01> { [ 1, exclam, dead_circumflex ] };
  134. key <AE02> { [ 2, quotedbl, at ] };
  135. key <AE03> { [ 3, numbersign, EuroSign ] };
  136. key <AE04> { [ 4, currency, dollar ] };
  137. key <AE05> { [ 5, percent, sterling ] };
  138. key <AE06> { [ 6, ampersand ] };
  139. key <AE07> { [ 7, slash, braceleft ] };
  140. key <AE08> { [ 8, parenleft, bracketleft ] };
  141. key <AE09> { [ 9, parenright, bracketright ] };
  142. key <AE10> { [ 0, equal, braceright ] };
  143. key <AE11> { [ plus, question ] };
  144. key <AE12> { [ dead_acute, dead_grave, backslash ] };
  145. key <AD01> { [ q, Q, dead_circumflex ] };
  146. key <AD02> { [ w, W, at ] };
  147. key <AD03> { [ e, E, EuroSign ] };
  148. key <AD04> { [ r, R, dollar ] };
  149. key <AD05> { [ t, T, sterling ] };
  150. key <AD06> { [ y, Y ] };
  151. key <AD07> { [ u, U, braceleft ] };
  152. key <AD08> { [ i, I, bracketleft ] };
  153. key <AD09> { [ o, O, bracketright ] };
  154. key <AD10> { [ p, P, braceright ] };
  155. key <AD11> { [ aring, Aring ] };
  156. key <AD12> { [ ssharp, U1E9E, backslash ] };
  157. key <AC01> { [ a, A ] };
  158. key <AC02> { [ s, S ] };
  159. key <AC03> { [ d, D ] };
  160. key <AC04> { [ f, F ] };
  161. key <AC05> { [ g, G ] };
  162. key <AC06> { [ h, H ] };
  163. key <AC07> { [ j, J ] };
  164. key <AC08> { [ k, K ] };
  165. key <AC09> { [ l, L ] };
  166. key <AC10> { [ odiaeresis, Odiaeresis ] };
  167. key <AC11> { [ adiaeresis, Adiaeresis ] };
  168. key <AB01> { [ z, Z ] };
  169. key <AB02> { [ x, X ] };
  170. key <AB03> { [ c, C ] };
  171. key <AB04> { [ v, V ] };
  172. key <AB05> { [ b, B ] };
  173. key <AB06> { [ n, N ] };
  174. key <AB07> { [ m, M ] };
  175. key <AB08> { [ comma, semicolon, less ] };
  176. key <AB09> { [ period, colon, greater ] };
  177. key <AB10> { [ minus, underscore, dead_diaeresis ] };
  178. include "level3(ralt_switch)"
  179. };
  180. partial alphanumeric_keys
  181. xkb_symbols "se_nodeadkeys" {
  182. name[Group1] = "Finnish/Swedish (no dead keys)";
  183. include "nokia_vndr/su-8w(se)"
  184. key <AE01> { [ 1, exclam, asciicircum ] };
  185. key <AE12> { [ acute, grave, backslash ] };
  186. key <AD01> { [ q, Q, asciicircum ] };
  187. key <AB10> { [ minus, underscore, diaeresis ] };
  188. };
  189. partial alphanumeric_keys default
  190. xkb_symbols "fi" {
  191. include "nokia_vndr/su-8w(se)"
  192. };
  193. xkb_symbols "fi_nodeadkeys" {
  194. include "nokia_vndr/su-8w(se_nodeadkeys)"
  195. };
  196. // Russian layout on first two levels, US layout on third and fourth.
  197. partial alphanumeric_keys default
  198. xkb_symbols "ru" {
  199. name[Group1]= "Russian";
  200. include "nokia_vndr/su-8w(base)"
  201. // XXX Would be nice if this actually generated a tilde.
  202. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave ] };
  203. key <AE01> { [ 1, exclam, exclam, exclam ] };
  204. key <AE02> { [ 2, at, quotedbl, at ] };
  205. key <AE03> { [ 3, numbersign, numbersign, numbersign ] };
  206. key <AE04> { [ 4, dollar, currency, dollar ] };
  207. key <AE05> { [ 5, percent, percent, percent ] };
  208. key <AE06> { [ 6, dead_circumflex, ampersand, asciicircum ] };
  209. key <AE07> { [ 7, ampersand, slash, ampersand ] };
  210. key <AE08> { [ 8, asterisk, parenleft, asterisk ] };
  211. key <AE09> { [ 9, parenleft, parenright, parenleft ] };
  212. key <AE10> { [ 0, parenright, equal, parenright ] };
  213. key <AE11> { [ minus, underscore, plus, question ] };
  214. key <AE12> { [ equal, plus, equal, plus ] };
  215. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] };
  216. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, w, W ] };
  217. key <AD03> { [ Cyrillic_u, Cyrillic_U, e, E ] };
  218. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, r, R ] };
  219. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, t, T ] };
  220. key <AD06> { [ Cyrillic_en, Cyrillic_EN, y, Y ] };
  221. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] };
  222. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, i, I ] };
  223. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] };
  224. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, p, P ] };
  225. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] };
  226. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] };
  227. key <AC01> { [ Cyrillic_ef, Cyrillic_EF, a, A ] };
  228. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] };
  229. key <AC03> { [ Cyrillic_ve, Cyrillic_VE, d, D ] };
  230. key <AC04> { [ Cyrillic_a, Cyrillic_A, f, F ] };
  231. key <AC05> { [ Cyrillic_pe, Cyrillic_PE, g, G ] };
  232. key <AC06> { [ Cyrillic_er, Cyrillic_ER, h, H ] };
  233. key <AC07> { [ Cyrillic_o, Cyrillic_O, j, J ] };
  234. key <AC08> { [ Cyrillic_el, Cyrillic_EL, k, K ] };
  235. key <AC09> { [ Cyrillic_de, Cyrillic_DE, l, L ] };
  236. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
  237. key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] };
  238. key <AB01> { [ Cyrillic_ya, Cyrillic_YA, z, Z ] };
  239. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, x, X ] };
  240. key <AB03> { [ Cyrillic_es, Cyrillic_ES, c, C ] };
  241. key <AB04> { [ Cyrillic_em, Cyrillic_EM, v, V ] };
  242. key <AB05> { [ Cyrillic_i, Cyrillic_I, b, B ] };
  243. key <AB06> { [ Cyrillic_te, Cyrillic_TE, n, N ] };
  244. key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, m, M ] };
  245. key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
  246. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, period, greater ] };
  247. key <AB10> { [ slash, question, slash, question ] };
  248. include "level3(ralt_switch)"
  249. };
  250. partial alphanumeric_keys
  251. xkb_symbols "ru_nodeadkeys" {
  252. name[Group1] = "Russian - no dead keys";
  253. include "nokia_vndr/su-8w(ru)"
  254. key <AE06> { [ 6, asciicircum, ampersand, asciicircum ] };
  255. };
  256. partial alphanumeric_keys default
  257. xkb_symbols "us" {
  258. name[Group1]= "U.S. English - International";
  259. include "nokia_vndr/su-8w(base)"
  260. // I can't believe it's not us(intl).
  261. key <AE01> { [ 1, exclam, exclamdown ] };
  262. key <AE02> { [ 2, at, twosuperior ] };
  263. key <AE03> { [ 3, numbersign ] };
  264. key <AE04> { [ 4, dollar, currency ] };
  265. key <AE05> { [ 5, percent, EuroSign ] };
  266. key <AE06> { [ 6, asciicircum, onequarter ] };
  267. key <AE07> { [ 7, ampersand, onehalf ] };
  268. key <AE08> { [ 8, asterisk, threequarters ] };
  269. key <AE09> { [ 9, parenleft, leftsinglequotemark ] };
  270. key <AE10> { [ 0, parenright, rightsinglequotemark ] };
  271. key <AE11> { [ minus, underscore, yen ] };
  272. key <AE12> { [ equal, plus, multiply ] };
  273. key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
  274. key <AD02> { [ w, W, aring, Aring ] };
  275. key <AD03> { [ e, E, eacute, Eacute ] };
  276. key <AD04> { [ r, R, registered ] };
  277. key <AD05> { [ t, T, thorn, THORN ] };
  278. key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
  279. key <AD07> { [ u, U, uacute, Uacute ] };
  280. key <AD08> { [ i, I, iacute, Iacute ] };
  281. key <AD09> { [ o, O, oacute, Oacute ] };
  282. key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
  283. key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
  284. key <AD12> { [ bracketright, braceright, guillemotright ] };
  285. key <AC01> { [ a, A, aacute, Aacute ] };
  286. key <AC02> { [ s, S, ssharp, section ] };
  287. key <AC03> { [ d, D, eth, ETH ] };
  288. key <AC04> { [ f, F ] };
  289. key <AC05> { [ g, G ] };
  290. key <AC06> { [ h, H ] };
  291. key <AC07> { [ j, J ] };
  292. key <AC08> { [ k, K ] };
  293. key <AC09> { [ l, L, oslash, Ooblique ] };
  294. key <AC10> { [ semicolon, colon, paragraph, degree ] };
  295. // XXX Not entirely sure if fourth level is quotedbl or diaeresis.
  296. // The former makes a lot more sense.
  297. key <AC11> { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
  298. key <AB01> { [ z, Z, ae, AE ] };
  299. key <AB02> { [ x, X ] };
  300. key <AB03> { [ c, C, copyright ] };
  301. key <AB04> { [ v, V ] };
  302. key <AB05> { [ b, B ] };
  303. key <AB06> { [ n, N, ntilde, Ntilde ] };
  304. key <AB07> { [ m, M, mu ] };
  305. key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
  306. key <AB09> { [ period, greater ] };
  307. key <AB10> { [ slash, question, questiondown ] };
  308. include "level3(ralt_switch)"
  309. };
  310. partial alphanumeric_keys
  311. xkb_symbols "us_nodeadkeys" {
  312. name[Group1] = "U.S. English - no dead keys";
  313. include "nokia_vndr/su-8w(us_intl)"
  314. // XXX Not entirely sure if second level is quotedbl or diaeresis.
  315. // The former makes a lot more sense.
  316. key <AC10> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
  317. };
  318. default partial alphanumeric_keys
  319. xkb_symbols "base" {
  320. // forked from from pc(pc105); madness.
  321. key <ESC> { [ Escape ] };
  322. // the extra key on most European keyboards
  323. key <LSGT> { [ less, greater, bar, brokenbar ] };
  324. // these keys are common to all layouts
  325. key <BKSL> { [ backslash, bar ] };
  326. key <SPCE> { [ space ] };
  327. key <BKSP> { [ BackSpace ] };
  328. key <TAB> { [ Tab, ISO_Left_Tab ] };
  329. key <RTRN> { [ Return ] };
  330. // we don't ever generate this key, but the VKB needs it always.
  331. key <KPEN> { [ KP_Enter ] };
  332. // generated from the headset, must always be in the map.
  333. key <I29> { [ XF86Phone ] };
  334. key <CAPS> { [ Caps_Lock ] };
  335. key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
  336. key <LFSH> { [ Shift_L ] };
  337. key <LCTL> { [ Control_L ] };
  338. key <LALT> { [ Alt_L, Meta_L ] };
  339. key <LWIN> { [ Super_L ] };
  340. key <RTSH> { [ Shift_R ] };
  341. key <RCTL> { [ Control_R ] };
  342. key <RALT> { [ Alt_R, Meta_R ] };
  343. key <RWIN> { [ Super_R ] };
  344. key <MENU> { [ Menu ] };
  345. key <FK01> { [ F1 ] };
  346. key <FK02> { [ F2 ] };
  347. key <FK03> { [ F3 ] };
  348. key <FK04> { [ F4 ] };
  349. key <FK05> { [ F5 ] };
  350. key <FK06> { [ F6 ] };
  351. key <FK07> { [ F7 ] };
  352. key <FK08> { [ F8 ] };
  353. key <FK09> { [ F9 ] };
  354. key <FK10> { [ F11 ] };
  355. key <FK11> { [ F10 ] };
  356. key <FK12> { [ F12 ] };
  357. // Begin modifier mappings
  358. modifier_map Shift { Shift_L, Shift_R };
  359. modifier_map Lock { Caps_Lock };
  360. modifier_map Control{ Control_L, Control_R };
  361. modifier_map Mod2 { Num_Lock };
  362. // Fake keys for virtual<->real modifiers mapping:
  363. key <LVL3> { [ ISO_Level3_Shift ] };
  364. key <MDSW> { [ Mode_switch ] };
  365. modifier_map Mod5 { <LVL3>, <MDSW> };
  366. key <ALT> { [ NoSymbol, Alt_L ] };
  367. modifier_map Mod1 { <ALT>, <LALT> };
  368. key <META> { [ NoSymbol, Meta_L ] };
  369. modifier_map Mod1 { <META> };
  370. key <SUPR> { [ NoSymbol, Super_L ] };
  371. modifier_map Mod4 { <SUPR> };
  372. key <HYPR> { [ NoSymbol, Hyper_L ] };
  373. modifier_map Mod4 { <HYPR> };
  374. // End modifier mappings
  375. key <INS> { [ Insert ] };
  376. key <DELE> { [ Delete ] };
  377. key <END> { [ End ] };
  378. key <UP> { [ Up ] };
  379. key <LEFT> { [ Left ] };
  380. key <DOWN> { [ Down ] };
  381. key <RGHT> { [ Right ] };
  382. // True for all layouts (except for ru).
  383. key <TLDE> { [ grave, asterisk, asciitilde ] };
  384. // SU-8W uses 140 for Home, not the normal keycode. Very useful.
  385. key <HOME> { [ NoSymbol ] };
  386. // Ditto LWIN/RWIN and Page Up/Page Down.
  387. key <PGUP> { [ none ] };
  388. key <PGDN> { [ NoSymbol ] };
  389. // The LWIN & RWIN keys correspond to the 'select left' and
  390. // 'select right' keys.
  391. key <LWIN> { [ Prior ] };
  392. key <RWIN> { [ Next ] };
  393. // <FRNT> = 140 ~ <I140>
  394. key <FRNT> { [ Home ] };
  395. // <PROP> = 138 ~ <I138>
  396. key <PROP> { [ Menu ] };
  397. key <I163> { [ XF86Mail ] };
  398. // Power button.
  399. key <I5E> { [ Execute ] };
  400. };