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