is revision 1c606da7
1154daed1Smrg// based on
2154daed1Smrg// XKB keyboard by Hrafnkell Eiriksson - hkelle@rhi.hi.is
3154daed1Smrg//     fixes by Olafur Osvaldsson - oli@isnic.is
4154daed1Smrg//
50412cdedSmrg// "basic" corrected according to the Icelandic standard for keyboards,
60412cdedSmrg//     IST 125:1995 (some symbols substituted by a dead diacritic).
70412cdedSmrg//     Some positions are according to IST ISO/IEC 9995-3:1994
80412cdedSmrg//     Added nobreakspace
9154daed1Smrg
10797b363dSmrgdefault  partial alphanumeric_keys
11154daed1Smrgxkb_symbols "basic" {
12154daed1Smrg
13154daed1Smrg    include "latin(type4)"
14154daed1Smrg
15bfd7cbc1Smrg    name[Group1]="Icelandic";
16154daed1Smrg
170412cdedSmrg//  <AE00> = <TLDE>
18154daed1Smrg    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
19154daed1Smrg    key <AE04>	{ [         4,     dollar,   onequarter,     currency ]	};
20154daed1Smrg    key <AE11>	{ [odiaeresis, Odiaeresis,    backslash, questiondown ]	};
210412cdedSmrg    key <AE12>	{ [     minus, underscore, dead_cedilla,  dead_ogonek ]	};
22154daed1Smrg
23154daed1Smrg    key <AD11>	{ [       eth,        ETH, dead_diaeresis, dead_abovering ] };
24154daed1Smrg    key <AD12>	{ [apostrophe,   question,   asciitilde,  dead_macron ]	};
25154daed1Smrg
26188967beSsnj    key <AC03>	{ [         d,          D,  U201e,       U201c ] };
27154daed1Smrg    key <AC10>	{ [        ae,         AE,  asciicircum, dead_doubleacute ] };
280412cdedSmrg    key <AC11>	{ [dead_acute, dead_acute, dead_circumflex, dead_caron ] };
290412cdedSmrg    key <TLDE>	{ [dead_abovering,  dead_diaeresis,      notsign,      hyphen ]	};
30154daed1Smrg
310412cdedSmrg//  <AC12> = <BKSL>
320412cdedSmrg    key <BKSL>	{ [      plus,   asterisk,   grave,   dead_breve ]	};
330412cdedSmrg
340412cdedSmrg//  <AB00> = <LSGT>, is in file "pc": pc105
35154daed1Smrg    key <AB10>	{ [     thorn,      THORN, dead_belowdot, dead_abovedot ] };
36154daed1Smrg
37797b363dSmrg    key <SPCE>  { [     space,      space,  space, space ] };
380412cdedSmrg
39154daed1Smrg    include "level3(ralt_switch)"
40154daed1Smrg};
41154daed1Smrg
42154daed1Smrgpartial alphanumeric_keys
43154daed1Smrgxkb_symbols "Sundeadkeys" {
44154daed1Smrg
45154daed1Smrg    // modify the basic Icelandic layout to use Sun dead keys
46154daed1Smrg
47154daed1Smrg    include "is(basic)"
48154daed1Smrg
499184b9c8Smrg    name[Group1]="Icelandic (with Sun dead keys)";
50154daed1Smrg
51c067fea9Sghen    key <TLDE>	{ [dead_circumflex,     degree,      notsign,    notsign ]	};
52c067fea9Sghen    key <AE12>	{ [dead_acute, dead_grave, dead_cedilla, dead_cedilla ] };
53c067fea9Sghen    key <AD11>	{ [udiaeresis, Udiaeresis, dead_diaeresis, dead_diaeresis ] };
54c067fea9Sghen    key <AD12>	{ [      plus,   asterisk,  dead_tilde,  dead_macron ]	};
55c067fea9Sghen    key <AC10>	{ [odiaeresis, Odiaeresis,  dead_acute,  dead_acute ]	};
56c067fea9Sghen    key <AC11>	{ [adiaeresis, Adiaeresis, dead_circumflex, dead_circumflex ]	};
57c067fea9Sghen    key <BKSL>	{ [numbersign,      acute,  dead_grave,  dead_grave ]	};
58154daed1Smrg};
59154daed1Smrg
60154daed1Smrgpartial alphanumeric_keys
61154daed1Smrgxkb_symbols "nodeadkeys" {
62154daed1Smrg
63154daed1Smrg    // modify the basic Icelandic layout to not have any dead keys
64154daed1Smrg
65154daed1Smrg    include "is(basic)"
66154daed1Smrg
679184b9c8Smrg    name[Group1]="Icelandic (no dead keys)";
68154daed1Smrg
69154daed1Smrg    key <TLDE>	{ [asciicircum,    degree,      notsign,      notsign ]	};
70154daed1Smrg    key <AE12>	{ [apostrophe,      grave,      cedilla,      cedilla ]	};
71154daed1Smrg    key <AD11>	{ [udiaeresis, Udiaeresis,    diaeresis,    diaeresis ]	};
72154daed1Smrg    key <AD12>	{ [      plus,   asterisk,   asciitilde,       macron ]	};
73154daed1Smrg    key <AC10>	{ [odiaeresis, Odiaeresis,        acute,        acute ]	};
74154daed1Smrg    key <AC11>	{ [adiaeresis, Adiaeresis,  asciicircum,  asciicircum ]	};
75154daed1Smrg    key <BKSL>	{ [numbersign,      acute,        grave,        grave ]	};
76154daed1Smrg    key <AB10>	{ [     thorn,      THORN, dead_belowdot,    abovedot ]	};
77154daed1Smrg};
78154daed1Smrg
79154daed1Smrg// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
80154daed1Smrg//
81154daed1Smrg// = HISTORY
82154daed1Smrg// * 2004-09-28:
83154daed1Smrg//   Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
84154daed1Smrg//   TextEdit.app and wrote down what the value produced by each key was when I
85154daed1Smrg//   pressed it, a for a, A for shift + a, å for lalt + a etc and made the
86154daed1Smrg//   keymap from that information
87154daed1Smrg//
88154daed1Smrg// * 2006-01-14:
89154daed1Smrg//   Revised the comments in the file
90154daed1Smrg//
9121fe479eSmrg// * 2013-05-30:
921c606da7Smrg//   Renamed the old keyboard layout and created a new one that conforms with the later
931c606da7Smrg//   model Apple laptop and Aluminium USB/Bluetooth keyboards (A1243/A1255 and later)
941c606da7Smrg//   that are used with the more recent versions of OS X. Also replaced some Unicode
9521fe479eSmrg//   codes with proper symbol names.
9621fe479eSmrg//
97154daed1Smrg// = NOTES
98154daed1Smrg// * 20 characters in this keymap have no named character defined in
99154daed1Smrg//   include/keysymdef.h and as a result their Unicode code points in
100154daed1Smrg//   hexadecimal are listed here, these can be generated with the following
101154daed1Smrg//   perl command:
102154daed1Smrg//     $ perl -CA -e 'printf "U%x\n", ord shift' Æ
103154daed1Smrg//   and converted back like:
104154daed1Smrg//     $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
105154daed1Smrg// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
106154daed1Smrg//   keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
107154daed1Smrg//   has no assigned code point in Unicode, the code point Apple uses for it is
108154daed1Smrg//   U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF)
109154daed1Smrg// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
110154daed1Smrg//   should work on other Apple laptop models which use the same keyboard
111154daed1Smrg//   layout. It will probably work on standard sized keyboards with little or
112154daed1Smrg//   no modification but it might not support them fully, please report if
113154daed1Smrg//   you're able to get it running with such a keyboard
114154daed1Smrg
115154daed1Smrg// Copied from macintosh_vndr/is
11621fe479eSmrg
11721fe479eSmrgxkb_symbols "mac_legacy" {
11821fe479eSmrg    name[Group1]= "Icelandic (Macintosh, legacy)";
11921fe479eSmrg
12021fe479eSmrg    //-- Row 5 (E) --//
12121fe479eSmrg    key <TLDE> { [ sterling,   section,    UF8FF,        apostrophe ] };
12221fe479eSmrg    key <AE01> { [ 1,          exclam,     exclamdown,   VoidSymbol ] };
12321fe479eSmrg    key <AE02> { [ 2,          quotedbl,   at,           VoidSymbol ] };
12421fe479eSmrg    key <AE03> { [ 3,          numbersign, U2122,        sterling   ] };
12521fe479eSmrg    key <AE04> { [ 4,          dollar,     U00A2,        EuroSign   ] };
12621fe479eSmrg    key <AE05> { [ 5,          percent,    U2030,        infinity   ] };
12721fe479eSmrg    key <AE06> { [ 6,          ampersand,  asciicircum,  U2044      ] };
12821fe479eSmrg    key <AE07> { [ 7,          slash,      backslash,    U00F7      ] };
12921fe479eSmrg    key <AE08> { [ 8,          parenleft,  bracketleft,  braceleft  ] };
13021fe479eSmrg    key <AE09> { [ 9,          parenright, bracketright, braceright ] };
13121fe479eSmrg    key <AE10> { [ 0,          equal,      U2260,        U2248      ] };
13221fe479eSmrg    key <AE11> { [ odiaeresis, Odiaeresis, oslash,       Ooblique   ] };
13321fe479eSmrg    key <AE12> { [ minus,      underscore, endash,       emdash     ] };
13421fe479eSmrg
1351c606da7Smrg
13621fe479eSmrg    //-- Row 4 (D) --//
13721fe479eSmrg    key <AD01> { [ q,          Q,        paragraph,       VoidSymbol ] };
13821fe479eSmrg    key <AD02> { [ w,          W,        U2211,           VoidSymbol ] };
13921fe479eSmrg    key <AD03> { [ e,          E,        dead_grave,      VoidSymbol ] };
14021fe479eSmrg    key <AD04> { [ r,          R,        registered,      VoidSymbol ] };
14121fe479eSmrg    key <AD05> { [ t,          T,        degree,          VoidSymbol ] };
14221fe479eSmrg    key <AD06> { [ y,          Y,        yen,             VoidSymbol ] };
14321fe479eSmrg    key <AD07> { [ u,          U,        dead_diaeresis,  VoidSymbol ] };
14421fe479eSmrg    key <AD08> { [ i,          I,        U0131,           U00AA      ] };
14521fe479eSmrg    key <AD09> { [ o,          O,        dead_circumflex, U00BA      ] };
14621fe479eSmrg    key <AD10> { [ p,          P,        Greek_pi,        Greek_PI   ] };
14721fe479eSmrg    key <AD11> { [ eth,        Eth,      U201e,           U201c      ] };
14821fe479eSmrg    key <AD12> { [ apostrophe, question, questiondown,    U00B7      ] };
1491c606da7Smrg
1501c606da7Smrg
15121fe479eSmrg    //-- Row 3 (C) --//
15221fe479eSmrg    key <AC01> { [ a,          A,                aring,     Aring      ] };
15321fe479eSmrg    key <AC02> { [ s,          S,                ssharp,    abovedot   ] };
15421fe479eSmrg    key <AC03> { [ d,          D,                U2202,     U2DA       ] };
15521fe479eSmrg    key <AC04> { [ f,          F,                U192,      macron     ] };
15621fe479eSmrg    key <AC05> { [ g,          G,                copyright, breve      ] };
15721fe479eSmrg    key <AC06> { [ h,          H,                bar,       VoidSymbol ] };
15821fe479eSmrg    key <AC07> { [ j,          J,                U2206,     U2dd       ] };
15921fe479eSmrg    key <AC08> { [ k,          K,                U00AC,     VoidSymbol ] };
16021fe479eSmrg    key <AC09> { [ l,          L,                U2026,     caron      ] };
16121fe479eSmrg    key <AC10> { [ ae,         AE,               oe,        OE         ] };
16221fe479eSmrg    key <AC11> { [ dead_acute, dead_diaeresis,   U201A,     U2018      ] };
16321fe479eSmrg    key <BKSL> { [ plus,       asterisk,         U2022,     plusminus  ] };
1641c606da7Smrg
1651c606da7Smrg
16621fe479eSmrg    //-- Row 2  (B) --//
16721fe479eSmrg    key <LSGT> { [ less,   greater,   section,          UF8FF          ] };
16821fe479eSmrg    key <AB01> { [ z,      Z,         U3A9,             VoidSymbol     ] };
16921fe479eSmrg    key <AB02> { [ x,      X,         asciitilde,       VoidSymbol     ] };
17021fe479eSmrg    key <AB03> { [ c,      C,         ccedilla,         Ccedilla       ] };
17121fe479eSmrg    key <AB04> { [ v,      V,         U221A,            U25CA          ] };
17221fe479eSmrg    key <AB05> { [ b,      B,         U222B,            VoidSymbol     ] };
17321fe479eSmrg    key <AB06> { [ n,      N,         dead_tilde,       VoidSymbol     ] };
17421fe479eSmrg    key <AB07> { [ m,      M,         U00B5,            VoidSymbol     ] };
17521fe479eSmrg    key <AB08> { [ comma,  semicolon, lessthanequal,    guillemotleft  ] };
17621fe479eSmrg    key <AB09> { [ period, colon,     greaterthanequal, guillemotright ] };
17721fe479eSmrg    key <AB10> { [ thorn,  Thorn,     U2019,            U201d          ] };
17821fe479eSmrg
17921fe479eSmrg    include "level3(ralt_switch)"
18021fe479eSmrg};
18121fe479eSmrg
182154daed1Smrgpartial alphanumeric_keys
183154daed1Smrgxkb_symbols "mac" {
184bfd7cbc1Smrg    name[Group1]= "Icelandic (Macintosh)";
185154daed1Smrg
18621fe479eSmrg    //-- Row 5 (E) --//
1871c606da7Smrg    key <TLDE> { [ degree,     dead_diaeresis, oslash,       Ooblique    ] };
18821fe479eSmrg    key <AE01> { [ 1,          exclam,     exclamdown,   VoidSymbol  ] };
18921fe479eSmrg    key <AE02> { [ 2,          quotedbl,   at,           VoidSymbol  ] };
19021fe479eSmrg    key <AE03> { [ 3,          numbersign, trademark,    sterling    ] };
19121fe479eSmrg    key <AE04> { [ 4,          dollar,     cent,         EuroSign    ] };
19221fe479eSmrg    key <AE05> { [ 5,          percent,    U2030,        infinity    ] };
19321fe479eSmrg    key <AE06> { [ 6,          ampersand,  asciicircum,  U2044       ] };
19421fe479eSmrg    key <AE07> { [ 7,          slash,      braceleft,    division    ] };
19521fe479eSmrg    key <AE08> { [ 8,          parenleft,  bracketleft,  braceleft   ] };
19621fe479eSmrg    key <AE09> { [ 9,          parenright, bracketright, braceright  ] };
19721fe479eSmrg    key <AE10> { [ 0,          equal,      braceright,   approxeq    ] };
19821fe479eSmrg    key <AE11> { [ odiaeresis, Odiaeresis, backslash,    U2260       ] };
19921fe479eSmrg    key <AE12> { [ minus,      underscore, endash,       emdash      ] };
20021fe479eSmrg
20121fe479eSmrg
20221fe479eSmrg    //-- Row 4 (D) --//
20321fe479eSmrg    key <AD01> { [ q,          Q,          U0040,              paragraph           ] };
20421fe479eSmrg    key <AD02> { [ w,          W,          U2211,              U00A7               ] };
20521fe479eSmrg    key <AD03> { [ e,          E,          U20AC,              U00BF               ] };
20621fe479eSmrg    key <AD04> { [ r,          R,          registered,         VoidSymbol          ] };
20721fe479eSmrg    key <AD05> { [ t,          T,          degree,             U2022               ] };
20821fe479eSmrg    key <AD06> { [ y,          Y,          yen,                VoidSymbol          ] };
20921fe479eSmrg    key <AD07> { [ u,          U,          dead_diaeresis,     VoidSymbol          ] };
21021fe479eSmrg    key <AD08> { [ i,          I,          idotless,           ordfeminine         ] };
21121fe479eSmrg    key <AD09> { [ o,          O,          dead_circumflex,    U00BA               ] };
21221fe479eSmrg    key <AD10> { [ p,          P,          Greek_pi,           Greek_PI            ] };
21321fe479eSmrg    key <AD11> { [ eth,        Eth,        doublelowquotemark, leftdoublequotemark ] };
21421fe479eSmrg    key <AD12> { [ apostrophe, question,   asciitilde,         periodcentered      ] };
21521fe479eSmrg
21621fe479eSmrg
21721fe479eSmrg    //-- Row 3 (C) --//
21821fe479eSmrg    key <AC01> { [ a,          A,          aring,             Aring               ] };
21921fe479eSmrg    key <AC02> { [ s,          S,          ssharp,            abovedot            ] };
22021fe479eSmrg    key <AC03> { [ d,          D,          partialderivative, U02DA               ] };
22121fe479eSmrg    key <AC04> { [ f,          F,          function,          macron              ] };
22221fe479eSmrg    key <AC05> { [ g,          G,          copyright,         breve               ] };
22321fe479eSmrg    key <AC06> { [ h,          H,          bar,               U00B8               ] };
22421fe479eSmrg    key <AC07> { [ j,          J,          U2206,             doubleacute         ] };
22521fe479eSmrg    key <AC08> { [ k,          K,          notsign,           U2DB                ] };
22621fe479eSmrg    key <AC09> { [ l,          L,          ellipsis,          caron               ] };
22721fe479eSmrg    key <AC10> { [ ae,         AE,         oe,                OE                  ] };
22821fe479eSmrg    key <AC11> { [ dead_acute, dead_acute, asciicircum,       leftsinglequotemark ] };
22921fe479eSmrg    key <BKSL> { [ plus,       asterisk,   grave,             plusminus           ] };
23021fe479eSmrg
23121fe479eSmrg
23221fe479eSmrg    //-- Row 2  (B) --//
2331c606da7Smrg    key <LSGT> { [ less,   greater,   bar,                  UF8FF                ] };
23421fe479eSmrg    key <AB01> { [ z,      Z,              Greek_OMEGA,          VoidSymbol           ] };
23521fe479eSmrg    key <AB02> { [ x,      X,              asciitilde,           VoidSymbol           ] };
23621fe479eSmrg    key <AB03> { [ c,      C,              ccedilla,             Ccedilla             ] };
23721fe479eSmrg    key <AB04> { [ v,      V,              radical,              U25CA                ] };
23821fe479eSmrg    key <AB05> { [ b,      B,              integral,             VoidSymbol           ] };
23921fe479eSmrg    key <AB06> { [ n,      N,              dead_tilde,           VoidSymbol           ] };
24021fe479eSmrg    key <AB07> { [ m,      M,              mu,                   VoidSymbol           ] };
24121fe479eSmrg    key <AB08> { [ comma,  semicolon,      lessthanequal,        guillemotleft        ] };
24221fe479eSmrg    key <AB09> { [ period, colon,          greaterthanequal,     guillemotright       ] };
24321fe479eSmrg    key <AB10> { [ thorn,  Thorn,          rightsinglequotemark, rightdoublequotemark ] };
244154daed1Smrg
245154daed1Smrg    include "level3(ralt_switch)"
246154daed1Smrg};
247154daed1Smrg
2485a35480eSmrg// This is a modified version of the English Dvorak layout that allows
2495a35480eSmrg// you to type all Icelandic letters under X. It's not a full attempt at
2505a35480eSmrg// nationalizing the layout as e.g. the Norwegian, Swedish and French
2515a35480eSmrg// layouts which modify the primary keys of the basic Dvorak layout
2525a35480eSmrg// extensively.
2535a35480eSmrg
2545a35480eSmrg// Rather it's a simple modification of 5 keys of the US Dvorak layout,
2555a35480eSmrg// it adds Germanic/Icelandic style quotation marks („“), eth (ðÐ), ae
25647fb91feSmrg// (æÆ), endash and emdash (–—), thorn (þÞ), EuroSign (€) and the German
25747fb91feSmrg// Sharp S (ßẞ). These keys aren't used in the US version, making the
25847fb91feSmrg// Icelandic version a superset of it.
2595a35480eSmrg
2605a35480eSmrg// Maybe someone else will make a "full" attempt at an Icelandic layout
2615a35480eSmrg// but I was mostly interested in continuing to type English comfortably
2625a35480eSmrg// as a primary function while being able to type the full Icelandic
2635a35480eSmrg// alphabet as a secondary function.
26447fb91feSmrg//     -- Ævar Arnfjörð Bjarmason <avarab@gmail.com>
2655a35480eSmrg
2665a35480eSmrg// Icelandic Dvorak
267797b363dSmrgpartial alphanumeric_keys
2685a35480eSmrgxkb_symbols "dvorak" {
2695a35480eSmrg
2705a35480eSmrg    include "us(dvorak)"
27147fb91feSmrg    include "eurosign(4)"
2725a35480eSmrg
27352a82186Smrg    name[Group1]= "Icelandic (Dvorak)";
27452a82186Smrg
2755a35480eSmrg    key <AD11> { [      slash,  question,    U201e,   U201c   ] };
276188967beSsnj    key <AC02> { [       o,     O,           odiaeresis, Odiaeresis ] };
2775a35480eSmrg    key <AC06> { [       d,     D,           eth,     ETH     ] };
2785a35480eSmrg    key <AC10> { [       s,     S,           ae,      AE      ] };
2795a35480eSmrg    key <AC11> { [   minus,     underscore,  endash,  emdash  ] };
2805a35480eSmrg    key <AB10> { [       z,     Z,           thorn,   Thorn   ] };
28147fb91feSmrg    key <AB06> { [       b,     B,           ssharp,  U1E9E   ] };
2825a35480eSmrg
2835a35480eSmrg    include "level3(ralt_switch)"
2845a35480eSmrg};
285