added Nigerian, b.fd.o#8467
[xorg/xkeyboard-config] / symbols / sun_vndr / us
1 // $XdotOrg: $
2 //
3 // Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
4 //
5 // Permission is hereby granted, free of charge, to any person obtaining a
6 // copy of this software and associated documentation files (the
7 // "Software"), to deal in the Software without restriction, including
8 // without limitation the rights to use, copy, modify, merge, publish,
9 // distribute, and/or sell copies of the Software, and to permit persons
10 // to whom the Software is furnished to do so, provided that the above
11 // copyright notice(s) and this permission notice appear in all copies of
12 // the Software and that both the above copyright notice(s) and this
13 // permission notice appear in supporting documentation.
14 // 
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
18 // OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
19 // HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
20 // INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
21 // FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
22 // NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
23 // WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24 // 
25 // Except as contained in this notice, the name of a copyright holder
26 // shall not be used in advertising or otherwise to promote the sale, use
27 // or other dealings in this Software without prior written authorization
28 // of the copyright holder.
29 //
30 // $TOG: us /main/5 1998/02/10 13:45:06 kaleb $
31 // Sun: @(#)us  1.5     03/04/21 SMI
32 //
33 //Copyright 1996, 1998  The Open Group
34 //
35 //All Rights Reserved.
36 //
37 //The above copyright notice and this permission notice shall be
38 //included in all copies or substantial portions of the Software.
39 //
40 //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 //EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
42 //MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
43 //IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
44 //OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
45 //ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 //OTHER DEALINGS IN THE SOFTWARE.
47 //
48 //Except as contained in this notice, the name of The Open Group shall
49 //not be used in advertising or otherwise to promote the sale, use or
50 //other dealings in this Software without prior written authorization
51 //from The Open Group.
52 //
53
54 // Symbols shared by all Sun Keyboard layouts
55 xkb_symbols "sunbasic" {
56     include "srvr_ctrl(stdkeypad)"
57     include "us(basic)"
58
59     key <RTSH> { [ Shift_R              ]                       };
60     key <LALT> { [ Alt_L                ]                       };
61     key <ALGR> { [ Mode_switch          ]                       };
62     key <LMTA> { [ Meta_L               ]                       };
63     key <RMTA> { [ Meta_R               ]                       };
64     key <RCTL> { [ Control_R            ]                       };
65     key <COMP> { [ Multi_key            ]                       };
66     // End alphanumeric section
67
68     // Begin "Function" section
69     key <FK01> { [ F1                   ]                       };
70     key <FK02> { [ F2                   ]                       };
71     key <FK03> { [ F3                   ]                       };
72     key <FK04> { [ F4                   ]                       };
73     key <FK05> { [ F5                   ]                       };
74     key <FK06> { [ F6                   ]                       };
75     key <FK07> { [ F7                   ]                       };
76     key <FK08> { [ F8                   ]                       };
77     key <FK09> { [ F9                   ]                       };
78     key <FK10> { [ F10                  ]                       };
79     key <FK11> { [ SunF36               ]                       };
80     key <FK12> { [ SunF37               ]                       };
81     key <STOP> { [ L1,  L1              ], [ SunStop    ]       };
82     key <AGAI> { [ L2,  L2              ], [ SunAgain   ]       };
83     key <PROP> { [ L3,  L3              ], [ SunProps   ]       };
84     key <UNDO> { [ L4,  L4              ], [ SunUndo    ]       };
85     key <FRNT> { [ L5,  L5              ], [ SunFront   ]       };
86     key <COPY> { [ L6,  L6              ], [ SunCopy    ]       };
87     key <OPEN> { [ L7,  L7              ], [ SunOpen    ]       };
88     key <PAST> { [ L8,  L8              ], [ SunPaste   ]       };
89     key <FIND> { [ L9,  L9              ], [ SunFind    ]       };
90     key <CUT>  { [ L10, L10             ], [ SunCut     ]       };
91     // End "Function" section
92
93     // Begin "Editing" section
94     key <DELE> { [ Delete               ]                       };
95     key <HELP> { [ Help                 ]                       };
96
97     // End "Editing" section, begin "Keypad"
98
99     key <NMLK> {        [  Num_Lock, Pointer_EnableKeys         ]       };
100
101     // This default section uses the same symbols as other XKB implementations
102     // for greater compatibility & AccessX MouseKeys support, but it is 
103     // different than the traditional Sun key mappings that date back to the
104     // Sun Type 2 keyboard, in which the right side numpad were "R" function
105     // keys.  To restore the original behavior, comment out this section and
106     // uncomment the section below that lists the R key mappings.
107     key <KPDV> {        [  KP_Divide            ]       };
108     key <KPMU> {        [  KP_Multiply          ]       };
109     key <KPSU> {        [  KP_Subtract          ]       };
110
111     key  <KP7> {        [  KP_Home,     KP_7    ]       };
112     key  <KP8> {        [  KP_Up,       KP_8    ]       };
113     key  <KP9> {        [  KP_Prior,    KP_9    ]       };
114     key <KPAD> {        [       KP_Add          ]       };
115
116     key  <KP4> {        [  KP_Left,     KP_4    ]       };
117     key  <KP5> {        [  KP_Begin,    KP_5    ]       };
118     key  <KP6> {        [  KP_Right,    KP_6    ]       };
119
120     key  <KP1> {        [  KP_End,      KP_1    ]       };
121     key  <KP2> {        [  KP_Down,     KP_2    ]       };
122     key  <KP3> {        [  KP_Next,     KP_3    ]       };
123     key <KPEN> {        [       KP_Enter        ]       };
124
125     key  <KP0> {        [  KP_Insert,   KP_0    ]       };
126     key <KPDL> {  [  KP_Delete, KP_Decimal ]    };
127
128 // End New Keypad section - Begin Sun traditional Keypad section
129
130 //    key  <KP7> { [ R7,        R7              ], [ KP_7, Home         ] };
131 //    key  <KP8> { [ Up, R8               ], [ KP_8               ] };
132 //    key  <KP9> { [ R9,        R9              ], [ KP_9, Prior        ] };
133 //    key <KPAD> { [ KP_Add             ]                       };
134 //
135 //    key  <KP4> { [ Left, R10          ], [ KP_4               ] };
136 //    key  <KP5> { [ R11,       R11             ], [ KP_5               ] };
137 //    key  <KP6> { [ Right, R12         ], [ KP_6               ] };
138 //
139 //    key  <KP1> { [ R13,       R13             ], [ KP_1,      End     ] };
140 //    key  <KP2> { [ Down, R14          ], [ KP_2               ] };
141 //    key  <KP3> { [ R15,       R15             ], [ KP_3,      Next    ] };
142 //    key <KPEN> { [ KP_Enter           ]                       }; 
143 //    key  <KP0> { [ KP_Insert, KP_Insert], [ KP_0              ]       };
144 //    key <KPDL> { [ Delete, Delete     ], [ KP_Decimal ]       };
145
146       // End "Keypad" section
147
148     modifier_map Control{ Control_R };
149
150 };
151
152 // US/ASCII layout for a Type 4 Sun keyboard
153 xkb_symbols "type4basic" {
154     include "sun/us(sunbasic)"
155
156     // A few alphanumeric keys are different
157     key <AE04> { [ 4, dollar            ], [ EuroSign   ]       };
158     key <AE05> { [ 5, percent           ], [ EuroSign   ]       };
159     key <AD03> { [ e, E                 ], [ EuroSign   ]       };
160
161     key <LNFD> { [ Linefeed             ]                       };
162
163     // Begin "Editing" section
164     key <PRSC> { [ R2,  R2              ], [ Print              ] };
165     key <SCLK> { [ R3,  R3              ], [ Scroll_Lock, Break ] };
166     key <PAUS> { [ R1,  R1              ], [ Pause              ] };
167
168     // End "Editing" section, begin "Keypad"
169     key <KPEQ> { [ R4,  KP_Equal        ], [ KP_Equal           ] };
170
171     // begin modifier mappings
172     modifier_map Shift          { Shift_R, Shift_L };
173     modifier_map Mod1           { Meta_L, Meta_R };
174     modifier_map Mod2           { Mode_switch };
175     modifier_map Mod3           { Num_Lock };
176     modifier_map Mod4           { Alt_L };
177
178 };
179
180 xkb_symbols "type4" {
181     include "sun/us(type4basic)"
182
183     key <BKSL> { [ backslash, bar       ], [ brokenbar  ]       };
184 };
185
186 // US/ASCII layout for a Type 5 Sun keyboard
187 xkb_symbols "type5basic" {
188     include "sun/us(sunbasic)"
189
190     // Begin "Editing" section
191     key <PRSC> { [ R2, R2               ], [ Print, SunSys_Req  ]       };
192     key <SCLK> { [ R3, R3               ], [ Scroll_Lock        ]       };
193     key <PAUS> { [ R1, R1               ], [ Pause, Break       ]       };
194
195     key <LEFT> { [ Left                 ]                       };
196     key <RGHT> { [ Right                ]                       };
197     key <UP>   { [ Up                   ]                       };
198     key <DOWN> { [ Down                 ]                       };
199
200     key <DELE> { [ Delete               ]                       };
201     key <INS>  { [ Insert               ]                       };
202     key <PGUP> { [ Prior                ]                       };
203     key <PGDN> { [ Next                 ]                       };
204     key <HOME> { [ Home                 ]                       };
205     key <END>  { [ End                  ]                       };
206     key <HELP> { [ Help                 ]                       };
207
208     // End "Editing" section
209
210     // begin "four keys up on the right"
211     key <MUTE> { [ SunAudioMute,        SunVideoDegauss         ]       };
212     key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ]       };
213     key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ]       };
214     key <POWR> { [ SunPowerSwitch,      SunPowerSwitchShift     ]       };
215
216     // begin modifier mappings
217     modifier_map Shift          { Shift_R, Shift_L };
218     modifier_map Mod1           { Alt_L };
219     modifier_map Mod2           { Alt_R, Mode_switch };
220     modifier_map Mod3           { Num_Lock };
221     modifier_map Mod4           { Meta_L, Meta_R };
222 };
223
224 xkb_symbols "type5" {
225     include "sun/us(type5basic)"
226
227     // A few alphanumeric keys are different
228     key <AE04> { [ 4, dollar            ], [ EuroSign   ]       };
229     key <AE05> { [ 5, percent           ], [ EuroSign   ]       };
230     key <AD03> { [ e, E                 ], [ EuroSign   ]       };
231     key <BKSL> { [ backslash, bar       ], [ brokenbar  ]       };
232 };
233
234 xkb_symbols "type6" {
235     include "sun/us(type5)"
236 };
237
238
239 // US/ASCII layout for a Type 5 Sun keyboard
240 xkb_symbols "type5hobobasic" {
241     include "sun/us(type5basic)"
242 };
243
244 xkb_symbols "type5hobo" {
245     include "sun/us(type5hobobasic)"
246
247     // A few alphanumeric keys are different
248     key <AE04> { [ 4, dollar            ], [ EuroSign   ]       };
249     key <AE05> { [ 5, percent           ], [ EuroSign   ]       };
250     key <AD03> { [ e, E                 ], [ EuroSign   ]       };
251     key <BKSL> { [ backslash, bar       ], [ brokenbar  ]       };
252
253     // Here is the hobo keypad:
254
255     key <AE07> { [ 7, ampersand ], [ NoSymbol, NoSymbol ], [ KP_7       ] };
256     key <AE08> { [ 8, asterisk  ], [ NoSymbol, NoSymbol ], [ KP_8       ] };
257     key <AE09> { [ 9, parenleft ], [ NoSymbol, NoSymbol ], [ KP_9       ] };
258     key <AE10> { [ 0, parenright], [ NoSymbol, NoSymbol ], [ KP_Multiply] };
259
260     key <AD07> { [ u, U         ], [ NoSymbol, NoSymbol ], [ KP_4       ] };
261     key <AD08> { [ i, I         ], [ NoSymbol, NoSymbol ], [ KP_5       ] };
262     key <AD09> { [ o, O         ], [ NoSymbol, NoSymbol ], [ KP_6       ] };
263     key <AD10> { [ p, P         ], [ NoSymbol, NoSymbol ], [ KP_Subtract]};
264
265     key <AC07> { [ j, J         ], [ NoSymbol, NoSymbol ], [ KP_1       ] };
266     key <AC08> { [ k, K         ], [ NoSymbol, NoSymbol ], [ KP_2       ] };
267     key <AC09> { [ l, L         ], [ NoSymbol, NoSymbol ], [ KP_3       ] };
268     key <AC10> { [ semicolon, colon], [ NoSymbol, NoSymbol], [ KP_Add   ] };
269
270     key <RTRN> { [ Return       ], [ NoSymbol, NoSymbol], [ KP_Enter    ] };
271
272     key <AB07> { [ m, M         ], [ NoSymbol, NoSymbol ], [ KP_0       ] };
273
274     key <AB09> { [ period, greater], [ NoSymbol, NoSymbol], [ KP_Decimal] };
275     key <AB10> { [ slash, question], [ NoSymbol, NoSymbol], [ KP_Divide ] };
276
277 };
278
279 xkb_symbols "pc101" {
280     include "us(pc101)"
281     key <RALT> { [ Mode_switch, Meta_R  ] };
282 };
283
284 xkb_symbols "pc102" {
285     include "us(pc102)"
286     key <RALT> { [ Mode_switch, Meta_R  ] };
287 };
288
289 xkb_symbols "pc104" {
290     include "us(pc104)"
291 };
292
293 xkb_symbols "pc101currency" {
294
295     key <AE04> { [ 4, dollar            ], [ EuroSign   ]       };
296     key <AE05> { [ 5, percent           ], [ EuroSign   ]       };
297     key <AD03> { [ e, E                 ], [ EuroSign   ]       };
298     key <BKSL> { [ backslash, bar       ], [ brokenbar                  ]};
299 };
300
301 xkb_symbols "US101A_Sun" {
302
303     key <AE04> { [ 4, dollar            ], [ EuroSign   ]       };
304     key <AE05> { [ 5, percent           ], [ EuroSign   ]       };
305     key <AD03> { [ e, E                 ], [ EuroSign   ]       };
306     key <BKSL> { [ backslash, bar       ], [ brokenbar                  ]};
307
308     // Begin "Editing" section
309     key <PRSC> { [ L5, L5               ], [ Print, SunSys_Req          ]};
310     key <SCLK> { [ L7, L7               ], [  Scroll_Lock               ]};
311     key <PAUS> { [ L1, L1               ], [ Pause, Break               ]};
312     key  <INS> { [ L8, L8               ], [  Insert                    ]};
313     key <HOME> { [ L6, L6               ], [  Home                      ]};
314     key <PGUP> { [ L3, L3               ], [  Prior                     ]};
315
316
317     key <DELE> { [ L10, L10             ], [ Delete                     ]};
318     key  <END> { [ L9, L9               ], [  End                       ]};
319     key <PGDN> { [ L4, L4               ], [  Next                      ]};
320
321     key   <UP> {        [  Up                   ]       };
322     key <LEFT> {        [  Left                 ]       };
323     key <DOWN> {        [  Down                 ]       };
324     key <RGHT> {        [  Right                ]       };
325
326     key <KPDV> { [ R5, R5               ], [ KP_Divide  ]       };
327     key <KPMU> { [ R6, R6               ], [ KP_Multiply        ]       };
328
329     key  <KP7> { [ R7, KP_7             ], [ KP_7, Home         ]       };
330     key  <KP8> { [ KP_Up, KP_8          ], [ KP_8               ]       };
331     key  <KP9> { [ R9, KP_9             ], [ KP_9, Prior        ]       };
332     key <KPAD> { [ KP_Add               ]                               };
333
334     key  <KP4> { [ KP_Left, KP_4        ], [ KP_4               ]       };
335     key  <KP5> { [ R11, KP_5            ], [ KP_5               ]       };
336     key  <KP6> { [ KP_Right, KP_6       ], [ KP_6               ]       };
337
338     key  <KP1> { [ R13, KP_1            ], [ KP_1, End          ]       };
339     key  <KP2> { [ KP_Down, KP_2        ], [ KP_2               ]       };
340     key  <KP3> { [ R15, KP_3            ], [ KP_3, Next         ]       };
341     key <KPEN> { [ KP_Enter             ]                               };
342
343     key <LALT> { [ Meta_L               ]                               };
344     key <RALT> { [ Alt_L                ]                               };
345     key <RCTL> { [ Multi_key            ]                               };
346 };
347