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