Home | History | Annotate | Line # | Download | only in symbols
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