// $XKeyboardConfig$ // // This file describes the differences between a Macintosh US Extended // keymap and an Icelandic keyboard layout in the style of Mac OS and Mac OS X // // Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason // // 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. // // = HISTORY // * 2004-09-28: // Initial cleanroom writing of the keymap, I just booted Mac OS X, opened // TextEdit.app and wrote down what the value produced by each key was when I // pressed it, a for a, A for shift + a, å for lalt + a etc and made the // keymap from that information // // * 2006-01-14: // Revised the comments in the file // // = NOTES // * 20 characters in this keymap have no named character defined in // include/keysymdef.h and as a result their Unicode code points in // hexadecimal are listed here, these can be generated with the following // perl command: // $ perl -CA -e 'printf "U%x\n", ord shift' Æ // and converted back like: // $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6 // * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X // keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it // has no assigned code point in Unicode, the code point Apple uses for it is // U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF) // * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it // should work on other Apple laptop models which use the same keyboard // layout. It will probably work on standard sized keyboards with little or // no modification but it might not support them fully, please report if // you're able to get it running with such a keyboard 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_vndr/is(basic)" // for consistent naming };