is revision 1.1.1.12 1 // based on
2 // XKB keyboard by Hrafnkell Eiriksson - hkelle (a] rhi.hi.is
3 // fixes by Olafur Osvaldsson - oli (a] 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
10 default partial alphanumeric_keys
11 xkb_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
42 partial alphanumeric_keys
43 xkb_symbols "Sundeadkeys" {
44
45 // modify the basic Icelandic layout to use Sun dead keys
46
47 include "is(basic)"
48
49 name[Group1]="Icelandic (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
60 partial alphanumeric_keys
61 xkb_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 (eliminate 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 Arnfjr Bjarmason <avarab (a] 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+E000U+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
117 xkb_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
182 partial alphanumeric_keys
183 xkb_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 Arnfjr Bjarmason <avarab (a] gmail.com>
265
266 // Icelandic Dvorak
267 partial alphanumeric_keys
268 xkb_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