//
//Copyright (c) 1996  Digital Equipment Corporation
//
//Permission is hereby granted, free of charge, to any person obtaining
//a copy of this software and associated documentation files (the
//"Software"), to deal in the Software without restriction, including
//without limitation the rights to use, copy, modify, merge, publish,
//distribute, sublicense, and sell copies of the Software, and to
//permit persons to whom the Software is furnished to do so, subject to
//the following conditions:
//
//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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment 
//Corporation shall not be used in advertising or otherwise to promote
//the sale, use or other dealings in this Software without prior written
//authorization from Digital Equipment Corporation.
//
// HISTORY
// Log
// Revision 1.2  1996/06/18  09:10:16  erik
// use flags correctly, assorted cleanups and consortium fixes
//
// Revision 1.1.6.3  1995/12/19  19:56:37  William_Walker
// 	Update to XKB 0.65
// 	[1995/12/17  02:37:44  William_Walker]
//
// Revision 1.1.6.2  1995/10/25  21:01:25  William_Walker
// 	Add pc104-key support
// 	[1995/10/23  15:46:27  William_Walker]
// 
// Revision 1.1.2.7  1995/06/27  12:18:40  William_Walker
// 	Add LK201 and LK450 support as well as TW and DP variants.
// 	[1995/06/26  20:30:33  William_Walker]
// 
// Revision 1.1.2.6  1995/06/09	 20:55:20  William_Walker
// 	Add VT105 layout support and ISO group support
// 	[1995/06/09  20:43:05  William_Walker]
// 
// Revision 1.1.2.5  1995/06/08	 21:05:49  William_Walker
// 	Use ISO_Next_Group instead of grouplock
// 	[1995/06/08  21:03:56  William_Walker]
// 
// Revision 1.1.2.4  1995/06/05	 19:25:00  William_Walker
// 	New file.  I love keymaps.
// 	[1995/06/05  18:17:54  William_Walker]
// 
// EndLog
// 
// @(#)RCSfile: us  Revision: /main/4  (DEC) Date: 1996/01/24 12:15:05 
// 

// **************************************************************
// *								*
// * Symbols for en_US.ISO8859-1 - English for U.S.		*
// *								*
// **************************************************************

xkb_symbols "us" {

    key <AE00> {       [	    grave,     asciitilde ] };
    key <AE01> {       [		1,	   exclam ] };
    key <AE02> {       [		2,	       at ] };
    key <AE03> {       [		3,     numbersign ] };
    key <AE04> {       [		4,	   dollar ] };
    key <AE05> {       [		5,	  percent ] };
    key <AE06> {       [		6,    asciicircum ] };
    key <AE07> {       [		7,	ampersand ] };
    key <AE08> {       [		8,	 asterisk ] };
    key <AE09> {       [		9,	parenleft ] };
    key <AE10> {       [		0,     parenright ] };
    key <AE11> {       [	    minus,     underscore ] };
    key <AE12> {       [	    equal,	     plus ] };

    key <AD01> {       [		q,		Q ] };
    key <AD02> {       [		w,		W ] };
    key <AD03> {       [		e,		E ] };
    key <AD04> {       [		r,		R ] };
    key <AD05> {       [		t,		T ] };
    key <AD06> {       [		y,		Y ] };
    key <AD07> {       [		u,		U ] };
    key <AD08> {       [		i,		I ] };
    key <AD09> {       [		o,		O ] };
    key <AD10> {       [		p,		P ] };
    key <AD11> {       [      bracketleft,	braceleft ] };
    key <AD12> {       [     bracketright,     braceright ] };

    key <AC01> {       [		a,		A ] };
    key <AC02> {       [		s,		S ] };
    key <AC03> {       [		d,		D ] };
    key <AC04> {       [		f,		F ] };
    key <AC05> {       [		g,		G ] };
    key <AC06> {       [		h,		H ] };
    key <AC07> {       [		j,		J ] };
    key <AC08> {       [		k,		K ] };
    key <AC09> {       [		l,		L ] };
    key <AC10> {       [	semicolon,	    colon ] };
    key <AC11> {       [       apostrophe,	 quotedbl ] };
    key <BKSL> {       [	backslash,	      bar ] };

    key <AB01> {       [		z,		Z ] };
    key <AB02> {       [		x,		X ] };
    key <AB03> {       [		c,		C ] };
    key <AB04> {       [		v,		V ] };
    key <AB05> {       [		b,		B ] };
    key <AB06> {       [		n,		N ] };
    key <AB07> {       [		m,		M ] };
    key <AB08> {       [	    comma,	     less ] };
    key <AB09> {       [	   period,	  greater ] };
    key <AB10> {       [	    slash,	 question ] };
};

// **************************************************************
// *								*
// * The VT105 layouts						*
// *								*
// * NOTES: The typewriter (TW) and dataprocessing (DP) keys	*
// *	    for the VT108 layout are identical for the US.	*
// *								*
// **************************************************************
xkb_symbols "vt105-tw" {
    include "digital_vndr/us(us)"
    include "digital_vndr/vt(vt105)"
    override key <AE03> { 
	symbols[Group1]= [ 3, numbersign ],
	symbols[Group2]= [ sterling ]
    };
    key <AB00> {       [	     less,	  greater ] };
};

xkb_symbols "vt105-dp" { include "digital_vndr/us(vt105-tw)" };
xkb_symbols "vt105"    { include "digital_vndr/us(vt105-tw)" };

// **************************************************************
// *								*
// * The VT108 layouts - based upon the LK401-AA		*
// *								*
// * NOTES: The typewriter (TW) and dataprocessing (DP) keys	*
// *	    for the VT108 layout are identical for the US.	*
// *								*
// **************************************************************
xkb_symbols "vt108-tw" {
    include "digital_vndr/us(us)"
    include "digital_vndr/vt(vt108)"
    replace key <LCMP> { [ Multi_key ] };
    override key <AE03> { 
	symbols[Group1]= [ 3, numbersign ],
	symbols[Group2]= [ sterling ]
    };
    key <AB00> {       [	     less,	  greater ] };
};

xkb_symbols "vt108-dp" { include "digital_vndr/us(vt108-tw)" };
xkb_symbols "vt108"    { include "digital_vndr/us(vt108-tw)" };

// **************************************************************
// *								*
// * The "unix" layouts	- based upon the LK421-AA		*
// *								*
// * NOTES: The "unix" keyboard emits the same keycodes as the	*
// *	    LK401, but is a shorter keyboard that uses an	*
// *	    "extend" key.  To make life easier, we map <AE00>	*
// *	    to Escape so users do not have to press Extend+F11	*
// *	    to get Escape.					*
// *								*
// **************************************************************
xkb_symbols "unix" {
    include "digital_vndr/us(vt108)"
    override key <AE00>	{ [ Escape ] };
    override key <AB00>	{ [ grave, asciitilde ] };
};

// **************************************************************
// *								*
// * The "pcxal" layouts					*
// *								*
// * NOTES: The pcxal layouts are pretty much standardized for	*
// *	    the US and use a 101-key keyboard.			*
// *								*
// **************************************************************
xkb_symbols "pcxalga" {
    include "digital_vndr/pc(pc)"
    include "digital_vndr/us(us)"
    replace key <RALT> { [ Alt_R, Meta_R ] };
};

xkb_symbols "pcxal"   { include "digital_vndr/us(pcxalga)" };
xkb_symbols "pcxalaa" { include "digital_vndr/us(pcxalga)" };
xkb_symbols "pcxalfa" { include "digital_vndr/us(pcxalga)" };
xkb_symbols "pcxalka" { include "digital_vndr/us(pcxalga)" };
xkb_symbols "lk44x"   { include "digital_vndr/us(pcxalga)" };

// **************************************************************
// *								*
// * The "pc104" layouts.					*
// *								*
// **************************************************************
xkb_symbols "pc104" {
    include "digital_vndr/pc(pc104)"
    include "digital_vndr/us(us)"
    replace key <RALT> { [ Alt_R ] };
};
