fi revision 52a82186
1154daed1Smrg//
2c067fea9Sghen// X keyboard maps for Finland
3154daed1Smrg//
4c067fea9Sghen// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
5c067fea9Sghen// Classic keymap based on traditional by Marko Myllynen
6c067fea9Sghen// Eliminate deadkeys alternative sent by Linus Torvalds
7c067fea9Sghen//
8c067fea9Sghen
9797b363dSmrgdefault  partial alphanumeric_keys
10154daed1Smrgxkb_symbols "kotoistus" {
11154daed1Smrg
12c067fea9Sghen    // Official keymap for Finland based on SFS 5966 standard
13c067fea9Sghen    //
14c067fea9Sghen    // This keymap implements all the functionality of Annex 1
15c067fea9Sghen    // of the standard and additionally defines the following to
160412cdedSmrg    // allow entering these characters with keyboards without LSGT.
17c067fea9Sghen    //
18c067fea9Sghen    // AE08+4, U+003C : LESS-THAN SIGN     (less)
19c067fea9Sghen    // AE09+4, U+003E : GREATER-THAN SIGN  (greater)
20c067fea9Sghen    // AD08+4, U+007C : VERTICAL LINE      (bar)
21c067fea9Sghen    //
22c067fea9Sghen    // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose
23c067fea9Sghen
24bfd7cbc1Smrg    name[Group1]="Finnish";
25154daed1Smrg
26c067fea9Sghen    key <TLDE> { [  section,         onehalf,          dead_stroke,           NoSymbol              ] };
27c067fea9Sghen    key <AE01> { [  1,               exclam,           NoSymbol,              exclamdown            ] };
28c067fea9Sghen    key <AE02> { [  2,               quotedbl,         at,                    rightdoublequotemark  ] };
29c067fea9Sghen    key <AE03> { [  3,               numbersign,       sterling,              guillemotright        ] };
30c067fea9Sghen    key <AE04> { [  4,               currency,         dollar,                guillemotleft         ] };
310412cdedSmrg    key <AE05> { [  5,               percent,          permille,              leftdoublequotemark   ] };
32c067fea9Sghen    key <AE06> { [  6,               ampersand,        singlelowquotemark,    doublelowquotemark    ] };
33c067fea9Sghen    key <AE07> { [  7,               slash,            braceleft,             NoSymbol              ] };
34c067fea9Sghen    key <AE08> { [  8,               parenleft,        bracketleft,           less                  ] };
35c067fea9Sghen    key <AE09> { [  9,               parenright,       bracketright,          greater               ] };
36c067fea9Sghen    key <AE10> { [  0,               equal,            braceright,            degree                ] };
37c067fea9Sghen    key <AE11> { [  plus,            question,         backslash,             questiondown          ] };
38c067fea9Sghen    key <AE12> { [  dead_acute,      dead_grave,       dead_cedilla,          dead_ogonek           ] };
39c067fea9Sghen
40c067fea9Sghen    key <AD01> { [  q,               Q,                q,                     Q                     ] };
41c067fea9Sghen    key <AD02> { [  w,               W,                w,                     W                     ] };
42c067fea9Sghen    key <AD03> { [  e,               E,                EuroSign,              NoSymbol              ] };
43c067fea9Sghen    key <AD04> { [  r,               R,                r,                     R                     ] };
44c067fea9Sghen    key <AD05> { [  t,               T,                thorn,                 THORN                 ] };
45c067fea9Sghen    key <AD06> { [  y,               Y,                y,                     Y                     ] };
46c067fea9Sghen    key <AD07> { [  u,               U,                u,                     U                     ] };
47c067fea9Sghen    key <AD08> { [  i,               I,                idotless,              bar                   ] };
48c067fea9Sghen    key <AD09> { [  o,               O,                oe,                    OE                    ] };
49c067fea9Sghen    key <AD10> { [  p,               P,                dead_horn,             dead_hook             ] };
50c067fea9Sghen    key <AD11> { [  aring,           Aring,            dead_doubleacute,      dead_abovering        ] };
51c067fea9Sghen    key <AD12> { [  dead_diaeresis,  dead_circumflex,  dead_tilde,            dead_macron           ] };
52c067fea9Sghen
53c067fea9Sghen    key <AC01> { [  a,               A,                schwa,                 SCHWA                 ] };
54c067fea9Sghen    key <AC02> { [  s,               S,                ssharp,                NoSymbol              ] };
55c067fea9Sghen    key <AC03> { [  d,               D,                eth,                   ETH                   ] };
56c067fea9Sghen    key <AC04> { [  f,               F,                f,                     F                     ] };
57c067fea9Sghen    key <AC05> { [  g,               G,                g,                     G                     ] };
58c067fea9Sghen    key <AC06> { [  h,               H,                h,                     H                     ] };
59c067fea9Sghen    key <AC07> { [  j,               J,                j,                     J                     ] };
60c067fea9Sghen    key <AC08> { [  k,               K,                kra,                   NoSymbol              ] };
61c067fea9Sghen    key <AC09> { [  l,               L,                dead_stroke,           NoSymbol              ] };
62c067fea9Sghen    key <AC10> { [  odiaeresis,      Odiaeresis,       oslash,                Oslash                ] };
63c067fea9Sghen    key <AC11> { [  adiaeresis,      Adiaeresis,       ae,                    AE                    ] };
64c067fea9Sghen    key <BKSL> { [  apostrophe,      asterisk,         dead_caron,            dead_breve            ] };
65c067fea9Sghen
66c067fea9Sghen    key <LSGT> { [  less,            greater,          bar,                   NoSymbol              ] };
670412cdedSmrg    key <AB01> { [  z,               Z,                ezh,                   EZH                   ] };
68c067fea9Sghen    key <AB02> { [  x,               X,                multiply,              periodcentered        ] };
69c067fea9Sghen    key <AB03> { [  c,               C,                c,                     C                     ] };
70c067fea9Sghen    key <AB04> { [  v,               V,                v,                     V                     ] };
71c067fea9Sghen    key <AB05> { [  b,               B,                b,                     B                     ] };
72c067fea9Sghen    key <AB06> { [  n,               N,                eng,                   ENG                   ] };
73c067fea9Sghen    key <AB07> { [  m,               M,                mu,                    emdash                ] };
74c067fea9Sghen    key <AB08> { [  comma,           semicolon,        rightsinglequotemark,  leftsinglequotemark   ] };
75c067fea9Sghen    key <AB09> { [  period,          colon,            dead_belowdot,         dead_abovedot         ] };
76c067fea9Sghen    key <AB10> { [  minus,           underscore,       endash,                dead_belowcomma       ] };
77154daed1Smrg
78da6c6c0bSmrg    include "nbsp(level4)"
79154daed1Smrg    include "nbsp(level3)"
80154daed1Smrg    include "kpdl(comma)"
81154daed1Smrg    include "level3(ralt_switch)"
82154daed1Smrg    include "compose(rwin)"
83154daed1Smrg};
84154daed1Smrg
8552a82186Smrgpartial alphanumeric_keys
8652a82186Smrgxkb_symbols "winkeys" {
8752a82186Smrg
8852a82186Smrg    include "fi(kotoistus)"
8952a82186Smrg    name[Group1]="Finnish (Winkeys)";
9052a82186Smrg    include "eurosign(5)"
9152a82186Smrg};
9252a82186Smrg
93154daed1Smrgpartial alphanumeric_keys
94154daed1Smrgxkb_symbols "classic" {
95c067fea9Sghen
96154daed1Smrg    include "fi(fi)"
97154daed1Smrg
98bfd7cbc1Smrg    name[Group1]="Finnish (classic)";
99154daed1Smrg};
100154daed1Smrg
101c067fea9Sghenpartial alphanumeric_keys hidden
102154daed1Smrgxkb_symbols "fi" {
103154daed1Smrg
10452a82186Smrg    // Classic Finnish keyboard layout with dead keys
105c067fea9Sghen
106c067fea9Sghen    key <TLDE> { [  section,         onehalf,          onequarter,            threequarters         ] };
107c067fea9Sghen    key <AE01> { [  1,               exclam,           exclamdown,            onesuperior           ] };
108c067fea9Sghen    key <AE02> { [  2,               quotedbl,         at,                    twosuperior           ] };
109c067fea9Sghen    key <AE03> { [  3,               numbersign,       sterling,              threesuperior         ] };
110c067fea9Sghen    key <AE04> { [  4,               currency,         dollar,                cent                  ] };
111c067fea9Sghen    key <AE05> { [  5,               percent,          EuroSign,              masculine             ] };
112c067fea9Sghen    key <AE06> { [  6,               ampersand,        yen,                   ordfeminine           ] };
113c067fea9Sghen    key <AE07> { [  7,               slash,            braceleft,             plusminus             ] };
11452a82186Smrg    key <AE08> { [  8,               parenleft,        bracketleft,           less                  ] };
11552a82186Smrg    key <AE09> { [  9,               parenright,       bracketright,          greater               ] };
116c067fea9Sghen    key <AE10> { [  0,               equal,            braceright,            degree                ] };
117c067fea9Sghen    key <AE11> { [  plus,            question,         backslash,             questiondown          ] };
118c067fea9Sghen    key <AE12> { [  dead_acute,      dead_grave,       dead_cedilla,          dead_ogonek           ] };
119c067fea9Sghen
120c067fea9Sghen    key <AD01> { [  q,               Q,                q,                     Q                     ] };
121c067fea9Sghen    key <AD02> { [  w,               W,                w,                     W                     ] };
122c067fea9Sghen    key <AD03> { [  e,               E,                EuroSign,              cent                  ] };
123c067fea9Sghen    key <AD04> { [  r,               R,                registered,            NoSymbol              ] };
124c067fea9Sghen    key <AD05> { [  t,               T,                thorn,                 THORN                 ] };
125c067fea9Sghen    key <AD06> { [  y,               Y,                y,                     Y                     ] };
126c067fea9Sghen    key <AD07> { [  u,               U,                u,                     U                     ] };
127c067fea9Sghen    key <AD08> { [  i,               I,                idotless,              bar                   ] };
128c067fea9Sghen    key <AD09> { [  o,               O,                o,                     O                     ] };
129c067fea9Sghen    key <AD10> { [  p,               P,                paragraph,             NoSymbol              ] };
130c067fea9Sghen    key <AD11> { [  aring,           Aring,            oe,                    OE                    ] };
131c067fea9Sghen    key <AD12> { [  dead_diaeresis,  dead_circumflex,  dead_tilde,            dead_caron            ] };
132c067fea9Sghen
133c067fea9Sghen    key <AC01> { [  a,               A,                schwa,                 SCHWA                 ] };
134c067fea9Sghen    key <AC02> { [  s,               S,                scaron,                Scaron                ] };
135c067fea9Sghen    key <AC03> { [  d,               D,                eth,                   ETH                   ] };
136c067fea9Sghen    key <AC04> { [  f,               F,                f,                     F                     ] };
137c067fea9Sghen    key <AC05> { [  g,               G,                eng,                   ENG                   ] };
138c067fea9Sghen    key <AC06> { [  h,               H,                h,                     H                     ] };
139c067fea9Sghen    key <AC07> { [  j,               J,                j,                     J                     ] };
140c067fea9Sghen    key <AC08> { [  k,               K,                kra,                   NoSymbol              ] };
141c067fea9Sghen    key <AC09> { [  l,               L,                dead_stroke,           NoSymbol              ] };
142c067fea9Sghen    key <AC10> { [  odiaeresis,      Odiaeresis,       oslash,                Oslash                ] };
143c067fea9Sghen    key <AC11> { [  adiaeresis,      Adiaeresis,       ae,                    AE                    ] };
144c067fea9Sghen    key <BKSL> { [  apostrophe,      asterisk,         dead_caron,            dead_breve            ] };
145c067fea9Sghen
146c067fea9Sghen    key <LSGT> { [  less,            greater,          bar,                   brokenbar             ] };
147c067fea9Sghen    key <AB01> { [  z,               Z,                zcaron,                Zcaron                ] };
148c067fea9Sghen    key <AB02> { [  x,               X,                multiply,              division              ] };
149c067fea9Sghen    key <AB03> { [  c,               C,                copyright,             cent                  ] };
150c067fea9Sghen    key <AB04> { [  v,               V,                v,                     V                     ] };
151c067fea9Sghen    key <AB05> { [  b,               B,                ssharp,                NoSymbol              ] };
152c067fea9Sghen    key <AB06> { [  n,               N,                ntilde,                Ntilde                ] };
153c067fea9Sghen    key <AB07> { [  m,               M,                mu,                    NoSymbol              ] };
154c067fea9Sghen    key <AB08> { [  comma,           semicolon,        dead_cedilla,          dead_ogonek           ] };
155c067fea9Sghen    key <AB09> { [  period,          colon,            periodcentered,        notsign               ] };
156c067fea9Sghen    key <AB10> { [  minus,           underscore,       hyphen,                dead_macron           ] };
157c067fea9Sghen
158c067fea9Sghen    include "nbsp(level4)"
159154daed1Smrg    include "kpdl(comma)"
160154daed1Smrg    include "level3(ralt_switch)"
161c067fea9Sghen    include "compose(rwin)"
162154daed1Smrg};
163154daed1Smrg
164154daed1Smrgpartial alphanumeric_keys
165154daed1Smrgxkb_symbols "nodeadkeys" {
166c067fea9Sghen
167c067fea9Sghen    // Classic Finnish keyboard layout without dead keys
168c067fea9Sghen
169154daed1Smrg    include "fi(fi)"
170154daed1Smrg
171bfd7cbc1Smrg    name[Group1]="Finnish (classic, eliminate dead keys)";
172154daed1Smrg
173c067fea9Sghen    key <AE12> { [  acute,           grave,            cedilla,               ogonek                ] };
174c067fea9Sghen    key <AD12> { [  diaeresis,       asciicircum,      asciitilde,            caron                 ] };
175c067fea9Sghen    key <AC09> { [  l,               L,                l,                     L                     ] };
176c067fea9Sghen    key <BKSL> { [  apostrophe,      asterisk,         caron,                 breve                 ] };
177c067fea9Sghen    key <AB08> { [  comma,           semicolon,        cedilla,               ogonek                ] };
178c067fea9Sghen    key <AB10> { [  minus,           underscore,       hyphen,                macron                ] };
179154daed1Smrg};
180154daed1Smrg
181c067fea9Sghenpartial alphanumeric_keys
182154daed1Smrgxkb_symbols "smi" {
183154daed1Smrg
184154daed1Smrg    // Describes the differences between a Norwegian Northern Sami
185154daed1Smrg    // (keyboard with dead key support) and a Swedish/Finnish Sami
186154daed1Smrg    // keyboard according to the specs at:
187154daed1Smrg    // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
188154daed1Smrg
189154daed1Smrg    include "no(smi)"
190154daed1Smrg
191bfd7cbc1Smrg    name[Group1]="Northern Saami (Finland)";
192154daed1Smrg
193c067fea9Sghen    key <AC10> { [  odiaeresis,      Odiaeresis,       oslash,                Oslash                ] };
194c067fea9Sghen    key <AC11> { [  adiaeresis,      Adiaeresis,       ae,                    AE                    ] };
195154daed1Smrg};
196154daed1Smrg
197c067fea9Sghenpartial alphanumeric_keys
198154daed1Smrgxkb_symbols "mac" {
199154daed1Smrg
200c067fea9Sghen    // Macintosh keyboard for Finland based on Swedish(Macintosh) keyboard
201154daed1Smrg
202154daed1Smrg    include "se(mac)"
203c067fea9Sghen
204bfd7cbc1Smrg    name[Group1]="Finnish (Macintosh)";
205154daed1Smrg};
2060412cdedSmrg
2070412cdedSmrgpartial alphanumeric_keys
20852a82186Smrgxkb_symbols "sun_type6" {
20952a82186Smrg
21052a82186Smrg    // Sun Type 6/7 keyboard for Finland
21152a82186Smrg
21252a82186Smrg    include "sun_vndr/fi(sun_type6)"
2130412cdedSmrg};
214