solaris revision c067fea9
1154daed1Smrg//-------------------------------------------------------------------------
2154daed1Smrg//
3c067fea9Sghen// Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
4154daed1Smrg//
5154daed1Smrg// Permission is hereby granted, free of charge, to any person obtaining a
6154daed1Smrg// copy of this software and associated documentation files (the
7154daed1Smrg// "Software"), to deal in the Software without restriction, including
8154daed1Smrg// without limitation the rights to use, copy, modify, merge, publish,
9154daed1Smrg// distribute, and/or sell copies of the Software, and to permit persons
10154daed1Smrg// to whom the Software is furnished to do so, provided that the above
11154daed1Smrg// copyright notice(s) and this permission notice appear in all copies of
12154daed1Smrg// the Software and that both the above copyright notice(s) and this
13154daed1Smrg// permission notice appear in supporting documentation.
14154daed1Smrg//
15154daed1Smrg// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16154daed1Smrg// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17154daed1Smrg// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
18154daed1Smrg// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
19154daed1Smrg// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
20154daed1Smrg// INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
21154daed1Smrg// FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
22154daed1Smrg// NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
23154daed1Smrg// WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
24154daed1Smrg//
25154daed1Smrg// Except as contained in this notice, the name of a copyright holder
26154daed1Smrg// shall not be used in advertising or otherwise to promote the sale, use
27154daed1Smrg// or other dealings in this Software without prior written authorization
28154daed1Smrg// of the copyright holder.
29154daed1Smrg//
30154daed1Smrg//-------------------------------------------------------------------------
31154daed1Smrg//
32c067fea9Sghen
33c067fea9Sghen//
34c067fea9Sghen// CDDL HEADER START
35c067fea9Sghen//
36c067fea9Sghen// The contents of this file are subject to the terms of the
37c067fea9Sghen// Common Development and Distribution License (the "License").
38c067fea9Sghen// You may not use this file except in compliance with the License.
39c067fea9Sghen//
40c067fea9Sghen// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
41c067fea9Sghen// or http://www.opensolaris.org/os/licensing.
42c067fea9Sghen// See the License for the specific language governing permissions
43c067fea9Sghen// and limitations under the License.
44c067fea9Sghen//
45c067fea9Sghen// When distributing Covered Code, include this CDDL HEADER in each
46c067fea9Sghen// file and include the License file at src/OPENSOLARIS.LICENSE.
47c067fea9Sghen// If applicable, add the following below this CDDL HEADER, with the
48c067fea9Sghen// fields enclosed by brackets "[]" replaced with your own identifying
49c067fea9Sghen// information: Portions Copyright [yyyy] [name of copyright owner]
50c067fea9Sghen//
51c067fea9Sghen// CDDL HEADER END
52154daed1Smrg//
53154daed1Smrg
54154daed1Smrg// Default map provides backwards compatibility with Sun keyboards from
55154daed1Smrg// long ago and the key mappings still used in Solaris Xsun today
56154daed1Smrg
57154daed1Smrgpartial default
58c067fea9Sghenxkb_symbols "defaults_common" {
59154daed1Smrg
60154daed1Smrg    // Left side keys were labeled L1-L10 on Sun Type 2 & Type 3 keyboards
61154daed1Smrg    // and the names have stuck (you can spot a longtime Sun admin when you
62154daed1Smrg    // hear them say to hit "L1-A" to enter the OpenBoot PROM)
63154daed1Smrg    // These names get mapped to the keysyms F11-F20
64154daed1Smrg    key <STOP> { [ L1,  L1              ], [ SunStop    ]       };
65154daed1Smrg    key <AGAI> { [ L2,  L2              ], [ SunAgain   ]       };
66154daed1Smrg    key <PROP> { [ L3,  L3              ], [ SunProps   ]       };
67154daed1Smrg    key <UNDO> { [ L4,  L4              ], [ SunUndo    ]       };
68154daed1Smrg    key <FRNT> { [ L5,  L5              ], [ SunFront   ]       };
69154daed1Smrg    key <COPY> { [ L6,  L6              ], [ SunCopy    ]       };
70154daed1Smrg    key <OPEN> { [ L7,  L7              ], [ SunOpen    ]       };
71154daed1Smrg    key <PAST> { [ L8,  L8              ], [ SunPaste   ]       };
72154daed1Smrg    key <FIND> { [ L9,  L9              ], [ SunFind    ]       };
73154daed1Smrg    key <CUT>  { [ L10, L10             ], [ SunCut     ]       };
74154daed1Smrg
75154daed1Smrg    // And on the right side, the function keys were labeled R1-R15,
76154daed1Smrg    // which get mapped to the keysyms F21-F35
77154daed1Smrg    // This includes the keys that became the numeric keypad
78154daed1Smrg    key <PAUS> { [ R1,  R1              ], [ Pause              ] };
79154daed1Smrg    key <PRSC> { [ R2,  R2              ], [ Print              ] };
80154daed1Smrg    key <SCLK> { [ R3,  R3              ], [ Scroll_Lock, Break ] };
81154daed1Smrg
82154daed1Smrg    key <KPEQ> { [ KP_Equal             ], [ R4, KP_Equal       ] };
83154daed1Smrg    key <KPDV> { [ KP_Divide            ], [ R5, KP_Divide      ] };
84154daed1Smrg    key <KPMU> { [ KP_Multiply          ], [ R6, KP_Multiply    ] };
85154daed1Smrg
86154daed1Smrg    key  <KP7> { [ KP_Home,  KP_7, R7   ], [ R7, KP_7, Home     ] };
87154daed1Smrg    key  <KP8> { [ KP_Up,    KP_8, R8   ], [ R8, KP_8, Up       ] };
88154daed1Smrg    key  <KP9> { [ KP_Prior, KP_9, R9   ], [ R9, KP_9, Prior    ] };
89154daed1Smrg
90154daed1Smrg    key  <KP4> { [ KP_Left,  KP_4, R10  ], [ R10, KP_4, Left    ] };
91154daed1Smrg    key  <KP5> { [ KP_Begin, KP_5, R11  ], [ R11, KP_5          ] };
92154daed1Smrg    key  <KP6> { [ KP_Right, KP_6, R12  ], [ R12, KP_6, Right   ] };
93154daed1Smrg
94154daed1Smrg    key  <KP1> { [ KP_End,   KP_1, R13  ], [ R13, KP_1, End     ] };
95154daed1Smrg    key  <KP2> { [ KP_Down,  KP_2, R14  ], [ R14, KP_2, Down    ] };
96154daed1Smrg    key  <KP3> { [ KP_Next,  KP_3, R15  ], [ R15, KP_3, Next    ] };
97154daed1Smrg
98154daed1Smrg    // F11 & F12 are mapped to SunF36 and SunF37 since they were added
99154daed1Smrg    // after F11-F35 were already assigned on Sun keyboards
100154daed1Smrg    key <FK11> { [ SunF36               ], [ F11                ] };
101154daed1Smrg    key <FK12> { [ SunF37               ], [ F12                ] };
102154daed1Smrg
103154daed1Smrg    // These were added to the keyboard much later and simply got mapped
104154daed1Smrg    // to their logical names
105154daed1Smrg    key <HELP> { [ Help                 ]                       };
106154daed1Smrg    key <MUTE> { [  SunAudioMute,	SunVideoDegauss		]	};
107154daed1Smrg    key <VOL-> { [  SunAudioLowerVolume,SunVideoLowerBrightness ]	};
108154daed1Smrg    key <VOL+> { [  SunAudioRaiseVolume,SunVideoRaiseBrightness	]	};
109c067fea9Sghen    key <POWR> { [  XF86Sleep,		XF86Hibernate		]	};
110c067fea9Sghen
111c067fea9Sghen//    key <LALT> { [ Alt_L                ]                       };
112c067fea9Sghen//    key <LMTA> { [ Meta_L               ]                       };
113c067fea9Sghen//    key <RMTA> { [ Meta_R               ]                       };
114c067fea9Sghen//    key <COMP> { [ Multi_key            ]                       };
115c067fea9Sghen};
116c067fea9Sghen
117c067fea9Sghenpartial default
118c067fea9Sghenxkb_symbols "defaults" {
119c067fea9Sghen    include "sun_vndr/solaris(defaults_common)"
120c067fea9Sghen//    key <RALT> { [ Mode_switch          ]                       };
121c067fea9Sghen//    key <ALGR> { [ Mode_switch          ]                       };
122154daed1Smrg
123c067fea9Sghen    // begin modifier mappings
124c067fea9Sghen//    modifier_map Shift          { Shift_R, Shift_L };
125c067fea9Sghen//    modifier_map Mod1           { Alt_L };
126c067fea9Sghen//    modifier_map Mod2           { Num_Lock };
127c067fea9Sghen//    modifier_map Mod3           { Alt_R, Mode_switch };
128c067fea9Sghen//    modifier_map Mod4           { Meta_L, Meta_R };
129c067fea9Sghen};
130154daed1Smrg
131c067fea9Sghenpartial default
132c067fea9Sghenxkb_symbols "defaults_type7jp" {
133c067fea9Sghen    include "sun_vndr/solaris(defaults_common)"
134154daed1Smrg    // begin modifier mappings
135154daed1Smrg    modifier_map Shift          { Shift_R, Shift_L };
136c067fea9Sghen    modifier_map Mod1           { Alt_L , Alt_R};
137c067fea9Sghen    modifier_map Mod2           { Num_Lock };
138c067fea9Sghen    modifier_map Mod3           { Mode_switch };
139154daed1Smrg    modifier_map Mod4           { Meta_L, Meta_R };
140154daed1Smrg};
141154daed1Smrg
142154daed1Smrg// Map the keys to the actual key names instead of the ancient Sun function
143154daed1Smrg// keys
144154daed1Smrgpartial
145154daed1Smrgxkb_symbols "keynames" {
146154daed1Smrg    key <FK11> { [ F11          ],      [ SunF36   ]    };
147154daed1Smrg    key <FK12> { [ F12          ],      [ SunF37   ]    };
148154daed1Smrg
149154daed1Smrg    key <STOP> { [ Cancel	],	[ F11	]	};
150154daed1Smrg    key <AGAI> { [ Redo		],	[ F12	]	};
151154daed1Smrg    key <PROP> { [ SunProps	],	[ F13	]	};
152154daed1Smrg    key <UNDO> { [ Undo		],	[ F14	]	};
153154daed1Smrg    key <FRNT> { [ SunFront	],	[ F15	]	};
154154daed1Smrg    key <COPY> { [ SunCopy	],	[ F16	]	};
155154daed1Smrg    key <OPEN> { [ SunOpen	],	[ F17	]	};
156154daed1Smrg    key <PAST> { [ SunPaste	],	[ F18	]	};
157154daed1Smrg    key <FIND> { [ Find		],	[ F19	]	};
158154daed1Smrg    key <CUT>  { [ SunCut	],	[ F20	]	};
159154daed1Smrg
160154daed1Smrg    key <HELP> { [ Help		]	                };
161154daed1Smrg
162154daed1Smrg    key <PAUS> {  [  Pause                      ]       };
163154daed1Smrg    key <PRSC> {  [  Print                      ]       };
164154daed1Smrg    key <SCLK> {  [  Scroll_Lock, Break         ]       };
165154daed1Smrg
166154daed1Smrg    key  <KP7> {        [  KP_Home,     KP_7    ]       };
167154daed1Smrg    key  <KP8> {        [  KP_Up,       KP_8    ]       };
168154daed1Smrg    key  <KP9> {        [  KP_Prior,    KP_9    ]       };
169154daed1Smrg
170154daed1Smrg    key  <KP4> {        [  KP_Left,     KP_4    ]       };
171154daed1Smrg    key  <KP5> {        [  KP_Begin,    KP_5    ]       };
172154daed1Smrg    key  <KP6> {        [  KP_Right,    KP_6    ]       };
173154daed1Smrg
174154daed1Smrg    key  <KP1> {        [  KP_End,      KP_1    ]       };
175154daed1Smrg    key  <KP2> {        [  KP_Down,     KP_2    ]       };
176154daed1Smrg    key  <KP3> {        [  KP_Next,     KP_3    ]       };
177154daed1Smrg
178154daed1Smrg    key <KPEN> {        [       KP_Enter        ]       };
179154daed1Smrg    key <KPEQ> {        [       KP_Equal        ]       };
180154daed1Smrg
181154daed1Smrg    key <MUTE> { [ SunAudioMute,	SunVideoDegauss		]	};
182154daed1Smrg    key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ]	};
183154daed1Smrg    key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness	]	};
184154daed1Smrg    key <POWR> { [ SunPowerSwitch,	SunPowerSwitchShift	]	};
185154daed1Smrg
186154daed1Smrg    key <LALT> { [ Alt_L                ]                       };
187154daed1Smrg    key <RALT> { [ Mode_switch          ]                       };
188154daed1Smrg    key <ALGR> { [ Mode_switch          ]                       };
189154daed1Smrg    key <LMTA> { [ Meta_L               ]                       };
190154daed1Smrg    key <RMTA> { [ Meta_R               ]                       };
191154daed1Smrg    key <COMP> { [ Multi_key            ]                       };
192154daed1Smrg
193154daed1Smrg};
194154daed1Smrg
195154daed1Smrg// Map the keys to the XFree86 key names instead of the Sun key names
196154daed1Smrgpartial
197154daed1Smrgxkb_symbols "xf86keynames" {
198154daed1Smrg    key <STOP> { [ XF86Stop	],	[ F11	]	};
199154daed1Smrg    key <AGAI> { [ Redo		],	[ F12	]	};
200154daed1Smrg    key <PROP> { [ SunProps	],	[ F13	]	};
201154daed1Smrg    key <UNDO> { [ Undo		],	[ F14	]	};
202154daed1Smrg    key <FRNT> { [ SunFront	],	[ F15	]	};
203154daed1Smrg    key <COPY> { [ XF86Copy	],	[ F16	]	};
204154daed1Smrg    key <OPEN> { [ XF86Open	],	[ F17	]	};
205154daed1Smrg    key <PAST> { [ XF86Paste	],	[ F18	]	};
206154daed1Smrg    key <FIND> { [ Find		],	[ F19	]	};
207154daed1Smrg    key <CUT>  { [ XF86Cut	],	[ F20	]	};
208154daed1Smrg
209154daed1Smrg    key <MUTE> { [ XF86AudioMute,	SunVideoDegauss		]	};
210154daed1Smrg    key <VOL-> { [ XF86AudioLowerVolume,SunVideoLowerBrightness ]	};
211154daed1Smrg    key <VOL+> { [ XF86AudioRaiseVolume,SunVideoRaiseBrightness	]	};
212154daed1Smrg    key <POWR> { [ XF86Sleep,		XF86PowerDown	]	};
213154daed1Smrg};
214