Home | History | Annotate | Line # | Download | only in symbols
is revision 1.1.1.15
      1       1.1   mrg // based on
      2       1.1   mrg // XKB keyboard by Hrafnkell Eiriksson - hkelle (a] rhi.hi.is
      3       1.1   mrg //     fixes by Olafur Osvaldsson - oli (a] isnic.is
      4       1.1   mrg //
      5   1.1.1.8   mrg // "basic" corrected according to the Icelandic standard for keyboards,
      6   1.1.1.8   mrg //     IST 125:1995 (some symbols substituted by a dead diacritic).
      7   1.1.1.8   mrg //     Some positions are according to IST ISO/IEC 9995-3:1994
      8   1.1.1.8   mrg //     Added nobreakspace
      9       1.1   mrg 
     10  1.1.1.15   mrg default partial alphanumeric_keys
     11       1.1   mrg xkb_symbols "basic" {
     12       1.1   mrg 
     13       1.1   mrg     include "latin(type4)"
     14       1.1   mrg 
     15   1.1.1.7   mrg     name[Group1]="Icelandic";
     16       1.1   mrg 
     17   1.1.1.8   mrg //  <AE00> = <TLDE>
     18       1.1   mrg     key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
     19       1.1   mrg     key <AE04>	{ [         4,     dollar,   onequarter,     currency ]	};
     20       1.1   mrg     key <AE11>	{ [odiaeresis, Odiaeresis,    backslash, questiondown ]	};
     21   1.1.1.8   mrg     key <AE12>	{ [     minus, underscore, dead_cedilla,  dead_ogonek ]	};
     22       1.1   mrg 
     23       1.1   mrg     key <AD11>	{ [       eth,        ETH, dead_diaeresis, dead_abovering ] };
     24       1.1   mrg     key <AD12>	{ [apostrophe,   question,   asciitilde,  dead_macron ]	};
     25       1.1   mrg 
     26  1.1.1.12   snj     key <AC03>	{ [         d,          D,  U201e,       U201c ] };
     27       1.1   mrg     key <AC10>	{ [        ae,         AE,  asciicircum, dead_doubleacute ] };
     28   1.1.1.8   mrg     key <AC11>	{ [dead_acute, dead_acute, dead_circumflex, dead_caron ] };
     29   1.1.1.8   mrg     key <TLDE>	{ [dead_abovering,  dead_diaeresis,      notsign,      hyphen ]	};
     30       1.1   mrg 
     31   1.1.1.8   mrg //  <AC12> = <BKSL>
     32   1.1.1.8   mrg     key <BKSL>	{ [      plus,   asterisk,   grave,   dead_breve ]	};
     33   1.1.1.8   mrg 
     34   1.1.1.8   mrg //  <AB00> = <LSGT>, is in file "pc": pc105
     35       1.1   mrg     key <AB10>	{ [     thorn,      THORN, dead_belowdot, dead_abovedot ] };
     36       1.1   mrg 
     37   1.1.1.9   mrg     key <SPCE>  { [     space,      space,  space, space ] };
     38   1.1.1.8   mrg 
     39       1.1   mrg     include "level3(ralt_switch)"
     40       1.1   mrg };
     41       1.1   mrg 
     42       1.1   mrg partial alphanumeric_keys
     43       1.1   mrg xkb_symbols "Sundeadkeys" {
     44       1.1   mrg 
     45       1.1   mrg     // modify the basic Icelandic layout to use Sun dead keys
     46       1.1   mrg 
     47       1.1   mrg     include "is(basic)"
     48       1.1   mrg 
     49  1.1.1.15   mrg     name[Group1]="Icelandic (Sun dead keys)";
     50       1.1   mrg 
     51   1.1.1.3  ghen     key <TLDE>	{ [dead_circumflex,     degree,      notsign,    notsign ]	};
     52   1.1.1.3  ghen     key <AE12>	{ [dead_acute, dead_grave, dead_cedilla, dead_cedilla ] };
     53   1.1.1.3  ghen     key <AD11>	{ [udiaeresis, Udiaeresis, dead_diaeresis, dead_diaeresis ] };
     54   1.1.1.3  ghen     key <AD12>	{ [      plus,   asterisk,  dead_tilde,  dead_macron ]	};
     55   1.1.1.3  ghen     key <AC10>	{ [odiaeresis, Odiaeresis,  dead_acute,  dead_acute ]	};
     56   1.1.1.3  ghen     key <AC11>	{ [adiaeresis, Adiaeresis, dead_circumflex, dead_circumflex ]	};
     57   1.1.1.3  ghen     key <BKSL>	{ [numbersign,      acute,  dead_grave,  dead_grave ]	};
     58       1.1   mrg };
     59       1.1   mrg 
     60       1.1   mrg partial alphanumeric_keys
     61       1.1   mrg xkb_symbols "nodeadkeys" {
     62       1.1   mrg 
     63       1.1   mrg     // modify the basic Icelandic layout to not have any dead keys
     64       1.1   mrg 
     65       1.1   mrg     include "is(basic)"
     66       1.1   mrg 
     67  1.1.1.13   mrg     name[Group1]="Icelandic (no dead keys)";
     68       1.1   mrg 
     69       1.1   mrg     key <TLDE>	{ [asciicircum,    degree,      notsign,      notsign ]	};
     70       1.1   mrg     key <AE12>	{ [apostrophe,      grave,      cedilla,      cedilla ]	};
     71       1.1   mrg     key <AD11>	{ [udiaeresis, Udiaeresis,    diaeresis,    diaeresis ]	};
     72       1.1   mrg     key <AD12>	{ [      plus,   asterisk,   asciitilde,       macron ]	};
     73       1.1   mrg     key <AC10>	{ [odiaeresis, Odiaeresis,        acute,        acute ]	};
     74       1.1   mrg     key <AC11>	{ [adiaeresis, Adiaeresis,  asciicircum,  asciicircum ]	};
     75       1.1   mrg     key <BKSL>	{ [numbersign,      acute,        grave,        grave ]	};
     76       1.1   mrg     key <AB10>	{ [     thorn,      THORN, dead_belowdot,    abovedot ]	};
     77       1.1   mrg };
     78       1.1   mrg 
     79       1.1   mrg // Copyright (C) 2004, 2006 var Arnfjr Bjarmason <avarab (a] gmail.com>
     80       1.1   mrg //
     81       1.1   mrg // = HISTORY
     82       1.1   mrg // * 2004-09-28:
     83       1.1   mrg //   Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
     84       1.1   mrg //   TextEdit.app and wrote down what the value produced by each key was when I
     85       1.1   mrg //   pressed it, a for a, A for shift + a,  for lalt + a etc and made the
     86       1.1   mrg //   keymap from that information
     87       1.1   mrg //
     88       1.1   mrg // * 2006-01-14:
     89       1.1   mrg //   Revised the comments in the file
     90       1.1   mrg //
     91  1.1.1.11   mrg // * 2013-05-30:
     92  1.1.1.14   mrg //   Renamed the old keyboard layout and created a new one that conforms with the later
     93  1.1.1.14   mrg //   model Apple laptop and Aluminium USB/Bluetooth keyboards (A1243/A1255 and later)
     94  1.1.1.14   mrg //   that are used with the more recent versions of OS X. Also replaced some Unicode
     95  1.1.1.11   mrg //   codes with proper symbol names.
     96  1.1.1.11   mrg //
     97       1.1   mrg // = NOTES
     98       1.1   mrg // * 20 characters in this keymap have no named character defined in
     99       1.1   mrg //   include/keysymdef.h and as a result their Unicode code points in
    100       1.1   mrg //   hexadecimal are listed here, these can be generated with the following
    101       1.1   mrg //   perl command:
    102       1.1   mrg //     $ perl -CA -e 'printf "U%x\n", ord shift' 
    103       1.1   mrg //   and converted back like:
    104       1.1   mrg //     $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
    105       1.1   mrg // * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
    106       1.1   mrg //   keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
    107       1.1   mrg //   has no assigned code point in Unicode, the code point Apple uses for it is
    108       1.1   mrg //   U+F8FF (63743) which is in the BMP's Private Use Area (U+E000U+F8FF)
    109       1.1   mrg // * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
    110       1.1   mrg //   should work on other Apple laptop models which use the same keyboard
    111       1.1   mrg //   layout. It will probably work on standard sized keyboards with little or
    112       1.1   mrg //   no modification but it might not support them fully, please report if
    113       1.1   mrg //   you're able to get it running with such a keyboard
    114       1.1   mrg 
    115       1.1   mrg // Copied from macintosh_vndr/is
    116  1.1.1.11   mrg 
    117  1.1.1.11   mrg xkb_symbols "mac_legacy" {
    118  1.1.1.11   mrg     name[Group1]= "Icelandic (Macintosh, legacy)";
    119  1.1.1.11   mrg 
    120  1.1.1.11   mrg     //-- Row 5 (E) --//
    121  1.1.1.11   mrg     key <TLDE> { [ sterling,   section,    UF8FF,        apostrophe ] };
    122  1.1.1.11   mrg     key <AE01> { [ 1,          exclam,     exclamdown,   VoidSymbol ] };
    123  1.1.1.11   mrg     key <AE02> { [ 2,          quotedbl,   at,           VoidSymbol ] };
    124  1.1.1.11   mrg     key <AE03> { [ 3,          numbersign, U2122,        sterling   ] };
    125  1.1.1.11   mrg     key <AE04> { [ 4,          dollar,     U00A2,        EuroSign   ] };
    126  1.1.1.11   mrg     key <AE05> { [ 5,          percent,    U2030,        infinity   ] };
    127  1.1.1.11   mrg     key <AE06> { [ 6,          ampersand,  asciicircum,  U2044      ] };
    128  1.1.1.11   mrg     key <AE07> { [ 7,          slash,      backslash,    U00F7      ] };
    129  1.1.1.11   mrg     key <AE08> { [ 8,          parenleft,  bracketleft,  braceleft  ] };
    130  1.1.1.11   mrg     key <AE09> { [ 9,          parenright, bracketright, braceright ] };
    131  1.1.1.11   mrg     key <AE10> { [ 0,          equal,      U2260,        U2248      ] };
    132  1.1.1.11   mrg     key <AE11> { [ odiaeresis, Odiaeresis, oslash,       Ooblique   ] };
    133  1.1.1.11   mrg     key <AE12> { [ minus,      underscore, endash,       emdash     ] };
    134  1.1.1.11   mrg 
    135  1.1.1.14   mrg 
    136  1.1.1.11   mrg     //-- Row 4 (D) --//
    137  1.1.1.11   mrg     key <AD01> { [ q,          Q,        paragraph,       VoidSymbol ] };
    138  1.1.1.11   mrg     key <AD02> { [ w,          W,        U2211,           VoidSymbol ] };
    139  1.1.1.11   mrg     key <AD03> { [ e,          E,        dead_grave,      VoidSymbol ] };
    140  1.1.1.11   mrg     key <AD04> { [ r,          R,        registered,      VoidSymbol ] };
    141  1.1.1.11   mrg     key <AD05> { [ t,          T,        degree,          VoidSymbol ] };
    142  1.1.1.11   mrg     key <AD06> { [ y,          Y,        yen,             VoidSymbol ] };
    143  1.1.1.11   mrg     key <AD07> { [ u,          U,        dead_diaeresis,  VoidSymbol ] };
    144  1.1.1.11   mrg     key <AD08> { [ i,          I,        U0131,           U00AA      ] };
    145  1.1.1.11   mrg     key <AD09> { [ o,          O,        dead_circumflex, U00BA      ] };
    146  1.1.1.11   mrg     key <AD10> { [ p,          P,        Greek_pi,        Greek_PI   ] };
    147  1.1.1.11   mrg     key <AD11> { [ eth,        Eth,      U201e,           U201c      ] };
    148  1.1.1.11   mrg     key <AD12> { [ apostrophe, question, questiondown,    U00B7      ] };
    149  1.1.1.14   mrg 
    150  1.1.1.14   mrg 
    151  1.1.1.11   mrg     //-- Row 3 (C) --//
    152  1.1.1.11   mrg     key <AC01> { [ a,          A,                aring,     Aring      ] };
    153  1.1.1.11   mrg     key <AC02> { [ s,          S,                ssharp,    abovedot   ] };
    154  1.1.1.11   mrg     key <AC03> { [ d,          D,                U2202,     U2DA       ] };
    155  1.1.1.11   mrg     key <AC04> { [ f,          F,                U192,      macron     ] };
    156  1.1.1.11   mrg     key <AC05> { [ g,          G,                copyright, breve      ] };
    157  1.1.1.11   mrg     key <AC06> { [ h,          H,                bar,       VoidSymbol ] };
    158  1.1.1.11   mrg     key <AC07> { [ j,          J,                U2206,     U2dd       ] };
    159  1.1.1.11   mrg     key <AC08> { [ k,          K,                U00AC,     VoidSymbol ] };
    160  1.1.1.11   mrg     key <AC09> { [ l,          L,                U2026,     caron      ] };
    161  1.1.1.11   mrg     key <AC10> { [ ae,         AE,               oe,        OE         ] };
    162  1.1.1.11   mrg     key <AC11> { [ dead_acute, dead_diaeresis,   U201A,     U2018      ] };
    163  1.1.1.11   mrg     key <BKSL> { [ plus,       asterisk,         U2022,     plusminus  ] };
    164  1.1.1.14   mrg 
    165  1.1.1.14   mrg 
    166  1.1.1.11   mrg     //-- Row 2  (B) --//
    167  1.1.1.11   mrg     key <LSGT> { [ less,   greater,   section,          UF8FF          ] };
    168  1.1.1.11   mrg     key <AB01> { [ z,      Z,         U3A9,             VoidSymbol     ] };
    169  1.1.1.11   mrg     key <AB02> { [ x,      X,         asciitilde,       VoidSymbol     ] };
    170  1.1.1.11   mrg     key <AB03> { [ c,      C,         ccedilla,         Ccedilla       ] };
    171  1.1.1.11   mrg     key <AB04> { [ v,      V,         U221A,            U25CA          ] };
    172  1.1.1.11   mrg     key <AB05> { [ b,      B,         U222B,            VoidSymbol     ] };
    173  1.1.1.11   mrg     key <AB06> { [ n,      N,         dead_tilde,       VoidSymbol     ] };
    174  1.1.1.11   mrg     key <AB07> { [ m,      M,         U00B5,            VoidSymbol     ] };
    175  1.1.1.11   mrg     key <AB08> { [ comma,  semicolon, lessthanequal,    guillemotleft  ] };
    176  1.1.1.11   mrg     key <AB09> { [ period, colon,     greaterthanequal, guillemotright ] };
    177  1.1.1.11   mrg     key <AB10> { [ thorn,  Thorn,     U2019,            U201d          ] };
    178  1.1.1.11   mrg 
    179  1.1.1.11   mrg     include "level3(ralt_switch)"
    180  1.1.1.11   mrg };
    181  1.1.1.11   mrg 
    182       1.1   mrg partial alphanumeric_keys
    183       1.1   mrg xkb_symbols "mac" {
    184   1.1.1.7   mrg     name[Group1]= "Icelandic (Macintosh)";
    185       1.1   mrg 
    186  1.1.1.11   mrg     //-- Row 5 (E) --//
    187  1.1.1.14   mrg     key <TLDE> { [ degree,     dead_diaeresis, oslash,       Ooblique    ] };
    188  1.1.1.11   mrg     key <AE01> { [ 1,          exclam,     exclamdown,   VoidSymbol  ] };
    189  1.1.1.11   mrg     key <AE02> { [ 2,          quotedbl,   at,           VoidSymbol  ] };
    190  1.1.1.11   mrg     key <AE03> { [ 3,          numbersign, trademark,    sterling    ] };
    191  1.1.1.11   mrg     key <AE04> { [ 4,          dollar,     cent,         EuroSign    ] };
    192  1.1.1.11   mrg     key <AE05> { [ 5,          percent,    U2030,        infinity    ] };
    193  1.1.1.11   mrg     key <AE06> { [ 6,          ampersand,  asciicircum,  U2044       ] };
    194  1.1.1.11   mrg     key <AE07> { [ 7,          slash,      braceleft,    division    ] };
    195  1.1.1.11   mrg     key <AE08> { [ 8,          parenleft,  bracketleft,  braceleft   ] };
    196  1.1.1.11   mrg     key <AE09> { [ 9,          parenright, bracketright, braceright  ] };
    197  1.1.1.11   mrg     key <AE10> { [ 0,          equal,      braceright,   approxeq    ] };
    198  1.1.1.11   mrg     key <AE11> { [ odiaeresis, Odiaeresis, backslash,    U2260       ] };
    199  1.1.1.11   mrg     key <AE12> { [ minus,      underscore, endash,       emdash      ] };
    200  1.1.1.11   mrg 
    201  1.1.1.11   mrg 
    202  1.1.1.11   mrg     //-- Row 4 (D) --//
    203  1.1.1.11   mrg     key <AD01> { [ q,          Q,          U0040,              paragraph           ] };
    204  1.1.1.11   mrg     key <AD02> { [ w,          W,          U2211,              U00A7               ] };
    205  1.1.1.11   mrg     key <AD03> { [ e,          E,          U20AC,              U00BF               ] };
    206  1.1.1.11   mrg     key <AD04> { [ r,          R,          registered,         VoidSymbol          ] };
    207  1.1.1.11   mrg     key <AD05> { [ t,          T,          degree,             U2022               ] };
    208  1.1.1.11   mrg     key <AD06> { [ y,          Y,          yen,                VoidSymbol          ] };
    209  1.1.1.11   mrg     key <AD07> { [ u,          U,          dead_diaeresis,     VoidSymbol          ] };
    210  1.1.1.11   mrg     key <AD08> { [ i,          I,          idotless,           ordfeminine         ] };
    211  1.1.1.11   mrg     key <AD09> { [ o,          O,          dead_circumflex,    U00BA               ] };
    212  1.1.1.11   mrg     key <AD10> { [ p,          P,          Greek_pi,           Greek_PI            ] };
    213  1.1.1.11   mrg     key <AD11> { [ eth,        Eth,        doublelowquotemark, leftdoublequotemark ] };
    214  1.1.1.11   mrg     key <AD12> { [ apostrophe, question,   asciitilde,         periodcentered      ] };
    215  1.1.1.11   mrg 
    216  1.1.1.11   mrg 
    217  1.1.1.11   mrg     //-- Row 3 (C) --//
    218  1.1.1.11   mrg     key <AC01> { [ a,          A,          aring,             Aring               ] };
    219  1.1.1.11   mrg     key <AC02> { [ s,          S,          ssharp,            abovedot            ] };
    220  1.1.1.11   mrg     key <AC03> { [ d,          D,          partialderivative, U02DA               ] };
    221  1.1.1.11   mrg     key <AC04> { [ f,          F,          function,          macron              ] };
    222  1.1.1.11   mrg     key <AC05> { [ g,          G,          copyright,         breve               ] };
    223  1.1.1.11   mrg     key <AC06> { [ h,          H,          bar,               U00B8               ] };
    224  1.1.1.11   mrg     key <AC07> { [ j,          J,          U2206,             doubleacute         ] };
    225  1.1.1.11   mrg     key <AC08> { [ k,          K,          notsign,           U2DB                ] };
    226  1.1.1.11   mrg     key <AC09> { [ l,          L,          ellipsis,          caron               ] };
    227  1.1.1.11   mrg     key <AC10> { [ ae,         AE,         oe,                OE                  ] };
    228  1.1.1.11   mrg     key <AC11> { [ dead_acute, dead_acute, asciicircum,       leftsinglequotemark ] };
    229  1.1.1.11   mrg     key <BKSL> { [ plus,       asterisk,   grave,             plusminus           ] };
    230  1.1.1.11   mrg 
    231  1.1.1.11   mrg 
    232  1.1.1.11   mrg     //-- Row 2  (B) --//
    233  1.1.1.14   mrg     key <LSGT> { [ less,   greater,   bar,                  UF8FF                ] };
    234  1.1.1.11   mrg     key <AB01> { [ z,      Z,              Greek_OMEGA,          VoidSymbol           ] };
    235  1.1.1.11   mrg     key <AB02> { [ x,      X,              asciitilde,           VoidSymbol           ] };
    236  1.1.1.11   mrg     key <AB03> { [ c,      C,              ccedilla,             Ccedilla             ] };
    237  1.1.1.11   mrg     key <AB04> { [ v,      V,              radical,              U25CA                ] };
    238  1.1.1.11   mrg     key <AB05> { [ b,      B,              integral,             VoidSymbol           ] };
    239  1.1.1.11   mrg     key <AB06> { [ n,      N,              dead_tilde,           VoidSymbol           ] };
    240  1.1.1.11   mrg     key <AB07> { [ m,      M,              mu,                   VoidSymbol           ] };
    241  1.1.1.11   mrg     key <AB08> { [ comma,  semicolon,      lessthanequal,        guillemotleft        ] };
    242  1.1.1.11   mrg     key <AB09> { [ period, colon,          greaterthanequal,     guillemotright       ] };
    243  1.1.1.11   mrg     key <AB10> { [ thorn,  Thorn,          rightsinglequotemark, rightdoublequotemark ] };
    244       1.1   mrg 
    245       1.1   mrg     include "level3(ralt_switch)"
    246       1.1   mrg };
    247       1.1   mrg 
    248   1.1.1.2   mrg // This is a modified version of the English Dvorak layout that allows
    249   1.1.1.2   mrg // you to type all Icelandic letters under X. It's not a full attempt at
    250   1.1.1.2   mrg // nationalizing the layout as e.g. the Norwegian, Swedish and French
    251   1.1.1.2   mrg // layouts which modify the primary keys of the basic Dvorak layout
    252   1.1.1.2   mrg // extensively.
    253   1.1.1.2   mrg 
    254   1.1.1.2   mrg // Rather it's a simple modification of 5 keys of the US Dvorak layout,
    255   1.1.1.2   mrg // it adds Germanic/Icelandic style quotation marks (), eth (), ae
    256   1.1.1.6   mrg // (), endash and emdash (), thorn (), EuroSign () and the German
    257   1.1.1.6   mrg // Sharp S (). These keys aren't used in the US version, making the
    258   1.1.1.6   mrg // Icelandic version a superset of it.
    259   1.1.1.2   mrg 
    260   1.1.1.2   mrg // Maybe someone else will make a "full" attempt at an Icelandic layout
    261   1.1.1.2   mrg // but I was mostly interested in continuing to type English comfortably
    262   1.1.1.2   mrg // as a primary function while being able to type the full Icelandic
    263   1.1.1.2   mrg // alphabet as a secondary function.
    264   1.1.1.6   mrg //     -- var Arnfjr Bjarmason <avarab (a] gmail.com>
    265   1.1.1.2   mrg 
    266   1.1.1.2   mrg // Icelandic Dvorak
    267   1.1.1.9   mrg partial alphanumeric_keys
    268   1.1.1.2   mrg xkb_symbols "dvorak" {
    269   1.1.1.2   mrg 
    270   1.1.1.2   mrg     include "us(dvorak)"
    271   1.1.1.6   mrg     include "eurosign(4)"
    272   1.1.1.2   mrg 
    273  1.1.1.10   mrg     name[Group1]= "Icelandic (Dvorak)";
    274  1.1.1.10   mrg 
    275   1.1.1.2   mrg     key <AD11> { [      slash,  question,    U201e,   U201c   ] };
    276  1.1.1.12   snj     key <AC02> { [       o,     O,           odiaeresis, Odiaeresis ] };
    277   1.1.1.2   mrg     key <AC06> { [       d,     D,           eth,     ETH     ] };
    278   1.1.1.2   mrg     key <AC10> { [       s,     S,           ae,      AE      ] };
    279   1.1.1.2   mrg     key <AC11> { [   minus,     underscore,  endash,  emdash  ] };
    280   1.1.1.2   mrg     key <AB10> { [       z,     Z,           thorn,   Thorn   ] };
    281   1.1.1.6   mrg     key <AB06> { [       b,     B,           ssharp,  U1E9E   ] };
    282   1.1.1.2   mrg 
    283   1.1.1.2   mrg     include "level3(ralt_switch)"
    284   1.1.1.2   mrg };
    285