is revision 1.1.1.16 1 // Icelandic keyboard layout, by Hrafnkell Eiriksson - hkelle (a] rhi.hi.is
2 // fixes by Olafur Osvaldsson - oli (a] 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
9 default partial alphanumeric_keys
10 xkb_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 Arnfjr Bjarmason <avarab (a] 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+E000U+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
79 xkb_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
144 partial alphanumeric_keys
145 xkb_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 Arnfjr Bjarmason <avarab (a] gmail.com>
227
228 // Icelandic Dvorak
229 partial alphanumeric_keys
230 xkb_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