3 // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
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.
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.
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.
30 // $TOG: us /main/5 1998/02/10 13:45:06 kaleb $
32 //Copyright 1996, 1998 The Open Group
34 //All Rights Reserved.
36 //The above copyright notice and this permission notice shall be
37 //included in all copies or substantial portions of the Software.
39 //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 //EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41 //MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
42 //IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
43 //OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
44 //ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 //OTHER DEALINGS IN THE SOFTWARE.
47 //Except as contained in this notice, the name of The Open Group shall
48 //not be used in advertising or otherwise to promote the sale, use or
49 //other dealings in this Software without prior written authorization
50 //from The Open Group.
52 // US/ASCII layout for a Type 4 Sun keyboard
57 // The contents of this file are subject to the terms of the
58 // Common Development and Distribution License (the "License").
59 // You may not use this file except in compliance with the License.
61 // You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
62 // or http://www.opensolaris.org/os/licensing.
63 // See the License for the specific language governing permissions
64 // and limitations under the License.
66 // When distributing Covered Code, include this CDDL HEADER in each
67 // file and include the License file at src/OPENSOLARIS.LICENSE.
68 // If applicable, add the following below this CDDL HEADER, with the
69 // fields enclosed by brackets "[]" replaced with your own identifying
70 // information: Portions Copyright [yyyy] [name of copyright owner]
76 xkb_symbols "type4basic" {
79 key <RTSH> { [ Shift_R ] };
80 key <LALT> { [ Alt_L ] };
81 key <ALGR> { [ Mode_switch ] };
82 key <LMTA> { [ Meta_L ] };
83 key <RMTA> { [ Meta_R ] };
84 key <LNFD> { [ Linefeed ] };
85 key <COMP> { [ Multi_key ] };
86 // End alphanumeric section
88 // Begin "Function" section
89 key <FK01> { [ F1 ] };
90 key <FK02> { [ F2 ] };
91 key <FK03> { [ F3 ] };
92 key <FK04> { [ F4 ] };
93 key <FK05> { [ F5 ] };
94 key <FK06> { [ F6 ] };
95 key <FK07> { [ F7 ] };
96 key <FK08> { [ F8 ] };
97 key <FK09> { [ F9 ] };
98 key <FK10> { [ F10 ] };
99 key <FK11> { [ SunF36 ] };
100 key <FK12> { [ SunF37 ] };
101 key <STOP> { [ L1, L1 ], [ SunStop ] };
102 key <AGAI> { [ L2, L2 ], [ SunAgain ] };
103 key <PROP> { [ L3, L3 ], [ SunProps ] };
104 key <UNDO> { [ L4, L4 ], [ SunUndo ] };
105 key <FRNT> { [ L5, L5 ], [ SunFront ] };
106 key <COPY> { [ L6, L6 ], [ SunCopy ] };
107 key <OPEN> { [ L7, L7 ], [ SunOpen ] };
108 key <PAST> { [ L8, L8 ], [ SunPaste ] };
109 key <FIND> { [ L9, L9 ], [ SunFind ] };
110 key <CUT> { [ L10, L10 ], [ SunCut ] };
111 // End "Function" section
113 // Begin "Editing" section
114 key <PRSC> { [ R2, R2 ], [ Print ] };
115 key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] };
116 key <PAUS> { [ R1, R1 ], [ Pause ] };
117 key <DELE> { [ Delete ] };
118 key <HELP> { [ Help ] };
120 // End "Editing" section, begin "Keypad"
121 key <NMLK> { [ Num_Lock ] };
122 key <KPEQ> { [ R4, R4 ], [ KP_Equal ] };
123 key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
124 key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
125 key <KPSU> { [ KP_Subtract ] };
127 key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
128 key <KP8> { [ Up, R8 ], [ KP_8 ] };
129 // key <KP8> { [ R8, R8 ], [ KP_8 ] };
130 key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
131 key <KPAD> { [ KP_Add ] };
133 key <KP4> { [ Left, R10 ], [ KP_4 ] };
134 key <KP5> { [ R11, R11 ], [ KP_5 ] };
135 key <KP6> { [ Right, R12 ], [ KP_6 ] };
137 key <KP1> { [ R13, R13 ], [ KP_1, End ] };
138 key <KP2> { [ Down, R14 ], [ KP_2 ] };
139 key <KP3> { [ R15, R15 ], [ KP_3, Next ] };
140 key <KPEN> { [ KP_Enter ] };
141 key <KP0> { [ KP_Insert, KP_Insert], [ KP_0 ] };
142 key <KPDL> { [ Delete, Delete ], [ KP_Decimal ] };
143 // End "Keypad" section
146 // begin modifier mappings
147 modifier_map Shift { Shift_R, Shift_L };
148 modifier_map Mod1 { Meta_L, Meta_R };
149 modifier_map Mod2 { Num_Lock };
150 modifier_map Mod3 { Mode_switch };
151 modifier_map Mod4 { Alt_L };
154 xkb_symbols "type4" {
155 include "sun_vndr/us(type4basic)"
157 // A few alphanumeric keys are different
158 key <AE04> { [ 4, dollar ], [ EuroSign ] };
159 key <AE05> { [ 5, percent ], [ EuroSign ] };
160 key <AD03> { [ e, E ], [ EuroSign ] };
163 // US/ASCII layout for a Type 5 Sun keyboard
164 xkb_symbols "type5basic" {
167 key <RTSH> { [ Shift_R ] };
168 key <LALT> { [ Alt_L ] };
169 key <ALGR> { [ Mode_switch ] };
170 key <LMTA> { [ Meta_L ] };
171 key <RMTA> { [ Meta_R ] };
172 key <COMP> { [ Multi_key ] };
173 // End alphanumeric section
175 // Begin "Function" section
176 key <FK01> { [ F1 ] };
177 key <FK02> { [ F2 ] };
178 key <FK03> { [ F3 ] };
179 key <FK04> { [ F4 ] };
180 key <FK05> { [ F5 ] };
181 key <FK06> { [ F6 ] };
182 key <FK07> { [ F7 ] };
183 key <FK08> { [ F8 ] };
184 key <FK09> { [ F9 ] };
185 key <FK10> { [ F10 ] };
186 key <FK11> { [ SunF36 ] };
187 key <FK12> { [ SunF37 ] };
188 key <STOP> { [ L1, L1 ], [ SunStop ] };
189 key <AGAI> { [ L2, L2 ], [ SunAgain ] };
190 key <PROP> { [ L3, L3 ], [ SunProps ] };
191 key <UNDO> { [ L4, L4 ], [ SunUndo ] };
192 key <FRNT> { [ L5, L5 ], [ SunFront ] };
193 key <COPY> { [ L6, L6 ], [ SunCopy ] };
194 key <OPEN> { [ L7, L7 ], [ SunOpen ] };
195 key <PAST> { [ L8, L8 ], [ SunPaste ] };
196 key <FIND> { [ L9, L9 ], [ SunFind ] };
197 key <CUT> { [ L10, L10 ], [ SunCut ] };
198 // End "Function" section
200 // Begin "Editing" section
201 key <PRSC> { [ R2, R2 ], [ Print, SunSys_Req ] };
202 key <SCLK> { [ R3, R3 ], [ Scroll_Lock ] };
203 key <PAUS> { [ R1, R1 ], [ Pause, Break ] };
204 key <LEFT> { [ Left ] };
205 key <RGHT> { [ Right ] };
207 key <DOWN> { [ Down ] };
209 key <DELE> { [ Delete ] };
210 key <INS> { [ Insert ] };
211 key <PGUP> { [ Prior ] };
212 key <PGDN> { [ Next ] };
213 key <HOME> { [ Home ] };
214 key <END> { [ End ] };
215 key <HELP> { [ Help ] };
217 // End "Editing" section, begin "Keypad"
218 key <NMLK> { [ Num_Lock ] };
219 key <KPDV> { [ R5, R5 ], [ KP_Divide ] };
220 key <KPMU> { [ R6, R6 ], [ KP_Multiply ] };
221 key <KPSU> { [ R4, R4 ], [ KP_Subtract ] };
223 key <KP7> { [ R7, R7 ], [ KP_7, Home ] };
224 key <KP8> { [ Up, R8 ], [ KP_8 ] };
225 key <KP9> { [ R9, R9 ], [ KP_9, Prior ] };
226 key <KPAD> { [ KP_Add ] };
228 key <KP4> { [ Left, R10 ], [ KP_4 ] };
229 key <KP5> { [ R11, R11 ], [ KP_5 ] };
230 key <KP6> { [ Right, R12 ], [ KP_6 ] };
232 key <KP1> { [ R13, R13 ], [ KP_1, End ] };
233 key <KP2> { [ Down, R14 ], [ KP_2 ] };
234 key <KP3> { [ R15, R15 ], [ KP_3 ] };
235 key <KPEN> { [ KP_Enter ] };
237 key <KP0> { [ KP_Insert, KP_Insert ], [ KP_0 ] };
238 key <KPDL> { [ KP_Delete, KP_Delete ], [ KP_Decimal ] };
239 // End "Keypad" section,
240 // begin "four keys up on the right"
242 key <MUTE> { [ SunAudioMute, SunVideoDegauss ] };
243 key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] };
244 key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] };
245 key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] };
247 // begin modifier mappings
248 modifier_map Shift { Shift_R };
249 modifier_map Mod1 { Meta_L, Meta_R };
250 modifier_map Mod2 { Num_Lock };
251 modifier_map Mod3 { Alt_R };
252 modifier_map Mod4 { Alt_L };
255 xkb_symbols "type5" {
256 include "sun_vndr/us(type5basic)"
258 // A few alphanumeric keys are different
259 key <AE04> { [ 4, dollar ], [ EuroSign ] };
260 key <AE05> { [ 5, percent ], [ EuroSign ] };
261 key <AD03> { [ e, E ], [ EuroSign ] };
262 key <BKSL> { [ backslash, bar ], [ brokenbar ] };