us revision 154daed1
1154daed1Smrg// $XdotOrg: $ 2154daed1Smrg// 3154daed1Smrg// Copyright 2004 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// $TOG: us /main/5 1998/02/10 13:45:06 kaleb $ 31154daed1Smrg// Sun: @(#)us 1.5 03/04/21 SMI 32154daed1Smrg// 33154daed1Smrg//Copyright 1996, 1998 The Open Group 34154daed1Smrg// 35154daed1Smrg//All Rights Reserved. 36154daed1Smrg// 37154daed1Smrg//The above copyright notice and this permission notice shall be 38154daed1Smrg//included in all copies or substantial portions of the Software. 39154daed1Smrg// 40154daed1Smrg//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 41154daed1Smrg//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 42154daed1Smrg//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 43154daed1Smrg//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR 44154daed1Smrg//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 45154daed1Smrg//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 46154daed1Smrg//OTHER DEALINGS IN THE SOFTWARE. 47154daed1Smrg// 48154daed1Smrg//Except as contained in this notice, the name of The Open Group shall 49154daed1Smrg//not be used in advertising or otherwise to promote the sale, use or 50154daed1Smrg//other dealings in this Software without prior written authorization 51154daed1Smrg//from The Open Group. 52154daed1Smrg// 53154daed1Smrg 54154daed1Smrg// Symbols shared by all Sun Keyboard layouts 55154daed1Smrghidden 56154daed1Smrgxkb_symbols "sunbasic" { 57154daed1Smrg include "srvr_ctrl(xfree86)" 58154daed1Smrg 59154daed1Smrg // Needed for left function keys and volume keys 60154daed1Smrg // Need to include this before us(basic) otherwise tilde is mapped to 61154daed1Smrg // a jp key 62154daed1Smrg include "inet(evdev)" 63154daed1Smrg 64154daed1Smrg include "us(basic)" 65154daed1Smrg include "pc(function)" 66154daed1Smrg include "pc(editing)" 67154daed1Smrg include "keypad(x11)" 68154daed1Smrg 69154daed1Smrg include "sun_vndr/us(left_funkeys)" 70154daed1Smrg 71154daed1Smrg include "capslock(capslock)" 72154daed1Smrg //include "capslock(shiftlock)" 73154daed1Smrg 74154daed1Smrg key <LFSH> { [ Shift_L ] }; 75154daed1Smrg key <RTSH> { [ Shift_R ] }; 76154daed1Smrg key <LALT> { [ Alt_L ] }; 77154daed1Smrg key <ALGR> { [ Mode_switch ] }; 78154daed1Smrg key <LMTA> { [ Meta_L ] }; 79154daed1Smrg key <RMTA> { [ Meta_R ] }; 80154daed1Smrg key <LCTL> { [ Control_L ] }; 81154daed1Smrg key <RCTL> { [ Control_R ] }; 82154daed1Smrg key <COMP> { [ Multi_key ] }; 83154daed1Smrg 84154daed1Smrg key <TAB> { [ Tab, ISO_Left_Tab ] }; 85154daed1Smrg key <RTRN> { [ Return ] }; 86154daed1Smrg 87154daed1Smrg key <ESC> { [ Escape ] }; 88154daed1Smrg 89154daed1Smrg key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; 90154daed1Smrg key <SPCE> { [ space ] }; 91154daed1Smrg 92154daed1Smrg // By default, we use the same symbols as other XKB implementations 93154daed1Smrg // for greater compatibility & AccessX MouseKeys support, but it is 94154daed1Smrg // different than the traditional Sun key mappings that date back to the 95154daed1Smrg // Sun Type 2 keyboard, in which the right side numpad were "R" function 96154daed1Smrg // keys. To restore the original behavior, uncomment the section below 97154daed1Smrg // that lists the R key mappings. 98154daed1Smrg// key <KP7> { [ R7, R7 ], [ KP_7, Home ] }; 99154daed1Smrg// key <KP8> { [ Up, R8 ], [ KP_8 ] }; 100154daed1Smrg// key <KP9> { [ R9, R9 ], [ KP_9, Prior ] }; 101154daed1Smrg// key <KPAD> { [ KP_Add ] }; 102154daed1Smrg// 103154daed1Smrg// key <KP4> { [ Left, R10 ], [ KP_4 ] }; 104154daed1Smrg// key <KP5> { [ R11, R11 ], [ KP_5 ] }; 105154daed1Smrg// key <KP6> { [ Right, R12 ], [ KP_6 ] }; 106154daed1Smrg// 107154daed1Smrg// key <KP1> { [ R13, R13 ], [ KP_1, End ] }; 108154daed1Smrg// key <KP2> { [ Down, R14 ], [ KP_2 ] }; 109154daed1Smrg// key <KP3> { [ R15, R15 ], [ KP_3, Next ] }; 110154daed1Smrg// key <KPEN> { [ KP_Enter ] }; 111154daed1Smrg// key <KP0> { [ KP_Insert, KP_Insert], [ KP_0 ] }; 112154daed1Smrg// key <KPDL> { [ Delete, Delete ], [ KP_Decimal ] }; 113154daed1Smrg 114154daed1Smrg // End "Keypad" section 115154daed1Smrg 116154daed1Smrg modifier_map Control { Control_L, Control_R }; 117154daed1Smrg modifier_map Shift { Shift_R, Shift_L }; 118154daed1Smrg modifier_map Mod1 { Meta_L, Meta_R }; 119154daed1Smrg modifier_map Mod2 { Mode_switch }; 120154daed1Smrg modifier_map Mod3 { Num_Lock }; 121154daed1Smrg modifier_map Mod4 { Alt_L }; 122154daed1Smrg}; 123154daed1Smrg 124154daed1Smrghidden 125154daed1Smrgxkb_symbols "left_funkeys" { 126154daed1Smrg // Suppliment to inet(evdev) for added functionality of left-funkeys 127154daed1Smrg key <STOP> { [ NoSymbol ], [ L1, L1 ] }; 128154daed1Smrg key <AGAI> { [ NoSymbol ], [ L2, L2 ] }; 129154daed1Smrg key <PROP> { [ NoSymbol ], [ L3, L3 ] }; 130154daed1Smrg key <UNDO> { [ NoSymbol ], [ L4, L4 ] }; 131154daed1Smrg key <FRNT> { [ NoSymbol ], [ L5, L5 ] }; 132154daed1Smrg key <COPY> { [ NoSymbol ], [ L6, L6 ] }; 133154daed1Smrg key <OPEN> { [ NoSymbol ], [ L7, L7 ] }; 134154daed1Smrg key <PAST> { [ NoSymbol ], [ L8, L8 ] }; 135154daed1Smrg key <FIND> { [ NoSymbol ], [ L9, L9 ] }; 136154daed1Smrg key <CUT> { [ NoSymbol ], [ L10, L10 ] }; 137154daed1Smrg 138154daed1Smrg // The above symbols were chosen for better compatibility withother xkb 139154daed1Smrg // mappings. The old mappings are kepy below in case someone needs them 140154daed1Smrg //key <STOP> { [ L1, L1 ], [ SunStop ] }; 141154daed1Smrg //key <AGAI> { [ L2, L2 ], [ SunAgain ] }; 142154daed1Smrg //key <PROP> { [ L3, L3 ], [ SunProps ] }; 143154daed1Smrg //key <UNDO> { [ L4, L4 ], [ SunUndo ] }; 144154daed1Smrg //key <FRNT> { [ L5, L5 ], [ SunFront ] }; 145154daed1Smrg //key <COPY> { [ L6, L6 ], [ SunCopy ] }; 146154daed1Smrg //key <OPEN> { [ L7, L7 ], [ SunOpen ] }; 147154daed1Smrg //key <PAST> { [ L8, L8 ], [ SunPaste ] }; 148154daed1Smrg //key <FIND> { [ L9, L9 ], [ SunFind ] }; 149154daed1Smrg //key <CUT> { [ L10, L10 ], [ SunCut ] }; 150154daed1Smrg}; 151154daed1Smrg 152154daed1Smrghidden 153154daed1Smrgxkb_symbols "volumekeys" { 154154daed1Smrg // Suppliment to inet(evdev) for added functionality of audio keys 155154daed1Smrg key <MUTE> { [ NoSymbol, SunVideoDegauss ] }; 156154daed1Smrg key <VOL-> { [ NoSymbol, XF86MonBrightnessDown ] }; 157154daed1Smrg key <VOL+> { [ NoSymbol, XF86MonBrightnessUp ] }; 158154daed1Smrg 159154daed1Smrg // The above symbols were chosen for better compatibility withother xkb 160154daed1Smrg // mappings. The old mappings are kepy below in case someone needs them 161154daed1Smrg //key <MUTE> { [ SunAudioMute, SunVideoDegauss ] }; 162154daed1Smrg //key <VOL-> { [ SunAudioLowerVolume, SunVideoLowerBrightness ] }; 163154daed1Smrg //key <VOL+> { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] }; 164154daed1Smrg //key <POWR> { [ SunPowerSwitch, SunPowerSwitchShift ] }; 165154daed1Smrg}; 166154daed1Smrg 167154daed1Smrg// US/ASCII layout for a Type 4 Sun keyboard 168154daed1Smrgxkb_symbols "type4basic" { 169154daed1Smrg include "sun_vndr/us(sunbasic)" 170154daed1Smrg 171154daed1Smrg // A few alphanumeric keys are different 172154daed1Smrg key <AE04> { [ 4, dollar ], [ EuroSign ] }; 173154daed1Smrg key <AE05> { [ 5, percent ], [ EuroSign ] }; 174154daed1Smrg key <AD03> { [ e, E ], [ EuroSign ] }; 175154daed1Smrg 176154daed1Smrg key <LNFD> { [ Linefeed ] }; 177154daed1Smrg 178154daed1Smrg // Begin "Editing" section 179154daed1Smrg key <PRSC> { [ R2, R2 ], [ Print ] }; 180154daed1Smrg key <SCLK> { [ R3, R3 ], [ Scroll_Lock, Break ] }; 181154daed1Smrg key <PAUS> { [ R1, R1 ], [ Pause ] }; 182154daed1Smrg 183154daed1Smrg // End "Editing" section, begin "Keypad" 184154daed1Smrg key <KPEQ> { [ R4, KP_Equal ], [ KP_Equal ] }; 185154daed1Smrg}; 186154daed1Smrg 187154daed1Smrgxkb_symbols "type4" { 188154daed1Smrg include "sun_vndr/us(type4basic)" 189154daed1Smrg 190154daed1Smrg key <BKSL> { [ backslash, bar ], [ brokenbar ] }; 191154daed1Smrg}; 192154daed1Smrg 193154daed1Smrg// US/ASCII layout for a Type 5 Sun keyboard 194154daed1Smrgxkb_symbols "type5basic" { 195154daed1Smrg include "sun_vndr/us(sunbasic)" 196154daed1Smrg include "sun_vndr/us(volumekeys)" 197154daed1Smrg 198154daed1Smrg // Begin "Editing" section 199154daed1Smrg key <PRSC> { [ R2, R2 ], [ Print, SunSys_Req ] }; 200154daed1Smrg key <SCLK> { [ R3, R3 ], [ Scroll_Lock ] }; 201154daed1Smrg key <PAUS> { [ R1, R1 ], [ Pause, Break ] }; 202154daed1Smrg // End "Editing" section 203154daed1Smrg}; 204154daed1Smrg 205154daed1Smrgxkb_symbols "type5" { 206154daed1Smrg include "sun_vndr/us(type5basic)" 207154daed1Smrg 208154daed1Smrg // A few alphanumeric keys are different 209154daed1Smrg key <AE04> { [ 4, dollar ], [ EuroSign ] }; 210154daed1Smrg key <AE05> { [ 5, percent ], [ EuroSign ] }; 211154daed1Smrg key <AD03> { [ e, E ], [ EuroSign ] }; 212154daed1Smrg key <BKSL> { [ backslash, bar ], [ brokenbar ] }; 213154daed1Smrg}; 214154daed1Smrg 215154daed1Smrg// US/ASCII layout for a Type 5 Sun keyboard 216154daed1Smrgxkb_symbols "type5hobobasic" { 217154daed1Smrg include "sun_vndr/us(type5basic)" 218154daed1Smrg}; 219154daed1Smrg 220154daed1Smrgxkb_symbols "type5hobo" { 221154daed1Smrg include "sun_vndr/us(type5hobobasic)" 222154daed1Smrg 223154daed1Smrg // A few alphanumeric keys are different 224154daed1Smrg key <AE04> { [ 4, dollar ], [ EuroSign ] }; 225154daed1Smrg key <AE05> { [ 5, percent ], [ EuroSign ] }; 226154daed1Smrg key <AD03> { [ e, E ], [ EuroSign ] }; 227154daed1Smrg key <BKSL> { [ backslash, bar ], [ brokenbar ] }; 228154daed1Smrg 229154daed1Smrg // Here is the hobo keypad: 230154daed1Smrg 231154daed1Smrg key <AE07> { [ 7, ampersand ], [ NoSymbol, NoSymbol ], [ KP_7 ] }; 232154daed1Smrg key <AE08> { [ 8, asterisk ], [ NoSymbol, NoSymbol ], [ KP_8 ] }; 233154daed1Smrg key <AE09> { [ 9, parenleft ], [ NoSymbol, NoSymbol ], [ KP_9 ] }; 234154daed1Smrg key <AE10> { [ 0, parenright], [ NoSymbol, NoSymbol ], [ KP_Multiply] }; 235154daed1Smrg 236154daed1Smrg key <AD07> { [ u, U ], [ NoSymbol, NoSymbol ], [ KP_4 ] }; 237154daed1Smrg key <AD08> { [ i, I ], [ NoSymbol, NoSymbol ], [ KP_5 ] }; 238154daed1Smrg key <AD09> { [ o, O ], [ NoSymbol, NoSymbol ], [ KP_6 ] }; 239154daed1Smrg key <AD10> { [ p, P ], [ NoSymbol, NoSymbol ], [ KP_Subtract]}; 240154daed1Smrg 241154daed1Smrg key <AC07> { [ j, J ], [ NoSymbol, NoSymbol ], [ KP_1 ] }; 242154daed1Smrg key <AC08> { [ k, K ], [ NoSymbol, NoSymbol ], [ KP_2 ] }; 243154daed1Smrg key <AC09> { [ l, L ], [ NoSymbol, NoSymbol ], [ KP_3 ] }; 244154daed1Smrg key <AC10> { [ semicolon, colon], [ NoSymbol, NoSymbol], [ KP_Add ] }; 245154daed1Smrg 246154daed1Smrg key <RTRN> { [ Return ], [ NoSymbol, NoSymbol], [ KP_Enter ] }; 247154daed1Smrg 248154daed1Smrg key <AB07> { [ m, M ], [ NoSymbol, NoSymbol ], [ KP_0 ] }; 249154daed1Smrg 250154daed1Smrg key <AB09> { [ period, greater], [ NoSymbol, NoSymbol], [ KP_Decimal] }; 251154daed1Smrg key <AB10> { [ slash, question], [ NoSymbol, NoSymbol], [ KP_Divide ] }; 252154daed1Smrg}; 253154daed1Smrg 254154daed1Smrgxkb_symbols "type6" { 255154daed1Smrg include "sun_vndr/us(sunbasic)" 256154daed1Smrg include "sun_vndr/us(volumekeys)" 257154daed1Smrg include "eurosign(4)" 258154daed1Smrg 259154daed1Smrg key <SYRQ> { [ SunSys_Req ]}; 260154daed1Smrg}; 261154daed1Smrg 262154daed1Smrgxkb_symbols "pc101" { 263154daed1Smrg include "us(pc101)" 264154daed1Smrg key <RALT> { [ Mode_switch, Meta_R ] }; 265154daed1Smrg}; 266154daed1Smrg 267154daed1Smrgxkb_symbols "pc102" { 268154daed1Smrg include "us(pc102)" 269154daed1Smrg key <RALT> { [ Mode_switch, Meta_R ] }; 270154daed1Smrg}; 271154daed1Smrg 272154daed1Smrgxkb_symbols "pc104" { 273154daed1Smrg include "us(pc104)" 274154daed1Smrg}; 275154daed1Smrg 276154daed1Smrgxkb_symbols "pc101currency" { 277154daed1Smrg 278154daed1Smrg key <AE04> { [ 4, dollar ], [ EuroSign ] }; 279154daed1Smrg key <AE05> { [ 5, percent ], [ EuroSign ] }; 280154daed1Smrg key <AD03> { [ e, E ], [ EuroSign ] }; 281154daed1Smrg key <BKSL> { [ backslash, bar ], [ brokenbar ]}; 282154daed1Smrg}; 283154daed1Smrg 284154daed1Smrgxkb_symbols "US101A_Sun" { 285154daed1Smrg 286154daed1Smrg key <AE04> { [ 4, dollar ], [ EuroSign ] }; 287154daed1Smrg key <AE05> { [ 5, percent ], [ EuroSign ] }; 288154daed1Smrg key <AD03> { [ e, E ], [ EuroSign ] }; 289154daed1Smrg key <BKSL> { [ backslash, bar ], [ brokenbar ]}; 290154daed1Smrg 291154daed1Smrg // Begin "Editing" section 292154daed1Smrg key <PRSC> { [ L5, L5 ], [ Print, SunSys_Req ]}; 293154daed1Smrg key <SCLK> { [ L7, L7 ], [ Scroll_Lock ]}; 294154daed1Smrg key <PAUS> { [ L1, L1 ], [ Pause, Break ]}; 295154daed1Smrg key <INS> { [ L8, L8 ], [ Insert ]}; 296154daed1Smrg key <HOME> { [ L6, L6 ], [ Home ]}; 297154daed1Smrg key <PGUP> { [ L3, L3 ], [ Prior ]}; 298154daed1Smrg 299154daed1Smrg 300154daed1Smrg key <DELE> { [ L10, L10 ], [ Delete ]}; 301154daed1Smrg key <END> { [ L9, L9 ], [ End ]}; 302154daed1Smrg key <PGDN> { [ L4, L4 ], [ Next ]}; 303154daed1Smrg 304154daed1Smrg key <UP> { [ Up ] }; 305154daed1Smrg key <LEFT> { [ Left ] }; 306154daed1Smrg key <DOWN> { [ Down ] }; 307154daed1Smrg key <RGHT> { [ Right ] }; 308154daed1Smrg 309154daed1Smrg key <KPDV> { [ R5, R5 ], [ KP_Divide ] }; 310154daed1Smrg key <KPMU> { [ R6, R6 ], [ KP_Multiply ] }; 311154daed1Smrg 312154daed1Smrg key <KP7> { [ R7, KP_7 ], [ KP_7, Home ] }; 313154daed1Smrg key <KP8> { [ KP_Up, KP_8 ], [ KP_8 ] }; 314154daed1Smrg key <KP9> { [ R9, KP_9 ], [ KP_9, Prior ] }; 315154daed1Smrg key <KPAD> { [ KP_Add ] }; 316154daed1Smrg 317154daed1Smrg key <KP4> { [ KP_Left, KP_4 ], [ KP_4 ] }; 318154daed1Smrg key <KP5> { [ R11, KP_5 ], [ KP_5 ] }; 319154daed1Smrg key <KP6> { [ KP_Right, KP_6 ], [ KP_6 ] }; 320154daed1Smrg 321154daed1Smrg key <KP1> { [ R13, KP_1 ], [ KP_1, End ] }; 322154daed1Smrg key <KP2> { [ KP_Down, KP_2 ], [ KP_2 ] }; 323154daed1Smrg key <KP3> { [ R15, KP_3 ], [ KP_3, Next ] }; 324154daed1Smrg key <KPEN> { [ KP_Enter ] }; 325154daed1Smrg 326154daed1Smrg key <LALT> { [ Meta_L ] }; 327154daed1Smrg key <RALT> { [ Alt_L ] }; 328154daed1Smrg key <RCTL> { [ Multi_key ] }; 329154daed1Smrg}; 330154daed1Smrg 331