solaris revision 154daed1
1//------------------------------------------------------------------------- 2// 3// Copyright 2005 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//------------------------------------------------------------------------- 31// 32// ident "@(#)solaris 1.7 05/11/08 SMI" 33// 34 35// Default map provides backwards compatibility with Sun keyboards from 36// long ago and the key mappings still used in Solaris Xsun today 37 38partial default 39xkb_symbols "defaults" { 40 41 // Left side keys were labeled L1-L10 on Sun Type 2 & Type 3 keyboards 42 // and the names have stuck (you can spot a longtime Sun admin when you 43 // hear them say to hit "L1-A" to enter the OpenBoot PROM) 44 // These names get mapped to the keysyms F11-F20 45 key <STOP> { [ L1, L1 ], [ SunStop ] }; 46 key <AGAI> { [ L2, L2 ], [ SunAgain ] }; 47 key <PROP> { [ L3, L3 ], [ SunProps ] }; 48 key <UNDO> { [ L4, L4 ], [ SunUndo ] }; 49 key <FRNT> { [ L5, L5 ], [ SunFront ] }; 50 key <COPY> { [ L6, L6 ], [ SunCopy ] }; 51 key <OPEN> { [ L7, L7 ], [ SunOpen ] }; 52 key <PAST> { [ L8, L8 ], [ SunPaste ] }; 53 key <FIND> { [ L9, L9 ], [ SunFind ] }; 54 key <CUT> { [ L10, L10 ], [ SunCut ] }; 55 56 // And on the right side, the function keys were labeled R1-R15, 57 // which get mapped to the keysyms F21-F35 58 // This includes the keys that became the numeric keypad 59 key <PAUS> { [ R1, R1 ], [ Pause ] }; 60 key <PRSC> { [ R2, R2 ], [ Print ] }; 61 key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] }; 62 63 key <KPEQ> { [ KP_Equal ], [ R4, KP_Equal ] }; 64 key <KPDV> { [ KP_Divide ], [ R5, KP_Divide ] }; 65 key <KPMU> { [ KP_Multiply ], [ R6, KP_Multiply ] }; 66 67 key <KP7> { [ KP_Home, KP_7, R7 ], [ R7, KP_7, Home ] }; 68 key <KP8> { [ KP_Up, KP_8, R8 ], [ R8, KP_8, Up ] }; 69 key <KP9> { [ KP_Prior, KP_9, R9 ], [ R9, KP_9, Prior ] }; 70 71 key <KP4> { [ KP_Left, KP_4, R10 ], [ R10, KP_4, Left ] }; 72 key <KP5> { [ KP_Begin, KP_5, R11 ], [ R11, KP_5 ] }; 73 key <KP6> { [ KP_Right, KP_6, R12 ], [ R12, KP_6, Right ] }; 74 75 key <KP1> { [ KP_End, KP_1, R13 ], [ R13, KP_1, End ] }; 76 key <KP2> { [ KP_Down, KP_2, R14 ], [ R14, KP_2, Down ] }; 77 key <KP3> { [ KP_Next, KP_3, R15 ], [ R15, KP_3, Next ] }; 78 79 // F11 & F12 are mapped to SunF36 and SunF37 since they were added 80 // after F11-F35 were already assigned on Sun keyboards 81 key <FK11> { [ SunF36 ], [ F11 ] }; 82 key <FK12> { [ SunF37 ], [ F12 ] }; 83 84 // These were added to the keyboard much later and simply got mapped 85 // to their logical names 86 key <HELP> { [ Help ] }; 87 key <MUTE> { [ SunAudioMute, SunVideoDegauss ] }; 88 key <VOL-> { [ SunAudioLowerVolume,SunVideoLowerBrightness ] }; 89 key <VOL+> { [ SunAudioRaiseVolume,SunVideoRaiseBrightness ] }; 90 key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] }; 91 92 key <LALT> { [ Alt_L ] }; 93 // key <RALT> { [ Mode_switch ] }; 94 // key <ALGR> { [ Mode_switch ] }; 95 key <LMTA> { [ Meta_L ] }; 96 key <RMTA> { [ Meta_R ] }; 97 key <COMP> { [ Multi_key ] }; 98 99 // begin modifier mappings 100 modifier_map Shift { Shift_R, Shift_L }; 101 modifier_map Mod1 { Alt_L }; 102 modifier_map Mod2 { Alt_R, Mode_switch }; 103 modifier_map Mod3 { Num_Lock }; 104 modifier_map Mod4 { Meta_L, Meta_R }; 105 106}; 107 108// Map the keys to the actual key names instead of the ancient Sun function 109// keys 110partial 111xkb_symbols "keynames" { 112 key <FK11> { [ F11 ], [ SunF36 ] }; 113 key <FK12> { [ F12 ], [ SunF37 ] }; 114 115 key <STOP> { [ Cancel ], [ F11 ] }; 116 key <AGAI> { [ Redo ], [ F12 ] }; 117 key <PROP> { [ SunProps ], [ F13 ] }; 118 key <UNDO> { [ Undo ], [ F14 ] }; 119 key <FRNT> { [ SunFront ], [ F15 ] }; 120 key <COPY> { [ SunCopy ], [ F16 ] }; 121 key <OPEN> { [ SunOpen ], [ F17 ] }; 122 key <PAST> { [ SunPaste ], [ F18 ] }; 123 key <FIND> { [ Find ], [ F19 ] }; 124 key <CUT> { [ SunCut ], [ F20 ] }; 125 126 key <HELP> { [ Help ] }; 127 128 key <PAUS> { [ Pause ] }; 129 key <PRSC> { [ Print ] }; 130 key <SCLK> { [ Scroll_Lock, Break ] }; 131 132 key <KP7> { [ KP_Home, KP_7 ] }; 133 key <KP8> { [ KP_Up, KP_8 ] }; 134 key <KP9> { [ KP_Prior, KP_9 ] }; 135 136 key <KP4> { [ KP_Left, KP_4 ] }; 137 key <KP5> { [ KP_Begin, KP_5 ] }; 138 key <KP6> { [ KP_Right, KP_6 ] }; 139 140 key <KP1> { [ KP_End, KP_1 ] }; 141 key <KP2> { [ KP_Down, KP_2 ] }; 142 key <KP3> { [ KP_Next, KP_3 ] }; 143 144 key <KPEN> { [ KP_Enter ] }; 145 key <KPEQ> { [ KP_Equal ] }; 146 147 key <MUTE> { [ SunAudioMute, SunVideoDegauss ] }; 148 key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] }; 149 key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] }; 150 key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] }; 151 152 key <LALT> { [ Alt_L ] }; 153 key <RALT> { [ Mode_switch ] }; 154 key <ALGR> { [ Mode_switch ] }; 155 key <LMTA> { [ Meta_L ] }; 156 key <RMTA> { [ Meta_R ] }; 157 key <COMP> { [ Multi_key ] }; 158 159}; 160 161// Map the keys to the XFree86 key names instead of the Sun key names 162partial 163xkb_symbols "xf86keynames" { 164 key <STOP> { [ XF86Stop ], [ F11 ] }; 165 key <AGAI> { [ Redo ], [ F12 ] }; 166 key <PROP> { [ SunProps ], [ F13 ] }; 167 key <UNDO> { [ Undo ], [ F14 ] }; 168 key <FRNT> { [ SunFront ], [ F15 ] }; 169 key <COPY> { [ XF86Copy ], [ F16 ] }; 170 key <OPEN> { [ XF86Open ], [ F17 ] }; 171 key <PAST> { [ XF86Paste ], [ F18 ] }; 172 key <FIND> { [ Find ], [ F19 ] }; 173 key <CUT> { [ XF86Cut ], [ F20 ] }; 174 175 key <MUTE> { [ XF86AudioMute, SunVideoDegauss ] }; 176 key <VOL-> { [ XF86AudioLowerVolume,SunVideoLowerBrightness ] }; 177 key <VOL+> { [ XF86AudioRaiseVolume,SunVideoRaiseBrightness ] }; 178 key <POWR> { [ XF86Sleep, XF86PowerDown ] }; 179}; 180