Mini Shell
//
// X keyboard maps for Finland
//
// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
// Classic keymap based on traditional by Marko Myllynen
// Eliminate deadkeys alternative sent by Linus Torvalds
//
default partial alphanumeric_keys
xkb_symbols "kotoistus" {
// Official keymap for Finland based on SFS 5966:2019 standard
//
// This keymap implements all the functionality of Annex 1
// of the standard and additionally defines the following to
// allow entering these characters with keyboards without LSGT.
//
// AE08+4 : U+003C LESS-THAN SIGN (less)
// AE09+4 : U+003E GREATER-THAN SIGN (greater)
// AD08+4 : U+007C VERTICAL LINE (bar)
//
// Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose.
//
// This keymap implements regular space in position "A-3" of the
// standard and implements NARROW NO-BREAK SPACE (U+202F) in A-4.
//
// The following definitions are also included to allow entering
// Greek letters and currency symbols with the libX11 sequences.
//
// AC08+4 : dead_greek
// AC09+4 : dead_currency
name[Group1]="Finnish";
key <TLDE> { [ section, onehalf, dead_stroke, NoSymbol ] };
key <AE01> { [ 1, exclam, NoSymbol, exclamdown ] };
key <AE02> { [ 2, quotedbl, at, rightdoublequotemark ] };
key <AE03> { [ 3, numbersign, sterling, guillemotright ] };
key <AE04> { [ 4, currency, dollar, guillemotleft ] };
key <AE05> { [ 5, percent, permille, leftdoublequotemark ] };
key <AE06> { [ 6, ampersand, singlelowquotemark, doublelowquotemark ] };
key <AE07> { [ 7, slash, braceleft, NoSymbol ] };
key <AE08> { [ 8, parenleft, bracketleft, less ] };
key <AE09> { [ 9, parenright, bracketright, greater ] };
key <AE10> { [ 0, equal, braceright, degree ] };
key <AE11> { [ plus, question, backslash, questiondown ] };
key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
key <AD01> { [ q, Q, q, Q ] };
key <AD02> { [ w, W, w, W ] };
key <AD03> { [ e, E, EuroSign, NoSymbol ] };
key <AD04> { [ r, R, r, R ] };
key <AD05> { [ t, T, thorn, THORN ] };
key <AD06> { [ y, Y, y, Y ] };
key <AD07> { [ u, U, u, U ] };
key <AD08> { [ i, I, idotless, bar ] };
key <AD09> { [ o, O, oe, OE ] };
key <AD10> { [ p, P, dead_horn, dead_hook ] };
key <AD11> { [ aring, Aring, dead_doubleacute, dead_abovering ] };
key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_macron ] };
key <AC01> { [ a, A, schwa, SCHWA ] };
key <AC02> { [ s, S, ssharp, U1E9E ] };
key <AC03> { [ d, D, eth, ETH ] };
key <AC04> { [ f, F, f, F ] };
key <AC05> { [ g, G, g, G ] };
key <AC06> { [ h, H, h, H ] };
key <AC07> { [ j, J, j, J ] };
key <AC08> { [ k, K, kra, dead_greek ] };
key <AC09> { [ l, L, dead_stroke, dead_currency ] };
key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
key <LSGT> { [ less, greater, bar, NoSymbol ] };
key <AB01> { [ z, Z, ezh, EZH ] };
key <AB02> { [ x, X, multiply, periodcentered ] };
key <AB03> { [ c, C, c, C ] };
key <AB04> { [ v, V, v, V ] };
key <AB05> { [ b, B, b, B ] };
key <AB06> { [ n, N, eng, ENG ] };
key <AB07> { [ m, M, mu, emdash ] };
key <AB08> { [ comma, semicolon, rightsinglequotemark, leftsinglequotemark ] };
key <AB09> { [ period, colon, dead_belowdot, dead_abovedot ] };
key <AB10> { [ minus, underscore, endash, dead_belowcomma ] };
key <SPCE> { [ space, space, space, U202F ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "winkeys" {
include "fi(kotoistus)"
name[Group1]="Finnish (Windows)";
include "eurosign(5)"
};
hidden partial alphanumeric_keys
xkb_symbols "fi" {
// Classic Finnish keyboard layout with dead keys
key <TLDE> { [ section, onehalf, onequarter, threequarters ] };
key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
key <AE02> { [ 2, quotedbl, at, twosuperior ] };
key <AE03> { [ 3, numbersign, sterling, threesuperior ] };
key <AE04> { [ 4, currency, dollar, cent ] };
key <AE05> { [ 5, percent, EuroSign, masculine ] };
key <AE06> { [ 6, ampersand, yen, ordfeminine ] };
key <AE07> { [ 7, slash, braceleft, plusminus ] };
key <AE08> { [ 8, parenleft, bracketleft, less ] };
key <AE09> { [ 9, parenright, bracketright, greater ] };
key <AE10> { [ 0, equal, braceright, degree ] };
key <AE11> { [ plus, question, backslash, questiondown ] };
key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
key <AD01> { [ q, Q, q, Q ] };
key <AD02> { [ w, W, w, W ] };
key <AD03> { [ e, E, EuroSign, cent ] };
key <AD04> { [ r, R, registered, NoSymbol ] };
key <AD05> { [ t, T, thorn, THORN ] };
key <AD06> { [ y, Y, y, Y ] };
key <AD07> { [ u, U, u, U ] };
key <AD08> { [ i, I, idotless, bar ] };
key <AD09> { [ o, O, o, O ] };
key <AD10> { [ p, P, paragraph, NoSymbol ] };
key <AD11> { [ aring, Aring, oe, OE ] };
key <AD12> { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };
key <AC01> { [ a, A, schwa, SCHWA ] };
key <AC02> { [ s, S, scaron, Scaron ] };
key <AC03> { [ d, D, eth, ETH ] };
key <AC04> { [ f, F, f, F ] };
key <AC05> { [ g, G, eng, ENG ] };
key <AC06> { [ h, H, h, H ] };
key <AC07> { [ j, J, j, J ] };
key <AC08> { [ k, K, kra, dead_greek ] };
key <AC09> { [ l, L, dead_stroke, dead_currency ] };
key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <BKSL> { [ apostrophe, asterisk, dead_caron, dead_breve ] };
key <LSGT> { [ less, greater, bar, brokenbar ] };
key <AB01> { [ z, Z, zcaron, Zcaron ] };
key <AB02> { [ x, X, multiply, division ] };
key <AB03> { [ c, C, copyright, cent ] };
key <AB04> { [ v, V, v, V ] };
key <AB05> { [ b, B, ssharp, U1E9E ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB07> { [ m, M, mu, NoSymbol ] };
key <AB08> { [ comma, semicolon, dead_cedilla, dead_ogonek ] };
key <AB09> { [ period, colon, periodcentered, notsign ] };
key <AB10> { [ minus, underscore, hyphen, dead_macron ] };
key <SPCE> { [ space, space, space, U202F ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "classic" {
include "fi(fi)"
name[Group1]="Finnish (classic)";
};
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
// Classic Finnish keyboard layout without dead keys
include "fi(fi)"
name[Group1]="Finnish (classic, no dead keys)";
key <AE12> { [ acute, grave, cedilla, ogonek ] };
key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
key <AC09> { [ l, L, l, L ] };
key <BKSL> { [ apostrophe, asterisk, caron, breve ] };
key <AB08> { [ comma, semicolon, cedilla, ogonek ] };
key <AB10> { [ minus, underscore, hyphen, macron ] };
};
partial alphanumeric_keys
xkb_symbols "smi" {
// Describes the differences between a Norwegian Northern Sami
// (keyboard with dead key support) and a Swedish/Finnish Sami
// keyboard according to the specs at:
// http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html
include "no(smi)"
name[Group1]="Northern Saami (Finland)";
key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
};
partial alphanumeric_keys
xkb_symbols "mac" {
// Macintosh keyboard for Finland based on Swedish(Macintosh) keyboard
include "se(mac)"
name[Group1]="Finnish (Macintosh)";
};
partial alphanumeric_keys
xkb_symbols "sun_type6" {
// Sun Type 6/7 keyboard for Finland
include "sun_vndr/fi(sun_type6)"
name[Group1]="Finnish (Sun Type 6/7)";
};
partial
xkb_symbols "das" {
// DAS layout for typing Finnish designed by Cristian Seres (cseres at iki.fi).
// More information about DAS is available at http://c.seres.fi/DAS_en.html.
// This xkeyboard layout was created by Joel Lehtonen (joel.lehtonen at iki.fi),
// and he released it to public domain.
name[Group1]="Finnish (DAS)";
key <AE01> { [ 1, exclam, section ] };
key <AE02> { [ 2, quotedbl, twosuperior ] };
key <AE03> { [ 3, at, sterling ] };
key <AE04> { [ 4, EuroSign, dollar ] };
key <AE05> { [ 5, percent, onehalf ] };
key <AE06> { [ 6, ampersand ] };
key <AE07> { [ 7, braceleft ] };
key <AE08> { [ 8, parenleft, bracketleft ] };
key <AE09> { [ 9, parenright, bracketright ] };
key <AE10> { [ 0, braceright, degree ] };
key <AE11> { [ plus, question, currency ] };
key <AE12> { [ equal, numbersign ] };
key <AD01> { [ p, P, Greek_pi ] };
key <AD02> { [ h, H ] };
key <AD03> { [ r, R, dead_circumflex ] };
key <AD04> { [ k, K, dead_caron ] };
key <AD05> { [ less, greater ] };
key <AD06> { [ apostrophe, bar ] };
key <AD07> { [ w, W ] };
key <AD08> { [ u, U ] };
key <AD09> { [ y, Y ] };
key <AD10> { [ b, B ] };
key <AD11> { [ q, Q ] };
key <AD12> { [ z, Z, zcaron, Zcaron ] };
key <AC01> { [ s, S, scaron, Scaron ] };
key <AC02> { [ l, L, dead_acute ] };
key <AC03> { [ n, N, dead_grave ] };
key <AC04> { [ t, T, dead_diaeresis ] };
key <AC05> { [ v, V ] };
key <AC06> { [ g, G ] };
key <AC07> { [ a, A ] };
key <AC08> { [ i, I ] };
key <AC09> { [ o, O ] };
key <AC10> { [ e, E ] };
key <AC11> { [ c, C ] };
key <TLDE> { [ backslash, dead_tilde ] };
key <BKSL> { [ asterisk, slash ] };
key <LSGT> { [ f, F ] };
key <AB01> { [ x, X ] };
key <AB02> { [ d, D ] };
key <AB03> { [ m, M, mu ] };
key <AB04> { [ j, J ] };
key <AB05> { [ aring, Aring ] };
key <AB06> { [ odiaeresis, Odiaeresis, oe, OE ] };
key <AB07> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <AB08> { [ comma, semicolon ] };
key <AB09> { [ period, colon ] };
key <AB10> { [ minus, underscore, U2013, dead_macron ] };
key <SPCE> { [ space, space, space, nobreakspace ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "fidvorak" {
// Dvorak keyboard layout for use with Finnish by Pekka Oinas.
//
// Dedicated keys for Ä and Ö by utilizing the extra LSGT key found on Finnish keyboards
// and by moving colon and semicolon behind shift-modifiers on comma and period.
// Less and greater than symbols moved behind 3rd level modifiers on comma and period.
// Includes an assortment of dead keys but was not created with them in mind.
name[Group1]="Finnish (Dvorak)";
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam, NoSymbol, exclamdown ] };
key <AE02> { [ 2, at, cent, rightdoublequotemark ] };
key <AE03> { [ 3, numbersign, sterling ] };
key <AE04> { [ 4, dollar, currency ] };
key <AE05> { [ 5, percent, permille, leftdoublequotemark ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, doublelowquotemark ] };
key <AE07> { [ 7, ampersand, section, singlelowquotemark ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright, degree, dead_abovering ] };
key <AE11> { [ bracketleft, braceleft ] };
key <AE12> { [ bracketright, braceright ] };
key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_doubleacute ] };
key <AD02> { [ comma, semicolon, less, leftsinglequotemark ] };
key <AD03> { [ period, colon, greater ] };
key <AD04> { [ p, P ] };
key <AD05> { [ y, Y, yen ] };
key <AD06> { [ f, F ] };
key <AD07> { [ g, G ] };
key <AD08> { [ c, C ] };
key <AD09> { [ r, R ] };
key <AD10> { [ l, L, notsign ] };
key <AD11> { [ slash, question, NoSymbol, questiondown ] };
key <AD12> { [ equal, plus ] };
key <AC01> { [ a, A, schwa, SCHWA ] };
key <AC02> { [ o, O, aring, Aring ] };
key <AC03> { [ e, E, EuroSign ] };
key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
key <AC05> { [ i, I, idotless, Iabovedot ] };
key <AC06> { [ d, D, eth, ETH ] };
key <AC07> { [ h, H ] };
key <AC08> { [ t, T, thorn, THORN ] };
key <AC09> { [ n, N, eng, ENG ] };
key <AC10> { [ s, S, ssharp, U1E9E ] };
key <AC11> { [ minus, underscore, endash, emdash ] };
key <BKSL> { [ backslash, bar, dead_caron, dead_breve ] };
key <LSGT> { [ adiaeresis, Adiaeresis, ae, AE ] };
key <AB01> { [ odiaeresis, Odiaeresis, dead_diaeresis, dead_macron ] };
key <AB02> { [ q, Q, ooblique, Ooblique ] };
key <AB03> { [ j, J ] };
key <AB04> { [ k, K, kra ] };
key <AB05> { [ x, X, multiply, periodcentered ] };
key <AB06> { [ b, B, hyphen ] };
key <AB07> { [ m, M, mu, emdash ] };
key <AB08> { [ w, W ] };
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z, ezh, EZH ] };
include "level3(ralt_switch)"
};
Zerion Mini Shell 1.0