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