327 lines
21 KiB
Plaintext
327 lines
21 KiB
Plaintext
//
|
||
// 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 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
|
||
|
||
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, NoSymbol ] };
|
||
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, NoSymbol ] };
|
||
key <AC09> { [ l, L, dead_stroke, NoSymbol ] };
|
||
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 ] };
|
||
|
||
include "nbsp(level4)"
|
||
include "nbsp(level3)"
|
||
include "kpdl(comma)"
|
||
include "level3(ralt_switch)"
|
||
};
|
||
|
||
partial alphanumeric_keys
|
||
xkb_symbols "winkeys" {
|
||
|
||
include "fi(kotoistus)"
|
||
name[Group1]="Finnish (Winkeys)";
|
||
include "eurosign(5)"
|
||
};
|
||
|
||
partial alphanumeric_keys
|
||
xkb_symbols "classic" {
|
||
|
||
include "fi(fi)"
|
||
|
||
name[Group1]="Finnish (classic)";
|
||
};
|
||
|
||
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, NoSymbol ] };
|
||
key <AC09> { [ l, L, dead_stroke, NoSymbol ] };
|
||
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, NoSymbol ] };
|
||
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 ] };
|
||
|
||
include "nbsp(level4)"
|
||
include "kpdl(comma)"
|
||
include "level3(ralt_switch)"
|
||
include "compose(rwin)"
|
||
};
|
||
|
||
partial alphanumeric_keys
|
||
xkb_symbols "nodeadkeys" {
|
||
|
||
// Classic Finnish keyboard layout without dead keys
|
||
|
||
include "fi(fi)"
|
||
|
||
name[Group1]="Finnish (classic, eliminate 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)"
|
||
};
|
||
|
||
partial
|
||
xkb_symbols "das" {
|
||
|
||
// This is DAS layout for typing Finnish. It is originally designed by
|
||
// Cristian Seres (cseres at iki.fi).
|
||
// More information about DAS: http://c.seres.fi/DAS_en.html
|
||
// This xkeyboard layout is originally made by Joel Lehtonen,
|
||
// (joel.lehtonen at iki.fi) on 2008-01-14. He released it under 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)"
|
||
include "compose(rwin)"
|
||
};
|
||
|
||
// --> OEystein Bech "DreymaR" Gadmar, 2012-01: Additions to xkb/symbols/fi
|
||
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Finnish.
|
||
// 2006-01-01 Shai Coleman, http://colemak.com/
|
||
// See the Colemak forum topic on Cmk[eD] locales: http://forum.colemak.com/viewtopic.php?id=1458
|
||
|
||
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
|
||
partial alphanumeric_keys
|
||
xkb_symbols "cmk_ed_ks" {
|
||
include "fi(kotoistus)"
|
||
include "colemak(cmk_ed_letters)"
|
||
name[Group1]= "Finnish (Colemak[eD], keep local symbols)";
|
||
|
||
// NOTE: Symbols on letter keys may be lost in cmk_ed_ks if they are not on Colemak[eD] letter keys.
|
||
// EuroSign is often on 'E'. The latin(intl) and locale(winkeys) layout variants use '5'.
|
||
// Colemak[eD] has EuroSign on 'E' and mu on '5'.
|
||
// key <AE05> { [ NoSymbol, NoSymbol, mu, NoSymbol ] };
|
||
// key <AE05> { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; // permille is lost
|
||
|
||
key <AD10> { [odiaeresis, Odiaeresis, oslash, Ooblique ] }; // from <AC10>
|
||
};
|
||
|
||
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
|
||
// For Finnish, necessary local letters are added to designated flexible spots in the layout.
|
||
// For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown.
|
||
partial alphanumeric_keys
|
||
xkb_symbols "cmk_ed_us" {
|
||
include "colemak(cmk_ed_letters)"
|
||
include "colemak(cmk_ed_symbols)"
|
||
include "level3(ralt_switch)"
|
||
name[Group1]= "Finnish (Colemak[eD], unified symbols)";
|
||
|
||
// key <AD12> { [ odiaeresis, Odiaeresis, bracketright, braceright ] }; // from <AC10>
|
||
// key <LSGT> { [ adiaeresis, Adiaeresis, oslash, Ooblique ] }; // from <AC11>
|
||
|
||
// key <AD11> { [ bracketleft, braceleft, aring, Aring ] };
|
||
// key <AD12> { [ bracketright, braceright, adiaeresis, Adiaeresis ] };
|
||
key <AD11> { [ aring, Aring, bracketleft, braceleft ] }; // from <AD10>
|
||
key <AD12> { [ adiaeresis, Adiaeresis, bracketright, braceright ] }; // from <AC11>
|
||
key <LSGT> { [ odiaeresis, Odiaeresis, oslash, Ooblique ] }; // from <AC10>
|
||
// key <AC06> { [ h, H, dstroke, Greek_alpha ] }; // keep đ/α
|
||
// NOTE: The Scandinavian layouts (dk/fi/no/se) have been harmonized. This shouldn't affect typing efficiency.
|
||
};
|
||
// <-- DreymaR: Additions to xkb/symbols/fi
|