Home | History | Annotate | Line # | Download | only in sun_vndr
us revision 1.1
      1  1.1  mrg // $XdotOrg: $
      2  1.1  mrg //
      3  1.1  mrg // Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
      4  1.1  mrg //
      5  1.1  mrg // Permission is hereby granted, free of charge, to any person obtaining a
      6  1.1  mrg // copy of this software and associated documentation files (the
      7  1.1  mrg // "Software"), to deal in the Software without restriction, including
      8  1.1  mrg // without limitation the rights to use, copy, modify, merge, publish,
      9  1.1  mrg // distribute, and/or sell copies of the Software, and to permit persons
     10  1.1  mrg // to whom the Software is furnished to do so, provided that the above
     11  1.1  mrg // copyright notice(s) and this permission notice appear in all copies of
     12  1.1  mrg // the Software and that both the above copyright notice(s) and this
     13  1.1  mrg // permission notice appear in supporting documentation.
     14  1.1  mrg // 
     15  1.1  mrg // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     16  1.1  mrg // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     17  1.1  mrg // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
     18  1.1  mrg // OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
     19  1.1  mrg // HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
     20  1.1  mrg // INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
     21  1.1  mrg // FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
     22  1.1  mrg // NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
     23  1.1  mrg // WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     24  1.1  mrg // 
     25  1.1  mrg // Except as contained in this notice, the name of a copyright holder
     26  1.1  mrg // shall not be used in advertising or otherwise to promote the sale, use
     27  1.1  mrg // or other dealings in this Software without prior written authorization
     28  1.1  mrg // of the copyright holder.
     29  1.1  mrg //
     30  1.1  mrg // $TOG: us /main/5 1998/02/10 13:45:06 kaleb $
     31  1.1  mrg // Sun: @(#)us	1.5	03/04/21 SMI
     32  1.1  mrg //
     33  1.1  mrg //Copyright 1996, 1998  The Open Group
     34  1.1  mrg //
     35  1.1  mrg //All Rights Reserved.
     36  1.1  mrg //
     37  1.1  mrg //The above copyright notice and this permission notice shall be
     38  1.1  mrg //included in all copies or substantial portions of the Software.
     39  1.1  mrg //
     40  1.1  mrg //THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     41  1.1  mrg //EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     42  1.1  mrg //MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     43  1.1  mrg //IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
     44  1.1  mrg //OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     45  1.1  mrg //ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     46  1.1  mrg //OTHER DEALINGS IN THE SOFTWARE.
     47  1.1  mrg //
     48  1.1  mrg //Except as contained in this notice, the name of The Open Group shall
     49  1.1  mrg //not be used in advertising or otherwise to promote the sale, use or
     50  1.1  mrg //other dealings in this Software without prior written authorization
     51  1.1  mrg //from The Open Group.
     52  1.1  mrg //
     53  1.1  mrg 
     54  1.1  mrg // Symbols shared by all Sun Keyboard layouts
     55  1.1  mrg hidden
     56  1.1  mrg xkb_symbols "sunbasic" {
     57  1.1  mrg     include "srvr_ctrl(xfree86)"
     58  1.1  mrg 
     59  1.1  mrg     // Needed for left function keys and volume keys
     60  1.1  mrg     // Need to include this before us(basic) otherwise tilde is mapped to 
     61  1.1  mrg     // a jp key
     62  1.1  mrg     include "inet(evdev)"
     63  1.1  mrg 
     64  1.1  mrg     include "us(basic)"
     65  1.1  mrg     include "pc(function)"
     66  1.1  mrg     include "pc(editing)"
     67  1.1  mrg     include "keypad(x11)"
     68  1.1  mrg 
     69  1.1  mrg     include "sun_vndr/us(left_funkeys)"
     70  1.1  mrg 
     71  1.1  mrg     include "capslock(capslock)"
     72  1.1  mrg     //include "capslock(shiftlock)"
     73  1.1  mrg 
     74  1.1  mrg     key <LFSH> { [ Shift_L		]			};
     75  1.1  mrg     key <RTSH> { [ Shift_R		]			};
     76  1.1  mrg     key <LALT> { [ Alt_L		]			};
     77  1.1  mrg     key <ALGR> { [ Mode_switch		]			};
     78  1.1  mrg     key <LMTA> { [ Meta_L		]			};
     79  1.1  mrg     key <RMTA> { [ Meta_R		]			};
     80  1.1  mrg     key <LCTL> { [ Control_L		]			};
     81  1.1  mrg     key <RCTL> { [ Control_R		]			};
     82  1.1  mrg     key <COMP> { [ Multi_key		]			};
     83  1.1  mrg 
     84  1.1  mrg     key  <TAB> { [ Tab,  ISO_Left_Tab	]			};
     85  1.1  mrg     key <RTRN> { [ Return		]			};
     86  1.1  mrg 
     87  1.1  mrg     key <ESC>  { [ Escape		]			}; 
     88  1.1  mrg 
     89  1.1  mrg     key <NMLK> { [ Num_Lock, Pointer_EnableKeys	] };
     90  1.1  mrg     key <SPCE> { [ space                        ] };
     91  1.1  mrg 
     92  1.1  mrg     // By default, we use the same symbols as other XKB implementations
     93  1.1  mrg     // for greater compatibility & AccessX MouseKeys support, but it is 
     94  1.1  mrg     // different than the traditional Sun key mappings that date back to the
     95  1.1  mrg     // Sun Type 2 keyboard, in which the right side numpad were "R" function
     96  1.1  mrg     // keys.  To restore the original behavior, uncomment the section below 
     97  1.1  mrg     // that lists the R key mappings.
     98  1.1  mrg //    key  <KP7> { [ R7,	R7		], [ KP_7, Home		] };
     99  1.1  mrg //    key  <KP8> { [ Up, R8               ], [ KP_8               ] };
    100  1.1  mrg //    key  <KP9> { [ R9,	R9		], [ KP_9, Prior	] };
    101  1.1  mrg //    key <KPAD> { [ KP_Add		]			};
    102  1.1  mrg //
    103  1.1  mrg //    key  <KP4> { [ Left, R10		], [ KP_4		] };
    104  1.1  mrg //    key  <KP5> { [ R11,	R11		], [ KP_5		] };
    105  1.1  mrg //    key  <KP6> { [ Right, R12		], [ KP_6		] };
    106  1.1  mrg //
    107  1.1  mrg //    key  <KP1> { [ R13,	R13		], [ KP_1,	End	] };
    108  1.1  mrg //    key  <KP2> { [ Down, R14		], [ KP_2		] };
    109  1.1  mrg //    key  <KP3> { [ R15,	R15		], [ KP_3,	Next	] };
    110  1.1  mrg //    key <KPEN> { [ KP_Enter		]			}; 
    111  1.1  mrg //    key  <KP0> { [ KP_Insert, KP_Insert], [ KP_0		]	};
    112  1.1  mrg //    key <KPDL> { [ Delete, Delete	], [ KP_Decimal ]	};
    113  1.1  mrg 
    114  1.1  mrg       // End "Keypad" section
    115  1.1  mrg 
    116  1.1  mrg     modifier_map Control { Control_L, Control_R };
    117  1.1  mrg     modifier_map Shift   { Shift_R, Shift_L };
    118  1.1  mrg     modifier_map Mod1    { Meta_L, Meta_R };
    119  1.1  mrg     modifier_map Mod2    { Mode_switch };
    120  1.1  mrg     modifier_map Mod3    { Num_Lock };
    121  1.1  mrg     modifier_map Mod4    { Alt_L };
    122  1.1  mrg };
    123  1.1  mrg 
    124  1.1  mrg hidden
    125  1.1  mrg xkb_symbols "left_funkeys" {
    126  1.1  mrg     // Suppliment to inet(evdev) for added functionality of left-funkeys
    127  1.1  mrg     key <STOP> { [ NoSymbol ],      [ L1, L1   ]       };
    128  1.1  mrg     key <AGAI> { [ NoSymbol ],      [ L2, L2   ]       };
    129  1.1  mrg     key <PROP> { [ NoSymbol ],      [ L3, L3   ]       };
    130  1.1  mrg     key <UNDO> { [ NoSymbol ],      [ L4, L4   ]       };
    131  1.1  mrg     key <FRNT> { [ NoSymbol ],      [ L5, L5   ]       };
    132  1.1  mrg     key <COPY> { [ NoSymbol ],      [ L6, L6   ]       };
    133  1.1  mrg     key <OPEN> { [ NoSymbol ],      [ L7, L7   ]       };
    134  1.1  mrg     key <PAST> { [ NoSymbol ],      [ L8, L8   ]       };
    135  1.1  mrg     key <FIND> { [ NoSymbol ],      [ L9, L9   ]       };
    136  1.1  mrg     key <CUT>  { [ NoSymbol ],      [ L10, L10 ]       };
    137  1.1  mrg 
    138  1.1  mrg     // The above symbols were chosen for better compatibility withother xkb
    139  1.1  mrg     // mappings.  The old mappings are kepy below in case someone needs them
    140  1.1  mrg     //key <STOP> { [ L1,	L1		], [ SunStop	]	};
    141  1.1  mrg     //key <AGAI> { [ L2,	L2		], [ SunAgain	]	};
    142  1.1  mrg     //key <PROP> { [ L3,	L3		], [ SunProps	]	};
    143  1.1  mrg     //key <UNDO> { [ L4,	L4		], [ SunUndo	]	};
    144  1.1  mrg     //key <FRNT> { [ L5,	L5		], [ SunFront	]	};
    145  1.1  mrg     //key <COPY> { [ L6,	L6		], [ SunCopy	]	};
    146  1.1  mrg     //key <OPEN> { [ L7,	L7		], [ SunOpen	]	};
    147  1.1  mrg     //key <PAST> { [ L8,	L8		], [ SunPaste	]	};
    148  1.1  mrg     //key <FIND> { [ L9,	L9		], [ SunFind	]	};
    149  1.1  mrg     //key <CUT>  { [ L10,	L10		], [ SunCut	]	};
    150  1.1  mrg };
    151  1.1  mrg 
    152  1.1  mrg hidden
    153  1.1  mrg xkb_symbols "volumekeys" {
    154  1.1  mrg     // Suppliment to inet(evdev) for added functionality of audio keys
    155  1.1  mrg     key <MUTE> { [ NoSymbol,	SunVideoDegauss		]	};
    156  1.1  mrg     key <VOL-> { [ NoSymbol,	XF86MonBrightnessDown   ]	};
    157  1.1  mrg     key <VOL+> { [ NoSymbol,	XF86MonBrightnessUp	]	};
    158  1.1  mrg 
    159  1.1  mrg     // The above symbols were chosen for better compatibility withother xkb
    160  1.1  mrg     // mappings.  The old mappings are kepy below in case someone needs them
    161  1.1  mrg     //key <MUTE> { [ SunAudioMute,	SunVideoDegauss		]	};
    162  1.1  mrg     //key <VOL-> { [ SunAudioLowerVolume,	SunVideoLowerBrightness ]	};
    163  1.1  mrg     //key <VOL+> { [ SunAudioRaiseVolume,	SunVideoRaiseBrightness	]	};
    164  1.1  mrg     //key <POWR> { [ SunPowerSwitch,	SunPowerSwitchShift	]	};
    165  1.1  mrg };
    166  1.1  mrg 
    167  1.1  mrg // US/ASCII layout for a Type 4 Sun keyboard
    168  1.1  mrg xkb_symbols "type4basic" {
    169  1.1  mrg     include "sun_vndr/us(sunbasic)"
    170  1.1  mrg 
    171  1.1  mrg     // A few alphanumeric keys are different
    172  1.1  mrg     key <AE04> { [ 4, dollar		], [ EuroSign	]	};
    173  1.1  mrg     key <AE05> { [ 5, percent		], [ EuroSign	]	};
    174  1.1  mrg     key <AD03> { [ e, E			], [ EuroSign	]	};
    175  1.1  mrg 
    176  1.1  mrg     key <LNFD> { [ Linefeed		]			};
    177  1.1  mrg 
    178  1.1  mrg     // Begin "Editing" section
    179  1.1  mrg     key <PRSC> { [ R2,	R2		], [ Print		] };
    180  1.1  mrg     key <SCLK> { [ R3,	R3		], [ Scroll_Lock, Break	] };
    181  1.1  mrg     key <PAUS> { [ R1,	R1		], [ Pause		] };
    182  1.1  mrg 
    183  1.1  mrg     // End "Editing" section, begin "Keypad"
    184  1.1  mrg     key <KPEQ> { [ R4,	KP_Equal	], [ KP_Equal		] };
    185  1.1  mrg };
    186  1.1  mrg 
    187  1.1  mrg xkb_symbols "type4" {
    188  1.1  mrg     include "sun_vndr/us(type4basic)"
    189  1.1  mrg 
    190  1.1  mrg     key <BKSL> { [ backslash, bar	], [ brokenbar	]	};
    191  1.1  mrg };
    192  1.1  mrg 
    193  1.1  mrg // US/ASCII layout for a Type 5 Sun keyboard
    194  1.1  mrg xkb_symbols "type5basic" {
    195  1.1  mrg     include "sun_vndr/us(sunbasic)"
    196  1.1  mrg     include "sun_vndr/us(volumekeys)"
    197  1.1  mrg 
    198  1.1  mrg     // Begin "Editing" section
    199  1.1  mrg     key <PRSC> { [ R2, R2 		], [ Print, SunSys_Req	]	};
    200  1.1  mrg     key <SCLK> { [ R3, R3		], [ Scroll_Lock	]	};
    201  1.1  mrg     key <PAUS> { [ R1, R1		], [ Pause, Break	]	};
    202  1.1  mrg     // End "Editing" section
    203  1.1  mrg };
    204  1.1  mrg 
    205  1.1  mrg xkb_symbols "type5" {
    206  1.1  mrg     include "sun_vndr/us(type5basic)"
    207  1.1  mrg 
    208  1.1  mrg     // A few alphanumeric keys are different
    209  1.1  mrg     key <AE04> { [ 4, dollar		], [ EuroSign	]	};
    210  1.1  mrg     key <AE05> { [ 5, percent		], [ EuroSign	]	};
    211  1.1  mrg     key <AD03> { [ e, E			], [ EuroSign	]	};
    212  1.1  mrg     key <BKSL> { [ backslash, bar	], [ brokenbar	]	};
    213  1.1  mrg };
    214  1.1  mrg 
    215  1.1  mrg // US/ASCII layout for a Type 5 Sun keyboard
    216  1.1  mrg xkb_symbols "type5hobobasic" {
    217  1.1  mrg     include "sun_vndr/us(type5basic)"
    218  1.1  mrg };
    219  1.1  mrg 
    220  1.1  mrg xkb_symbols "type5hobo" {
    221  1.1  mrg     include "sun_vndr/us(type5hobobasic)"
    222  1.1  mrg 
    223  1.1  mrg     // A few alphanumeric keys are different
    224  1.1  mrg     key <AE04> { [ 4, dollar		], [ EuroSign 	]	};
    225  1.1  mrg     key <AE05> { [ 5, percent		], [ EuroSign	]	};
    226  1.1  mrg     key <AD03> { [ e, E			], [ EuroSign	]	};
    227  1.1  mrg     key <BKSL> { [ backslash, bar	], [ brokenbar	]	};
    228  1.1  mrg 
    229  1.1  mrg     // Here is the hobo keypad:
    230  1.1  mrg 
    231  1.1  mrg     key <AE07> { [ 7, ampersand	], [ NoSymbol, NoSymbol	], [ KP_7	] };
    232  1.1  mrg     key <AE08> { [ 8, asterisk	], [ NoSymbol, NoSymbol	], [ KP_8	] };
    233  1.1  mrg     key <AE09> { [ 9, parenleft	], [ NoSymbol, NoSymbol	], [ KP_9	] };
    234  1.1  mrg     key <AE10> { [ 0, parenright], [ NoSymbol, NoSymbol	], [ KP_Multiply] };
    235  1.1  mrg 
    236  1.1  mrg     key <AD07> { [ u, U		], [ NoSymbol, NoSymbol	], [ KP_4	] };
    237  1.1  mrg     key <AD08> { [ i, I		], [ NoSymbol, NoSymbol	], [ KP_5	] };
    238  1.1  mrg     key <AD09> { [ o, O		], [ NoSymbol, NoSymbol	], [ KP_6	] };
    239  1.1  mrg     key <AD10> { [ p, P		], [ NoSymbol, NoSymbol	], [ KP_Subtract]};
    240  1.1  mrg 
    241  1.1  mrg     key <AC07> { [ j, J		], [ NoSymbol, NoSymbol	], [ KP_1	] };
    242  1.1  mrg     key <AC08> { [ k, K		], [ NoSymbol, NoSymbol	], [ KP_2	] };
    243  1.1  mrg     key <AC09> { [ l, L		], [ NoSymbol, NoSymbol	], [ KP_3	] };
    244  1.1  mrg     key <AC10> { [ semicolon, colon], [ NoSymbol, NoSymbol], [ KP_Add	] };
    245  1.1  mrg 
    246  1.1  mrg     key <RTRN> { [ Return	], [ NoSymbol, NoSymbol], [ KP_Enter	] };
    247  1.1  mrg 
    248  1.1  mrg     key <AB07> { [ m, M		], [ NoSymbol, NoSymbol	], [ KP_0	] };
    249  1.1  mrg 
    250  1.1  mrg     key <AB09> { [ period, greater], [ NoSymbol, NoSymbol], [ KP_Decimal] };
    251  1.1  mrg     key <AB10> { [ slash, question], [ NoSymbol, NoSymbol], [ KP_Divide	] };
    252  1.1  mrg };
    253  1.1  mrg 
    254  1.1  mrg xkb_symbols "type6" {
    255  1.1  mrg     include "sun_vndr/us(sunbasic)"
    256  1.1  mrg     include "sun_vndr/us(volumekeys)"
    257  1.1  mrg     include "eurosign(4)"
    258  1.1  mrg 
    259  1.1  mrg     key <SYRQ> { [ SunSys_Req 			]};
    260  1.1  mrg };
    261  1.1  mrg 
    262  1.1  mrg xkb_symbols "pc101" {
    263  1.1  mrg     include "us(pc101)"
    264  1.1  mrg     key <RALT> { [ Mode_switch, Meta_R	] };
    265  1.1  mrg };
    266  1.1  mrg 
    267  1.1  mrg xkb_symbols "pc102" {
    268  1.1  mrg     include "us(pc102)"
    269  1.1  mrg     key <RALT> { [ Mode_switch, Meta_R	] };
    270  1.1  mrg };
    271  1.1  mrg 
    272  1.1  mrg xkb_symbols "pc104" {
    273  1.1  mrg     include "us(pc104)"
    274  1.1  mrg };
    275  1.1  mrg 
    276  1.1  mrg xkb_symbols "pc101currency" {
    277  1.1  mrg 
    278  1.1  mrg     key <AE04> { [ 4, dollar		], [ EuroSign	]	};
    279  1.1  mrg     key <AE05> { [ 5, percent		], [ EuroSign	]	};
    280  1.1  mrg     key <AD03> { [ e, E			], [ EuroSign	]	};
    281  1.1  mrg     key <BKSL> { [ backslash, bar	], [ brokenbar			]};
    282  1.1  mrg };
    283  1.1  mrg 
    284  1.1  mrg xkb_symbols "US101A_Sun" {
    285  1.1  mrg 
    286  1.1  mrg     key <AE04> { [ 4, dollar		], [ EuroSign	]	};
    287  1.1  mrg     key <AE05> { [ 5, percent		], [ EuroSign	]	};
    288  1.1  mrg     key <AD03> { [ e, E			], [ EuroSign	]	};
    289  1.1  mrg     key <BKSL> { [ backslash, bar	], [ brokenbar			]};
    290  1.1  mrg 
    291  1.1  mrg     // Begin "Editing" section
    292  1.1  mrg     key <PRSC> { [ L5, L5		], [ Print, SunSys_Req 		]};
    293  1.1  mrg     key <SCLK> { [ L7, L7		], [  Scroll_Lock		]};
    294  1.1  mrg     key <PAUS> { [ L1, L1		], [ Pause, Break 		]};
    295  1.1  mrg     key  <INS> { [ L8, L8		], [  Insert			]};
    296  1.1  mrg     key <HOME> { [ L6, L6		], [  Home			]};
    297  1.1  mrg     key <PGUP> { [ L3, L3		], [  Prior			]};
    298  1.1  mrg 
    299  1.1  mrg 
    300  1.1  mrg     key <DELE> { [ L10, L10		], [ Delete			]};
    301  1.1  mrg     key  <END> { [ L9, L9		], [  End			]};
    302  1.1  mrg     key <PGDN> { [ L4, L4		], [  Next			]};
    303  1.1  mrg 
    304  1.1  mrg     key   <UP> {	[  Up			]	};
    305  1.1  mrg     key <LEFT> {	[  Left			]	};
    306  1.1  mrg     key <DOWN> {	[  Down			]	};
    307  1.1  mrg     key <RGHT> {	[  Right		]	};
    308  1.1  mrg 
    309  1.1  mrg     key <KPDV> { [ R5, R5		], [ KP_Divide	]	};
    310  1.1  mrg     key <KPMU> { [ R6, R6		], [ KP_Multiply	]	};
    311  1.1  mrg 
    312  1.1  mrg     key  <KP7> { [ R7, KP_7		], [ KP_7, Home		]	};
    313  1.1  mrg     key  <KP8> { [ KP_Up, KP_8		], [ KP_8		]	};
    314  1.1  mrg     key  <KP9> { [ R9, KP_9		], [ KP_9, Prior	]	};
    315  1.1  mrg     key <KPAD> { [ KP_Add		]				};
    316  1.1  mrg 
    317  1.1  mrg     key  <KP4> { [ KP_Left, KP_4	], [ KP_4		]	};
    318  1.1  mrg     key  <KP5> { [ R11,	KP_5		], [ KP_5		]	};
    319  1.1  mrg     key  <KP6> { [ KP_Right, KP_6	], [ KP_6		]	};
    320  1.1  mrg 
    321  1.1  mrg     key  <KP1> { [ R13,	KP_1		], [ KP_1, End		]	};
    322  1.1  mrg     key  <KP2> { [ KP_Down, KP_2	], [ KP_2		]	};
    323  1.1  mrg     key  <KP3> { [ R15,	KP_3		], [ KP_3, Next		]	};
    324  1.1  mrg     key <KPEN> { [ KP_Enter		]				};
    325  1.1  mrg 
    326  1.1  mrg     key <LALT> { [ Meta_L		]				};
    327  1.1  mrg     key <RALT> { [ Alt_L		]				};
    328  1.1  mrg     key <RCTL> { [ Multi_key		]				};
    329  1.1  mrg };
    330  1.1  mrg 
    331