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