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