*** empty log message ***
[xorg/xkeyboard-config] / symbols / macintosh_vndr / is
1 // $XKeyboardConfig$
2 //
3 // This file describes the differences between a Macintosh US Extended
4 // keymap and an Icelandic keyboard layout in the style of Mac OS and Mac OS X
5 //
6 // Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason <avarab@gmail.com>
7 //
8 // Permission to use, copy, modify, distribute, and sell this software and its
9 // documentation for any purpose is hereby granted without fee, provided that
10 // the above copyright notice appear in all copies and that both that
11 // copyright notice and this permission notice appear in supporting
12 // documentation.
13 //
14 // The above copyright notice and this permission notice shall be
15 // included in all copies or substantial portions of the Software.
16 //
17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 // IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
21 // OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
22 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 // OTHER DEALINGS IN THE SOFTWARE.
24 //
25 // Except as contained in this notice, the name of a copyright holder shall
26 // not be used in advertising or otherwise to promote the sale, use or
27 // other dealings in this Software without prior written authorization of
28 // the copyright holder.
29 //
30 // = HISTORY
31 // * 2004-09-28:
32 //   Initial cleanroom writing of the keymap, I just booted Mac OS X, opened
33 //   TextEdit.app and wrote down what the value produced by each key was when I
34 //   pressed it, a for a, A for shift + a, å for lalt + a etc and made the
35 //   keymap from that information
36 //
37 // * 2006-01-14:
38 //   Revised the comments in the file
39 //
40 // = NOTES
41 // * 20 characters in this keymap have no named character defined in
42 //   include/keysymdef.h and as a result their Unicode code points in
43 //   hexadecimal are listed here, these can be generated with the following
44 //   perl command:
45 //     $ perl -CA -e 'printf "U%x\n", ord shift' Æ
46 //   and converted back like:
47 //     $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6
48 // * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X
49 //   keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it
50 //   has no assigned code point in Unicode, the code point Apple uses for it is
51 //   U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF)
52 // * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it
53 //   should work on other Apple laptop models which use the same keyboard
54 //   layout. It will probably work on standard sized keyboards with little or
55 //   no modification but it might not support them fully, please report if
56 //   you're able to get it running with such a keyboard
57
58 partial default alphanumeric_keys
59 xkb_symbols "basic" {
60     name[Group1]= "Icelandic";
61
62         //-- Row 5 (E) --//
63         key <TLDE> {    [       sterling,       section         ],
64                         [       UF8FF,          apostrophe      ]       };
65         key <AE01> {    [       1,              exclam          ],
66                         [       exclamdown,     VoidSymbol      ]       };
67         key <AE02> {    [       2,              quotedbl        ],
68                         [       at,             VoidSymbol      ]       };
69         key <AE03> {    [       3,              numbersign      ],
70                         [       U2122,          sterling        ]       };
71         key <AE04> {    [       4,              dollar          ],
72                         [       U00A2,          EuroSign        ]       };
73         key <AE05> {    [       5,              percent         ],
74                         [       U2030,          infinity        ]       };
75         key <AE06> {    [       6,              ampersand       ],
76                         [       asciicircum,    U2044           ]       };
77         key <AE07> {    [       7,              slash           ],
78                         [       backslash,      U00F7           ]       };
79         key <AE08> {    [       8,              parenleft       ],
80                         [       bracketleft,    braceleft       ]       };
81         key <AE09> {    [       9,              parenright      ],
82                         [       bracketright,   braceright      ]       };
83         key <AE10> {    [       0,              equal           ],
84                         [       U2260,          U2248           ]       };
85         key <AE11> {    [       odiaeresis,     Odiaeresis      ],
86                         [       oslash,         Ooblique        ]       };
87         key <AE12> {    [       minus,          underscore      ],
88                         [       endash,         emdash          ]       };
89
90         
91         //-- Row 4 (D) --//
92         key <AD01> {    [       q,              Q               ],
93                         [       paragraph,      VoidSymbol      ]       };
94         key <AD02> {    [       w,              W               ],
95                         [       U2211,          VoidSymbol      ]       };
96         key <AD03> {    [       e,              E               ],
97                         [       dead_grave,     VoidSymbol      ]       };
98         key <AD04> {    [       r,              R               ],
99                         [       registered,     VoidSymbol      ]       };
100         key <AD05> {    [       t,              T               ],
101                         [       degree,         VoidSymbol      ]       };
102         key <AD06> {    [       y,              Y               ],
103                         [       yen,            VoidSymbol      ]       };
104         key <AD07> {    [       u,              U               ],
105                         [       dead_diaeresis, VoidSymbol      ]       };
106         key <AD08> {    [       i,              I               ],
107                         [       U0131,          U00AA           ]       };
108         key <AD09> {    [       o,              O               ],
109                         [       dead_circumflex,U00BA           ]       };
110         key <AD10> {    [       p,              P               ],
111                         [       Greek_pi,       Greek_PI        ]       };
112         key <AD11> {    [       eth,            Eth             ],
113                         [       U201e,          U201c           ]       };
114         key <AD12> {    [       apostrophe,     question        ],
115                         [       questiondown,   U00B7           ]       };
116         
117         
118         //-- Row 3 (C) --//
119         key <AC01> {    [       a,              A               ],
120                         [       aring,          Aring           ]       };
121         key <AC02> {    [       s,              S               ],
122                         [       ssharp,         abovedot        ]       };
123         key <AC03> {    [       d,              D               ],
124                         [       U2202,          U2DA            ]       };
125         key <AC04> {    [       f,              F               ],
126                         [       U192,           macron          ]       };
127         key <AC05> {    [       g,              G               ],
128                         [       copyright,      breve           ]       };
129         key <AC06> {    [       h,              H               ],
130                         [       bar,            VoidSymbol      ]       };
131         key <AC07> {    [       j,              J               ],
132                         [       U2206,          U2dd            ]       };
133         key <AC08> {    [       k,              K               ],
134                         [       U00AC,          VoidSymbol      ]       };
135         key <AC09> {    [       l,              L               ],
136                         [       U2026,          caron           ]       };
137         key <AC10> {    [       ae,             AE              ],
138                         [       oe,             OE              ]       };
139         key <AC11> {    [       dead_acute,     dead_diaeresis  ],
140                         [       U201A,          U2018           ]       };
141         key <BKSL> {    [       plus,           asterisk        ],
142                         [       U2022,          plusminus       ]       };
143         
144         
145         //-- Row 2  (B) --//
146         key <LSGT> {    [       less,           greater         ],
147                         [       section,        UF8FF           ]       };
148         key <AB01> {    [       z,              Z               ],
149                         [       U3A9,           VoidSymbol      ]       };
150         key <AB02> {    [       x,              X               ],
151                         [       asciitilde,     VoidSymbol      ]       };
152         key <AB03> {    [       c,              C               ],
153                         [       ccedilla,       Ccedilla        ]       };
154         key <AB04> {    [       v,              V               ],
155                         [       U221A,          U25CA           ]       };
156         key <AB05> {    [       b,              B               ],
157                         [       U222B,          VoidSymbol      ]       };
158         key <AB06> {    [       n,              N               ],
159                         [       dead_tilde,     VoidSymbol      ]       };
160         key <AB07> {    [       m,              M               ],
161                         [       U00B5,          VoidSymbol      ]       };
162         key <AB08> {    [       comma,          semicolon       ],
163                         [       lessthanequal,  guillemotleft   ]       };
164         key <AB09> {    [       period,         colon           ],
165                         [       greaterthanequal,guillemotright ]       };
166         key <AB10> {    [       thorn,          Thorn           ],
167                         [       U2019,          U201d           ]       };
168
169         // Special keys and modifiers
170         key <LWIN> {    [       Alt_L,          Meta_L          ]       };
171         key <LFSH> {    [       Shift_L                         ]       };
172         key <LCTL> {    [       Control_L                       ]       };
173         key <LALT> {    [       Mode_switch                     ]       };
174         key <RMTA> {    [       Meta_R                          ]       };
175         key <RTSH> {    [       Shift_R                         ]       };
176         key <RCTL> {    [       Control_R                       ]       };
177         key <RALT> {    [       script_switch                   ]       };
178
179         // And now to map those modifiers ...
180         modifier_map Shift      { Shift_L,      Shift_R };
181         modifier_map Lock       { Caps_Lock             };
182         modifier_map Control    { Control_L, Control_R  };
183         modifier_map Mod1       { Meta_L, Meta_R        };
184         //modifier_map Mod2     { Alt_L, Alt_R          };
185         modifier_map Mod3       { Mode_switch           };
186 };
187
188 partial alphanumeric_keys
189 xkb_symbols "nodeadkeys" {
190         include "macintosh_vndr/is(basic)" // for consistent naming
191 };