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

fi (24899B)


  1. //
  2. // X keyboard maps for Finland
  3. //
  4. // SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
  5. // Classic keymap based on traditional by Marko Myllynen
  6. // Eliminate deadkeys alternative sent by Linus Torvalds
  7. //
  8. default partial alphanumeric_keys
  9. xkb_symbols "kotoistus" {
  10. // Official keymap for Finland based on SFS 5966:2019 standard
  11. //
  12. // This keymap implements all the functionality of Annex 1
  13. // of the standard and additionally defines the following to
  14. // allow entering these characters with keyboards without LSGT.
  15. //
  16. // AE08+4 : U+003C LESS-THAN SIGN (less)
  17. // AE09+4 : U+003E GREATER-THAN SIGN (greater)
  18. // AD08+4 : U+007C VERTICAL LINE (bar)
  19. //
  20. // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose.
  21. //
  22. // This keymap implements regular space in position "A-3" of the
  23. // standard and implements NARROW NO-BREAK SPACE (U+202F) in A-4.
  24. //
  25. // The following definitions are also included to allow entering
  26. // Greek letters and currency symbols with the libX11 sequences.
  27. //
  28. // AC08+4 : dead_greek
  29. // AC09+4 : dead_currency
  30. name[Group1]="Finnish";
  31. key <TLDE> { [ section, onehalf, dead_stroke, NoSymbol ] };
  32. key <AE01> { [ 1, exclam, NoSymbol, exclamdown ] };
  33. key <AE02> { [ 2, quotedbl, at, rightdoublequotemark ] };
  34. key <AE03> { [ 3, numbersign, sterling, guillemotright ] };
  35. key <AE04> { [ 4, currency, dollar, guillemotleft ] };
  36. key <AE05> { [ 5, percent, permille, leftdoublequotemark ] };
  37. key <AE06> { [ 6, ampersand, singlelowquotemark, doublelowquotemark ] };
  38. key <AE07> { [ 7, slash, braceleft, NoSymbol ] };
  39. key <AE08> { [ 8, parenleft, bracketleft, less ] };
  40. key <AE09> { [ 9, parenright, bracketright, greater ] };
  41. key <AE10> { [ 0, equal, braceright, degree ] };
  42. key <AE11> { [ plus, question, backslash, questiondown ] };
  43. key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
  44. key <AD01> { [ q, Q, q, Q ] };
  45. key <AD02> { [ w, W, w, W ] };
  46. key <AD03> { [ e, E, EuroSign, NoSymbol ] };
  47. key <AD04> { [ r, R, r, R ] };
  48. key <AD05> { [ t, T, thorn, THORN ] };
  49. key <AD06> { [ y, Y, y, Y ] };
  50. key <AD07> { [ u, U, u, U ] };
  51. key <AD08> { [ i, I, idotless, bar ] };
  52. key <AD09> { [ o, O, oe, OE ] };
  53. key <AD10> { [ p, P, dead_horn, dead_hook ] };
  54. key <AD11> { [ aring, Aring, dead_doubleacute, dead_abovering ] };
  55. key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_macron ] };
  56. key <AC01> { [ a, A, schwa, SCHWA ] };
  57. key <AC02> { [ s, S, ssharp, U1E9E ] };
  58. key <AC03> { [ d, D, eth, ETH ] };
  59. key <AC04> { [ f, F, f, F ] };
  60. key <AC05> { [ g, G, g, G ] };
  61. key <AC06> { [ h, H, h, H ] };
  62. key <AC07> { [ j, J, j, J ] };
  63. key <AC08> { [ k, K, kra, dead_greek ] };
  64. key <AC09> { [ l, L, dead_stroke, dead_currency ] };
  65. key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
  66. key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
  67. key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
  68. key <LSGT> { [ less, greater, bar, NoSymbol ] };
  69. key <AB01> { [ z, Z, ezh, EZH ] };
  70. key <AB02> { [ x, X, multiply, periodcentered ] };
  71. key <AB03> { [ c, C, c, C ] };
  72. key <AB04> { [ v, V, v, V ] };
  73. key <AB05> { [ b, B, b, B ] };
  74. key <AB06> { [ n, N, eng, ENG ] };
  75. key <AB07> { [ m, M, mu, emdash ] };
  76. key <AB08> { [ comma, semicolon, rightsinglequotemark, leftsinglequotemark ] };
  77. key <AB09> { [ period, colon, dead_belowdot, dead_abovedot ] };
  78. key <AB10> { [ minus, underscore, endash, dead_belowcomma ] };
  79. key <SPCE> { [ space, space, space, U202F ] };
  80. include "kpdl(comma)"
  81. include "level3(ralt_switch)"
  82. };
  83. partial alphanumeric_keys
  84. xkb_symbols "winkeys" {
  85. include "fi(kotoistus)"
  86. name[Group1]="Finnish (Windows)";
  87. include "eurosign(5)"
  88. };
  89. hidden partial alphanumeric_keys
  90. xkb_symbols "fi" {
  91. // Classic Finnish keyboard layout with dead keys
  92. key <TLDE> { [ section, onehalf, onequarter, threequarters ] };
  93. key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
  94. key <AE02> { [ 2, quotedbl, at, twosuperior ] };
  95. key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
  96. key <AE04> { [ 4, currency, dollar, cent ] };
  97. key <AE05> { [ 5, percent, EuroSign, masculine ] };
  98. key <AE06> { [ 6, ampersand, yen, ordfeminine ] };
  99. key <AE07> { [ 7, slash, braceleft, plusminus ] };
  100. key <AE08> { [ 8, parenleft, bracketleft, less ] };
  101. key <AE09> { [ 9, parenright, bracketright, greater ] };
  102. key <AE10> { [ 0, equal, braceright, degree ] };
  103. key <AE11> { [ plus, question, backslash, questiondown ] };
  104. key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
  105. key <AD01> { [ q, Q, q, Q ] };
  106. key <AD02> { [ w, W, w, W ] };
  107. key <AD03> { [ e, E, EuroSign, cent ] };
  108. key <AD04> { [ r, R, registered, NoSymbol ] };
  109. key <AD05> { [ t, T, thorn, THORN ] };
  110. key <AD06> { [ y, Y, y, Y ] };
  111. key <AD07> { [ u, U, u, U ] };
  112. key <AD08> { [ i, I, idotless, bar ] };
  113. key <AD09> { [ o, O, o, O ] };
  114. key <AD10> { [ p, P, paragraph, NoSymbol ] };
  115. key <AD11> { [ aring, Aring, oe, OE ] };
  116. key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
  117. key <AC01> { [ a, A, schwa, SCHWA ] };
  118. key <AC02> { [ s, S, scaron, Scaron ] };
  119. key <AC03> { [ d, D, eth, ETH ] };
  120. key <AC04> { [ f, F, f, F ] };
  121. key <AC05> { [ g, G, eng, ENG ] };
  122. key <AC06> { [ h, H, h, H ] };
  123. key <AC07> { [ j, J, j, J ] };
  124. key <AC08> { [ k, K, kra, dead_greek ] };
  125. key <AC09> { [ l, L, dead_stroke, dead_currency ] };
  126. key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
  127. key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
  128. key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
  129. key <LSGT> { [ less, greater, bar, brokenbar ] };
  130. key <AB01> { [ z, Z, zcaron, Zcaron ] };
  131. key <AB02> { [ x, X, multiply, division ] };
  132. key <AB03> { [ c, C, copyright, cent ] };
  133. key <AB04> { [ v, V, v, V ] };
  134. key <AB05> { [ b, B, ssharp, U1E9E ] };
  135. key <AB06> { [ n, N, ntilde, Ntilde ] };
  136. key <AB07> { [ m, M, mu, NoSymbol ] };
  137. key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
  138. key <AB09> { [ period, colon, periodcentered, notsign ] };
  139. key <AB10> { [ minus, underscore, hyphen, dead_macron ] };
  140. key <SPCE> { [ space, space, space, U202F ] };
  141. include "kpdl(comma)"
  142. include "level3(ralt_switch)"
  143. };
  144. partial alphanumeric_keys
  145. xkb_symbols "classic" {
  146. include "fi(fi)"
  147. name[Group1]="Finnish (classic)";
  148. };
  149. partial alphanumeric_keys
  150. xkb_symbols "nodeadkeys" {
  151. // Classic Finnish keyboard layout without dead keys
  152. include "fi(fi)"
  153. name[Group1]="Finnish (classic, no dead keys)";
  154. key <AE12> { [ acute, grave, cedilla, ogonek ] };
  155. key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
  156. key <AC09> { [ l, L, l, L ] };
  157. key <BKSL> { [ apostrophe, asterisk, caron, breve ] };
  158. key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
  159. key <AB10> { [ minus, underscore, hyphen, macron ] };
  160. };
  161. partial alphanumeric_keys
  162. xkb_symbols "smi" {
  163. // Describes the differences between a Norwegian Northern Sami
  164. // (keyboard with dead key support) and a Swedish/Finnish Sami
  165. // keyboard according to the specs at:
  166. // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
  167. include "no(smi)"
  168. name[Group1]="Northern Saami (Finland)";
  169. key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
  170. key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
  171. };
  172. partial alphanumeric_keys
  173. xkb_symbols "mac" {
  174. // Macintosh keyboard for Finland based on Swedish(Macintosh) keyboard
  175. include "se(mac)"
  176. name[Group1]="Finnish (Macintosh)";
  177. };
  178. partial alphanumeric_keys
  179. xkb_symbols "sun_type6" {
  180. // #HW-SPECIFIC
  181. // Sun Type 6/7 keyboard for Finland
  182. include "sun_vndr/fi(sun_type6)"
  183. name[Group1]="Finnish";
  184. };
  185. partial
  186. xkb_symbols "das" {
  187. // DAS layout for typing Finnish designed by Cristian Seres (cseres at iki.fi).
  188. // More information about DAS is available at http://c.seres.fi/DAS_en.html.
  189. // This xkeyboard layout was created by Joel Lehtonen (joel.lehtonen at iki.fi),
  190. // and he released it to public domain.
  191. name[Group1]="Finnish (DAS)";
  192. key <TLDE> { [ backslash, dead_tilde ] };
  193. key <AE01> { [ 1, exclam, section ] };
  194. key <AE02> { [ 2, quotedbl, twosuperior ] };
  195. key <AE03> { [ 3, at, sterling ] };
  196. key <AE04> { [ 4, EuroSign, dollar ] };
  197. key <AE05> { [ 5, percent, onehalf ] };
  198. key <AE06> { [ 6, ampersand ] };
  199. key <AE07> { [ 7, braceleft ] };
  200. key <AE08> { [ 8, parenleft, bracketleft ] };
  201. key <AE09> { [ 9, parenright, bracketright ] };
  202. key <AE10> { [ 0, braceright, degree ] };
  203. key <AE11> { [ plus, question, currency ] };
  204. key <AE12> { [ equal, numbersign ] };
  205. key <AD01> { [ p, P, Greek_pi ] };
  206. key <AD02> { [ h, H ] };
  207. key <AD03> { [ r, R, dead_circumflex ] };
  208. key <AD04> { [ k, K, dead_caron ] };
  209. key <AD05> { [ less, greater ] };
  210. key <AD06> { [ apostrophe, bar ] };
  211. key <AD07> { [ w, W ] };
  212. key <AD08> { [ u, U ] };
  213. key <AD09> { [ y, Y ] };
  214. key <AD10> { [ b, B ] };
  215. key <AD11> { [ q, Q ] };
  216. key <AD12> { [ z, Z, zcaron, Zcaron ] };
  217. key <AC01> { [ s, S, scaron, Scaron ] };
  218. key <AC02> { [ l, L, dead_acute ] };
  219. key <AC03> { [ n, N, dead_grave ] };
  220. key <AC04> { [ t, T, dead_diaeresis ] };
  221. key <AC05> { [ v, V ] };
  222. key <AC06> { [ g, G ] };
  223. key <AC07> { [ a, A ] };
  224. key <AC08> { [ i, I ] };
  225. key <AC09> { [ o, O ] };
  226. key <AC10> { [ e, E ] };
  227. key <AC11> { [ c, C ] };
  228. key <BKSL> { [ asterisk, slash ] };
  229. key <LSGT> { [ f, F ] };
  230. key <AB01> { [ x, X ] };
  231. key <AB02> { [ d, D ] };
  232. key <AB03> { [ m, M, mu ] };
  233. key <AB04> { [ j, J ] };
  234. key <AB05> { [ aring, Aring ] };
  235. key <AB06> { [ odiaeresis, Odiaeresis, oe, OE ] };
  236. key <AB07> { [ adiaeresis, Adiaeresis, ae, AE ] };
  237. key <AB08> { [ comma, semicolon ] };
  238. key <AB09> { [ period, colon ] };
  239. key <AB10> { [ minus, underscore, U2013, dead_macron ] };
  240. key <SPCE> { [ space, space, space, nobreakspace ] };
  241. include "kpdl(comma)"
  242. include "level3(ralt_switch)"
  243. };
  244. partial alphanumeric_keys
  245. xkb_symbols "fidvorak" {
  246. // Dvorak keyboard layout for use with Finnish by Pekka Oinas.
  247. //
  248. // Dedicated keys for Ä and Ö by utilizing the extra LSGT key found on Finnish keyboards
  249. // and by moving colon and semicolon behind shift-modifiers on comma and period.
  250. // Less and greater than symbols moved behind 3rd level modifiers on comma and period.
  251. // Includes an assortment of dead keys but was not created with them in mind.
  252. name[Group1]="Finnish (Dvorak)";
  253. key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
  254. key <AE01> { [ 1, exclam, NoSymbol, exclamdown ] };
  255. key <AE02> { [ 2, at, cent, rightdoublequotemark ] };
  256. key <AE03> { [ 3, numbersign, sterling ] };
  257. key <AE04> { [ 4, dollar, currency ] };
  258. key <AE05> { [ 5, percent, permille, leftdoublequotemark ] };
  259. key <AE06> { [ 6, asciicircum, dead_circumflex, doublelowquotemark ] };
  260. key <AE07> { [ 7, ampersand, section, singlelowquotemark ] };
  261. key <AE08> { [ 8, asterisk ] };
  262. key <AE09> { [ 9, parenleft ] };
  263. key <AE10> { [ 0, parenright, degree, dead_abovering ] };
  264. key <AE11> { [ bracketleft, braceleft ] };
  265. key <AE12> { [ bracketright, braceright ] };
  266. key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_doubleacute ] };
  267. key <AD02> { [ comma, semicolon, less, leftsinglequotemark ] };
  268. key <AD03> { [ period, colon, greater ] };
  269. key <AD04> { [ p, P ] };
  270. key <AD05> { [ y, Y, yen ] };
  271. key <AD06> { [ f, F ] };
  272. key <AD07> { [ g, G ] };
  273. key <AD08> { [ c, C ] };
  274. key <AD09> { [ r, R ] };
  275. key <AD10> { [ l, L, notsign ] };
  276. key <AD11> { [ slash, question, NoSymbol, questiondown ] };
  277. key <AD12> { [ equal, plus ] };
  278. key <AC01> { [ a, A, schwa, SCHWA ] };
  279. key <AC02> { [ o, O, aring, Aring ] };
  280. key <AC03> { [ e, E, EuroSign ] };
  281. key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
  282. key <AC05> { [ i, I, idotless, Iabovedot ] };
  283. key <AC06> { [ d, D, eth, ETH ] };
  284. key <AC07> { [ h, H ] };
  285. key <AC08> { [ t, T, thorn, THORN ] };
  286. key <AC09> { [ n, N, eng, ENG ] };
  287. key <AC10> { [ s, S, ssharp, U1E9E ] };
  288. key <AC11> { [ minus, underscore, endash, emdash ] };
  289. key <BKSL> { [ backslash, bar, dead_caron, dead_breve ] };
  290. key <LSGT> { [ adiaeresis, Adiaeresis, ae, AE ] };
  291. key <AB01> { [ odiaeresis, Odiaeresis, dead_diaeresis, dead_macron ] };
  292. key <AB02> { [ q, Q, ooblique, Ooblique ] };
  293. key <AB03> { [ j, J ] };
  294. key <AB04> { [ k, K, kra ] };
  295. key <AB05> { [ x, X, multiply, periodcentered ] };
  296. key <AB06> { [ b, B, hyphen ] };
  297. key <AB07> { [ m, M, mu, emdash ] };
  298. key <AB08> { [ w, W ] };
  299. key <AB09> { [ v, V ] };
  300. key <AB10> { [ z, Z, ezh, EZH ] };
  301. include "level3(ralt_switch)"
  302. };