// // Copyright (C) 2004, Ævar Arnfjörð Bjarmason - avarab@gmail.com // // Permission to use, copy, modify, distribute, and sell this software and its // documentation for any purpose is hereby granted without fee, provided that // the above copyright notice appear in all copies and that both that // copyright notice and this permission notice appear in supporting // documentation. // // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR // OTHER DEALINGS IN THE SOFTWARE. // // Except as contained in this notice, the name of a copyright holder shall // not be used in advertising or otherwise to promote the sale, use or // other dealings in this Software without prior written authorization of // the copyright holder. // // README // This xkb file describes the differences between a Macintosh US Extended // keymap and an Icelandic keyboard layout in the style of Mac OS(X). // NOTES // * 20 characters were not listed in "Compose" i found out the values of // those like so: // $ echo "obase=16;abase=10;$(perl -e 'use utf8;$i = "A";print ord($i);')" | bc -ql // Where A is the character in question, added a U in front of it and // listed it *should* be right. // * The Apple logo ( UF8FF;63743 ) appears twice on this keymap but is // rendered as a euro-sign on GNU/Linux, investigate. // BUGS // * This keymap has only been tested on an iBook thus far, it _should_ // defenetly work on PowerBooks and most certanly works to some extent if // not fully on full size Apple keyboards, however as of initial writing // the author is not in a position to test the keymap on such a keyboard. // HISTORY // 2004-09-28 // Initial "cleanroom" writeup of this file by Ævar Arnfjörð Bjarmason ( I // just wrote down that pressing a produces a, a+shift produces A et // cetera and made the XKB file from that information ). partial default alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Icelandic"; //-- Row 5 (E) --// key { [ sterling, section ], [ UF8FF, apostrophe ] }; key { [ 1, exclam ], [ exclamdown, VoidSymbol ] }; key { [ 2, quotedbl ], [ at, VoidSymbol ] }; key { [ 3, numbersign ], [ U2122, sterling ] }; key { [ 4, dollar ], [ U00A2, EuroSign ] }; key { [ 5, percent ], [ U2030, infinity ] }; key { [ 6, ampersand ], [ asciicircum, U2044 ] }; key { [ 7, slash ], [ backslash, U00F7 ] }; key { [ 8, parenleft ], [ bracketleft, braceleft ] }; key { [ 9, parenright ], [ bracketright, braceright ] }; key { [ 0, equal ], [ U2260, U2248 ] }; key { [ odiaeresis, Odiaeresis ], [ oslash, Ooblique ] }; key { [ minus, underscore ], [ endash, emdash ] }; //-- Row 4 (D) --// key { [ q, Q ], [ paragraph, VoidSymbol ] }; key { [ w, W ], [ U2211, VoidSymbol ] }; key { [ e, E ], [ dead_grave, VoidSymbol ] }; key { [ r, R ], [ registered, VoidSymbol ] }; key { [ t, T ], [ degree, VoidSymbol ] }; key { [ y, Y ], [ yen, VoidSymbol ] }; key { [ u, U ], [ dead_diaeresis, VoidSymbol ] }; key { [ i, I ], [ U0131, U00AA ] }; key { [ o, O ], [ dead_circumflex,U00BA ] }; key { [ p, P ], [ Greek_pi, Greek_PI ] }; key { [ eth, Eth ], [ U201e, U201c ] }; key { [ apostrophe, question ], [ questiondown, U00B7 ] }; //-- Row 3 (C) --// key { [ a, A ], [ aring, Aring ] }; key { [ s, S ], [ ssharp, abovedot ] }; key { [ d, D ], [ U2202, U2DA ] }; key { [ f, F ], [ U192, macron ] }; key { [ g, G ], [ copyright, breve ] }; key { [ h, H ], [ bar, VoidSymbol ] }; key { [ j, J ], [ U2206, U2dd ] }; key { [ k, K ], [ U00AC, VoidSymbol ] }; key { [ l, L ], [ U2026, caron ] }; key { [ ae, AE ], [ oe, OE ] }; key { [ dead_acute, dead_diaeresis ], [ U201A, U2018 ] }; key { [ plus, asterisk ], [ U2022, plusminus ] }; //-- Row 2 (B) --// key { [ less, greater ], [ section, UF8FF ] }; key { [ z, Z ], [ U3A9, VoidSymbol ] }; key { [ x, X ], [ asciitilde, VoidSymbol ] }; key { [ c, C ], [ ccedilla, Ccedilla ] }; key { [ v, V ], [ U221A, U25CA ] }; key { [ b, B ], [ U222B, VoidSymbol ] }; key { [ n, N ], [ dead_tilde, VoidSymbol ] }; key { [ m, M ], [ U00B5, VoidSymbol ] }; key { [ comma, semicolon ], [ lessthanequal, guillemotleft ] }; key { [ period, colon ], [ greaterthanequal,guillemotright ] }; key { [ thorn, Thorn ], [ U2019, U201d ] }; // Special keys and modifiers key { [ Alt_L, Meta_L ] }; key { [ Shift_L ] }; key { [ Control_L ] }; key { [ Mode_switch ] }; key { [ Meta_R ] }; key { [ Shift_R ] }; key { [ Control_R ] }; key { [ script_switch ] }; // And now to map those modifiers ... modifier_map Shift { Shift_L, Shift_R }; modifier_map Lock { Caps_Lock }; modifier_map Control { Control_L, Control_R }; modifier_map Mod1 { Meta_L, Meta_R }; //modifier_map Mod2 { Alt_L, Alt_R }; modifier_map Mod3 { Mode_switch }; }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { include "macintosh/is(basic)" // for consistent naming };