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