us   [plain text]


// $Xorg: us,v 1.3 2000/08/17 19:54:44 cpqbld Exp $

// symbols definition for a very simple US/ASCII layout.
// It has basically the alphanumeric keys, punctuation, 
// one shift key, one control key and caps lock. It 
// uses the punctuation keys configurations common on PC 
// keyboards (e.g. key <ABO9> is { [ period greater ] })

// $XFree86: xc/programs/xkbcomp/symbols/us,v 3.15 2003/10/31 14:32:04 pascal Exp $

partial hidden alphanumeric_keys modifier_keys 
xkb_symbols "basic" {

    name[Group1]= "US/ASCII";
    key <ESC>  {	[ Escape			]	};

    // Alphanumeric section
    key <TLDE> {	[ quoteleft,	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 <BKSP> {
	type="CTRL+ALT",
	symbols[Group1]= [ BackSpace,	Terminate_Server ]
    };

    key  <TAB> {	[ 	Tab,	ISO_Left_Tab	]	};
    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 <RTRN> {	[ Return			]	};

    key <CAPS> {	[	Caps_Lock		]	};
    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> {	[ quoteright,	quotedbl	]	};

    key <LFSH> {	[ 	 Shift_L		]	};
    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	]	};
    key <BKSL> {	[ backslash,	bar		]	};

    key <LCTL> {	[ 	 Control_L		]	};
    key <SPCE> {	[ 	 space			]	};
    // End alphanumeric section

    // begin modifier mappings
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
};

// definition of a US/ASCII layout for a typical 101-key keyboard. 
// Includes the basic alphanumeric and punctuation keys and then 
// defines the "extra" (right) modifier keys, function keys, cursor,
// edit, and keypad keys.
xkb_symbols "generic101" {
    include "srvr_ctrl(xfree86)"
    include "us(basic)"
    key <RTSH> {	[ 	Shift_R		]	};
    key <LALT> {	[ 	Alt_L	 	]	};
    key <RCTL> {	[ 	Control_R	]	};
    key <RALT> {	[	Alt_R		]	};

    // 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, Sys_Req ]
    };
    key <SYRQ> {
	type= "PC_SYSRQ",
	symbols[Group1]= [ Print, Sys_Req ]
    };
    key <SCLK> {  [  Scroll_Lock	]	};
    key <PAUS> {
	type= "PC_BREAK",
	symbols[Group1]= [ Pause, Break ]
    };
    key <BRK> {
	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 <KPEQ> {	[  	KP_Equal	]	};

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


    // begin modifier mappings
    modifier_map Shift  { Shift_R };
    modifier_map Control{ Control_R };
    modifier_map Mod1   { Alt_L, Alt_R };
    modifier_map Mod2   { Num_Lock };
    modifier_map Mod5   { Scroll_Lock };
};


partial alphanumeric_keys
xkb_symbols "intl" {

    name[Group1]= "US International";
    include "us(pc105euro)"

    // Alphanumeric section
    key <TLDE> {	[dead_grave,	dead_tilde	],
			[     grave,	asciitilde	]	};
    key <AE01> {	[	  1,	exclam 		],
			[exclamdown,	onesuperior	]	};
    key <AE02> {	[	  2,	at		],
			[twosuperior,   dead_doubleacute]	};
    key <AE03> {	[	  3,	numbersign	],
			[threesuperior, dead_macron	]	};
    key <AE04> {	[	  4,	dollar		],
			[  currency,	sterling	]	};
    key <AE05> {	[	  5,	percent		],
			[  EuroSign			]	};
    key <AE06> {	[	  6,	dead_circumflex	],
			[onequarter,	asciicircum	]	};
    key <AE07> {	[	  7,	ampersand	],
			[   onehalf,	dead_horn	]	};
    key <AE08> {	[	  8,	asterisk	],
			[threequarters, dead_ogonek	]	};
    key <AE09> {	[	  9,	parenleft	],
			[ leftsinglequotemark, dead_breve]	};
    key <AE10> {	[	  0,	parenright	],
			[ rightsinglequotemark, dead_abovering	] };
    key <AE11> {	[     minus,	underscore	],
			[       yen,	dead_belowdot	]	};
    key <AE12> {	[     equal,	plus		],
			[  multiply,	division	]	};

    key <AD01> {	[	  q,	Q 		],
			[adiaeresis,	Adiaeresis	]	};
    key <AD02> {	[	  w,	W		],
			[     aring,	Aring		]	};
    key <AD03> {	[	  e,	E		],
			[    eacute,	Eacute		]	};
    key <AD04> {	[	  r,	R		],
			[registered,	registered	]	};
    key <AD05> {	[	  t,	T		],
			[     thorn,	THORN		]	};
    key <AD06> {	[	  y,	Y		],
			[udiaeresis,	Udiaeresis	]	};
    key <AD07> {	[	  u,	U		],
			[    uacute,	Uacute		]	};
    key <AD08> {	[	  i,	I		],
			[    iacute,	Iacute		]	};
    key <AD09> {	[	  o,	O		],
			[    oacute,	Oacute		]	};
    key <AD10> {	[	  p,	P		],
			[odiaeresis,	Odiaeresis	]	};
    key <AD11> {	[ bracketleft,	braceleft	],
			[ guillemotleft			]	};
    key <AD12> {	[ bracketright,	braceright	],
			[ guillemotright		]	};

    key <AC01> {	[	  a,	A 		],
			[    aacute,	Aacute		]	};
    key <AC02> {	[	  s,	S		],
			[    ssharp,	section		]	};
    key <AC03> {	[	  d,	D		],
			[	eth,	ETH		]	};

    key <AC09> {	[	  l,	L		],
			[    oslash,	Ooblique	]	};
    key <AC10> {	[ semicolon,	colon		],
			[ paragraph,	degree		]	};
    key <AC11> {	[ dead_acute,	dead_diaeresis	],
			[ apostrophe,	quotedbl	]	};

    key <AB01> {	[	  z,	Z 		],
			[	 ae,	AE		]	};
    key <AB03> {	[	  c,	C		],
			[ copyright,	cent		]	};
    key <AB06> {	[	  n,	N		],
			[    ntilde,	Ntilde		]	};
    key <AB07> {	[	  m,	M		],
			[	 mu,	mu		]	};
    key <AB08> {	[     comma,	less		],
			[  ccedilla,	Ccedilla	]	};
    key <AB09> {	[    period,	greater		],
			[ dead_abovedot,dead_caron	]	};
    key <AB10> {	[     slash,	question	],
			[ questiondown,	dead_hook	]	};
    key <BKSL> {	[ backslash,	bar		],
			[   notsign,	brokenbar	]	};

};

// definition for the PC-AT type 101 key keyboard
default 
xkb_symbols "pc101" {
    include "us(generic101)"
    key <LALT> {	[ 	Alt_L,	Meta_L 		]	};
    key <RALT> {	[	Alt_R,	Meta_R		]	};

    // begin modifier mappings
    modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };
};

// definition for the extra key on 102-key keyboards
xkb_symbols "pc102" {
    include "us(pc101)"
    key <LSGT> {	[      less,    greater		]	};
};

// definition of Euro-style, Alt_R == [Mode_switch, Multi_key]
xkb_symbols "pc101euro" {
    include "us(generic101)"
    key <LALT> {	[ 	Alt_L,	Meta_L 		]	};
    key <RALT> {	[ Mode_switch,	Multi_key	]	};

    // begin modifier mappings
    modifier_map Mod1   { Alt_L, Meta_L };
};

// definition of Alternate Euro-style, Alt_R == [Multi_key]
xkb_symbols "pc101compose" {
    include "us(generic101)"
    key <LALT> {	[ 	Alt_L,	Meta_L 		]	};
    key <RALT> {	[ 	Multi_key		]	};

    // begin modifier mappings
    modifier_map Mod1   { Alt_L, Meta_L };
};

xkb_symbols "pc102euro" {
    include "us(pc101euro)"
    key <LSGT> {	[      less,    greater		]	};
};

xkb_symbols "pc102compose" {
    include "us(pc101compose)"
    key <LSGT> {	[      less,    greater		]	};
};

// definition for the extra keys on 104-key "Windows95" keyboards
xkb_symbols "pc104" {
    include "us(generic101)"
    key <LALT> {	[ 	Alt_L,	Meta_L		]	};
    key <RALT> {	[	Alt_R,	Meta_R		]	};
    key <LWIN> {	[	Super_L			]	};
    key <RWIN> {	[	Super_R			]	};
    key <MENU> {	[	Menu			]	};

    // modifier mappings
    modifier_map Mod1   { Alt_L, Alt_R, Meta_L, Meta_R };
    modifier_map Mod4   { Super_L, Super_R };
};

// definition of Euro-style, Right "logo" key == [Mode_switch, Multi_key]
xkb_symbols "pc104euro" {
    include "us(pc104)"
    key <RALT> {        [       Mode_switch             ]       };
    key <RWIN> {	[	Multi_key		]	};
};

// put the compose key on the right "logo" key
xkb_symbols "pc104compose" {
    include "us(pc104)"
    key <RWIN> {	[	Multi_key	]	};
};

// defintion which includes both the Windows95 keyboards _and_
// the extra key on most European keyboards.
xkb_symbols "pc105" {
    include "us(pc104)"
    key <LSGT> {	[      less,    greater		]	};
};
xkb_symbols "pc105euro" {
    include "us(pc104euro)"
    key <LSGT> {	[      less,    greater		]	};
};
xkb_symbols "pc105compose" {
    include "us(pc104compose)"
    key <LSGT> {	[      less,    greater		]	};
};
// universal maps are identical to pc105; wish we had aliases for map names.
xkb_symbols "pc_universal" {
    include "us(pc104)"
    key <LSGT> {	[      less,    greater		]	};
};
xkb_symbols "pc_universal_euro" {
    include "us(pc104euro)"
    key <LSGT> {	[      less,    greater		]	};
};
xkb_symbols "pc_universal_compose" {
    include "us(pc104compose)"
    key <LSGT> {	[      less,    greater		]	};
};