// $Xorg: us,v 1.4 2001/02/09 02:05:53 xorgcvs Exp $
//
//Copyright 1996, 1998  The Open Group
//
//Permission to use, copy, modify, distribute, and sell this software and its
//documentation for any purpose is hereby granted without fee, provided that
//the above copyright notice appear in all copies and that both that
//copyright notice and this permission notice appear in supporting
//documentation.
//
//The above copyright notice and this permission notice shall be
//included in all copies or substantial portions of the Software.
//
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.
//
//Except as contained in this notice, the name of The Open Group shall
//not be used in advertising or otherwise to promote the sale, use or
//other dealings in this Software without prior written authorization
//from The Open Group.
//
// $XFree86: xc/programs/xkbcomp/symbols/sun/us,v 1.6 2001/12/14 20:02:05 dawes Exp $
//
// US/ASCII layout for a Type 4 Sun keyboard
xkb_symbols "sun4" {
    include "us(basic)"

    // A few alphanumeric keys are different
    key <TLDE> { [     grave,	asciitilde	],	[ acute	]	};
    key <AC11> { [ apostrophe,	quotedbl	],	[ acute	]	};

    key <RTSH> { [	Shift_R		]	};
    key <LALT> { [	Alt_L		]	};
    key <ALGR> { [	Mode_switch	]	};
    key <LMTA> { [	Meta_L		]	};
    key <RMTA> { [	Meta_R		]	};
    key <LNFD> { [	Linefeed	]	};
    key <COMP> { [	Multi_key	]	};
    // End alphanumeric section

    // Begin "Function" section
    key <FK01> { [ F1	]				};
    key <FK02> { [ F2	]				};
    key <FK03> { [ F3	]				};
    key <FK04> { [ F4	]				};
    key <FK05> { [ F5	]				};
    key <FK06> { [ F6	]				};
    key <FK07> { [ F7	]				};
    key <FK08> { [ F8	]				};
    key <FK09> { [ F9	]				};
    key <FK10> { [ F10	]				};
    key <FK11> { [ F11	],		[ SunF36]	};
    key <FK12> { [ F12	],		[ SunF37]	};
    key <STOP> { [ Cancel	],	[ F11	]	};
    key <AGAI> { [ Redo		],	[ F12	]	};
    key <PROP> { [ SunProps	],	[ F13	]	};
    key <UNDO> { [ Undo		],	[ F14	]	};
    key <FRNT> { [ SunFront	],	[ F15	]	};
    key <COPY> { [ SunCopy	],	[ F16	]	};
    key <OPEN> { [ SunOpen	],	[ F17	]	};
    key <PAST> { [ SunPaste	],	[ F18	]	};
    key <FIND> { [ Find		],	[ F19	]	};
    key <CUT>  { [ SunCut	],	[ F20	]	};
    // End "Function" section

    // Begin "Editing" section
    key <PRSC> { [ Print			],[ 	F21	]	};
    key <SCLK> { [ Break,	Scroll_Lock	],[ 	F22	]	};
    key <PAUS> { [ Pause			],[ 	F23	]	};
    key <DELE> { [ Delete			]			};
    key <HELP> { [ Help				]			};

    // End "Editing" section, begin "Keypad"
    key <NMLK> { [ Num_Lock 		]				};
    key <KPEQ> { [ KP_Equal 		],	[	F24	]	};
    key <KPDV> { [ KP_Divide		],	[	F25	]	};
    key <KPMU> { [ KP_Multiply		],	[	F26	]	};
    key <KPSU> { [ KP_Subtract		]				};

    key  <KP7> { [  KP_Home,	KP_7	],	[	F27	]	};
    key  <KP8> { [  KP_Up,	KP_8	],	[	F28	]	};
    key  <KP9> { [  KP_Prior,	KP_9	],	[	F29	]	};
    key <KPAD> { [  	KP_Add		]				};

    key  <KP4> { [  KP_Left,	KP_4	],	[	F30	]	};
    key  <KP5> { [  KP_Begin,	KP_5	],	[	F31	]	};
    key  <KP6> { [  KP_Right,	KP_6	],	[	F32	]	};

    key  <KP1> { [  KP_End,	KP_1	],	[	F33	]	};
    key  <KP2> { [  KP_Down,	KP_2	],	[	F34	]	};
    key  <KP3> { [  KP_Next,	KP_3	],	[	F35	]	};
    key <KPEN> { [  	KP_Enter	]				};
    key  <KP0> { [  KP_Insert,	KP_0	]	};
    key <KPDL> { [  KP_Delete,	KP_Decimal ]	};
    // End "Keypad" section

    // Override these settings by default xfree86 Ctrl+Alt combinations
    include "srvr_ctrl(xfree86)"


    // begin modifier mappings
    modifier_map Shift { Shift_R };
    modifier_map Mod1  { Meta_L, Meta_R };
    modifier_map Mod2  { Alt_L };
    modifier_map Mod3  { Mode_switch };
    modifier_map Mod4  { Num_Lock };
    modifier_map Mod5  { F13, F18, F20 };
};

hidden partial function_keys xkb_symbols "broken_openlook_map" {
    key <STOP> { [ F11	],	[ Cancel	]	};
    key <AGAI> { [ F12	],	[ Redo		]	};
    key <PROP> { [ F13	],	[ SunProps	]	};
    key <UNDO> { [ F14	],	[ Undo		]	};
    key <FRNT> { [ F15	],	[ SunFront	]	};
    key <COPY> { [ F16	],	[ SunCopy	]	};
    key <OPEN> { [ F17	],	[ SunOpen	]	};
    key <PAST> { [ F18	],	[ SunPaste	]	};
    key <FIND> { [ F19	],	[ Find		]	};
    key <CUT>  { [ F20	],	[ SunCut	]	};
};

// US/ASCII layout for a Type 4 Sun keyboard w/ broken OpenLook keymap
xkb_symbols "sun4ol" {
    override "sun/us(sun4)"
    include "sun/us(broken_openlook_map)"
};

// US/ASCII layout for a Type 5 Sun keyboard
xkb_symbols "sun5" {
    augment "us(basic)"

    // A alphanumeric keys are different
    key <TLDE> { [     grave,	asciitilde	],	[ acute	]	};
    key <AC11> { [ apostrophe,	quotedbl	],	[ acute	]	};

    key <RTSH> { [	Shift_R		]	};

    key <LALT> { [	Alt_L		]	};
    key <ALGR> { [	Mode_switch	]	};
    key <LMTA> { [	Meta_L		]	};
    key <RMTA> { [	Meta_R		]	};
    key <COMP> { [	Multi_key	]	};
    // End alphanumeric section

    // Begin "Function" section
    key <FK01> { [ F1	]				};
    key <FK02> { [ F2	]				};
    key <FK03> { [ F3	]				};
    key <FK04> { [ F4	]				};
    key <FK05> { [ F5	]				};
    key <FK06> { [ F6	]				};
    key <FK07> { [ F7	]				};
    key <FK08> { [ F8	]				};
    key <FK09> { [ F9	]				};
    key <FK10> { [ F10	]				};
    key <FK11> { [ F11	],		[ SunF36	]	};
    key <FK12> { [ F12	],		[ SunF37	]	};
    key <STOP> { [ Cancel	],	[ F11		]	};
    key <AGAI> { [ Redo		],	[ F12		]	};
    key <PROP> { [ SunProps	],	[ F13		]	};
    key <UNDO> { [ Undo		],	[ F14		]	};
    key <FRNT> { [ SunFront	],	[ F15		]	};
    key <COPY> { [ SunCopy	],	[ F16		]	};
    key <OPEN> { [ SunOpen	],	[ F17		]	};
    key <PAST> { [ SunPaste	],	[ F18		]	};
    key <FIND> { [ Find		],	[ F19		]	};
    key <CUT>  { [ SunCut	],	[ F20		]	};
    // End "Function" section

    // Begin "Editing" section
    key <PRSC> { [ Print 	],	[ Sys_Req, SunSys_Req ]	};
    key <SCLK> { [ Scroll_Lock	]	};
    key <PAUS> { [ Pause	],	[	Break	]	};
    key <LEFT> { [ Left		]	};
    key <RGHT> { [ Right	]	};
    key <UP>   { [ Up		]	};
    key <DOWN> { [ Down		]	};

    key <DELE> { [ Delete	]	};
    key <INS>  { [ Insert	]	};
    key <PGUP> { [ Prior	]	};
    key <PGDN> { [ Next		]	};
    key <HOME> { [ Home		]	};
    key <END>  { [ End		]	};
    key <HELP> { [ Help		]	};

    // End "Editing" section, begin "Keypad"
    key <NMLK> { [ Num_Lock 		]				};
    key <KPDV> { [ KP_Divide		],	[	F25	]	};
    key <KPMU> { [ KP_Multiply		],	[	F26	]	};
    key <KPSU> { [ KP_Subtract		]				};

    key  <KP7> { [  KP_Home,	KP_7	],	[	F27	]	};
    key  <KP8> { [  KP_Up,	KP_8	],	[	F28	]	};
    key  <KP9> { [  KP_Prior,	KP_9	],	[	F29	]	};
    key <KPAD> { [  	KP_Add		]				};

    key  <KP4> { [  KP_Left,	KP_4	],	[	F30	]	};
    key  <KP5> { [  KP_Begin,	KP_5	],	[	F31	]	};
    key  <KP6> { [  KP_Right,	KP_6	],	[	F32	]	};

    key  <KP1> { [  KP_End,	KP_1	],	[	F33	]	};
    key  <KP2> { [  KP_Down,	KP_2	],	[	F34	]	};
    key  <KP3> { [  KP_Next,	KP_3	],	[	F35	]	};
    key <KPEN> { [  	KP_Enter	]				};

    key  <KP0> { [  KP_Insert,	KP_0	]	};
    key <KPDL> { [  KP_Delete,	KP_Decimal ]	};
    // End "Keypad" section,
    // begin "four keys up on the right"

    key <MUTE> { [  SunAudioMute,	SunVideoDegauss		]	};
    key <VOL-> { [  SunAudioLowerVolume,SunVideoLowerBrightness ]	};
    key <VOL+> { [  SunAudioRaiseVolume,SunVideoRaiseBrightness	]	};
    key <POWR> { [  SunPowerSwitch,	SunPowerSwitchShift	]	};

    // Override these settings by default xfree86 Ctrl+Alt combinations
    include "srvr_ctrl(xfree86)"

    // begin modifier mappings
    modifier_map Shift { Shift_R };
    modifier_map Mod1  { Alt_L };
    modifier_map Mod2  { Num_Lock };
    modifier_map Mod3  { Mode_switch };
    modifier_map Mod4  { Meta_L, Meta_R};
    modifier_map Mod5  { Scroll_Lock };
};

// US/ASCII layout for a Type 5 Sun keyboard w/ broken OpenLook keymap
xkb_symbols "sun5ol" {
    override "sun/us(sun5)"
    include "sun/us(broken_openlook_map)"
};

// US/ASCII layout for a Type 6 Sun keyboard
xkb_symbols "sun6" {
    augment "us(basic)"

    key <RTSH> {	[	Shift_R		]	};
    key <LALT> {	[	Alt_L		]	};
    key <RCTL> {	[	Control_R	]	};
    key <RALT> {	[	Alt_R		]	};
    key <LMTA> {	[	Meta_L		]	};
    key <RMTA> {	[	Meta_R		]	};
    key <COMP> {	[	Multi_key	]	};

    // Begin "Function" section
    key <FK01> {	[	F1	]	};
    key <FK02> {	[	F2	]	};
    key <FK03> {	[	F3	]	};
    key <FK04> {	[	F4	]	};
    key <FK05> {	[	F5	]	};
    key <FK06> {	[	F6	]	};
    key <FK07> {	[	F7	]	};
    key <FK08> {	[	F8	]	};
    key <FK09> {	[	F9	]	};
    key <FK10> {	[	F10	]	};
    key <FK11> {	[	F11	]	};
    key <FK12> {	[	F12	]	};
    // End "Function" section

    // Begin "Editing" section
    key <PRSC> {
       type= "PC_SYSRQ",
       symbols[Group1]= [	Print, Execute	]
    };
    key <SCLK> {	[	Scroll_Lock	]	};
    key <PAUS> {
       type= "PC_BREAK",
       symbols[Group1]= [	Pause, Break	]
    };
    key  <INS> {	[	Insert	]	};
    key <HOME> {	[	Home	]	};
    key <PGUP> {	[	Prior	]	};
    key <DELE> {	[	Delete	]	};
    key  <END> {	[	End	]	};
    key <PGDN> {	[	Next	]	};

    key   <UP> {	[	Up	]	};
    key <LEFT> {	[	Left	]	};
    key <DOWN> {	[	Down	]	};
    key <RGHT> {	[	Right	]	};

    // End "Editing" section, begin "Keypad"
    key <NMLK> {	[	Num_Lock, Pointer_EnableKeys	]	};
    key <KPDV> {	[	KP_Divide	]	};
    key <KPMU> {	[	KP_Multiply	]	};
    key <KPSU> {	[	KP_Subtract	]	};

    key  <KP7> {	[	KP_Home,	KP_7		]	};
    key  <KP8> {	[	KP_Up,		KP_8		]	};
    key  <KP9> {	[	KP_Prior,	KP_9		]	};
    key <KPAD> {	[	KP_Add				]	};

    key  <KP4> {	[	KP_Left,	KP_4		]	};
    key  <KP5> {	[	KP_Begin,	KP_5		]	};
    key  <KP6> {	[	KP_Right,	KP_6		]	};

    key  <KP1> {	[	KP_End,		KP_1		]	};
    key  <KP2> {	[	KP_Down,	KP_2		]	};
    key  <KP3> {	[	KP_Next,	KP_3		]	};
    key <KPEN> {	[	KP_Enter			]	};

    key  <KP0> {	[	KP_Insert,	KP_0		]	};
    key <KPDL> {	[	KP_Delete,	KP_Decimal	]	};
    // End "Keypad" section

    key <MUTE> { [  SunAudioMute,	SunVideoDegauss		]	};
    key <VOL-> { [  SunAudioLowerVolume,SunVideoLowerBrightness ]	};
    key <VOL+> { [  SunAudioRaiseVolume,SunVideoRaiseBrightness	]	};
    key <POWR> { [  SunPowerSwitch,	SunPowerSwitchShift	]	};

    // from symbols/sun/us(type5)
    key <STOP> { [ Cancel	],	[ F11		]	};
    key <AGAI> { [ Redo		],	[ F12		]	};
    key <PROP> { [ SunProps	],	[ F13		]	};
    key <UNDO> { [ Undo		],	[ F14		]	};
    key <FRNT> { [ SunFront	],	[ F15		]	};
    key <COPY> { [ SunCopy	],	[ F16		]	};
    key <OPEN> { [ SunOpen	],	[ F17		]	};
    key <PAST> { [ SunPaste	],	[ F18		]	};
    key <FIND> { [ Find		],	[ F19		]	};
    key <CUT>  { [ SunCut	],	[ F20		]	};
    key <HELP> { [ Help		]	};

    // Override these settings by default xfree86 Ctrl+Alt combinations
    include "srvr_ctrl(xfree86)"

    // begin modifier mappings
    modifier_map Shift { Shift_R };
    modifier_map Mod1  { Meta_L, Meta_R };
    modifier_map Mod2  { Alt_L };
    modifier_map Mod3  { Mode_switch };
    modifier_map Mod4  { Num_Lock };
};

// US/ASCII layout for a Type 6 Sun keyboard w/ broken OpenLook keymap
xkb_symbols "sun6ol" {
    override "sun/us(sun6)"
    include "sun/us(broken_openlook_map)"
};
