// $XKeyboardConfig: xkbdesc/symbols/pc,v 1.6 2006/09/18 11:45:12 svu Exp $

//
// $XFree86: xc/programs/xkbcomp/symbols/pc,v 1.9 2003/06/09 19:59:46 dawes Exp $

default partial alphanumeric_keys modifier_keys 
xkb_symbols "pc105" {

    key <ESC>  {	[ Escape			]	};

    // the extra key on most European keyboards
    key <LSGT> {	[      less,    greater,          bar,    brokenbar ]	};

    // these keys are common to all layouts
    key <BKSL> {	[ backslash,	bar		]	};
    key <SPCE> {	[ 	 space			]	};

    include "pc(function)"
    include "pc(editing)"

    key <BKSP> { [ BackSpace ] };

    key  <TAB> {	[ Tab,	ISO_Left_Tab	]	};
    key <RTRN> {	[ Return	]	};
    // we don't ever generate this key, but the VKB needs it always.
    key <KPEN> {        [ KP_Enter      ]       };
    // generated from the headset, must always be in the map.
    key <I29>  {        [ XF86Phone     ]       };

    key <CAPS> {	[ Caps_Lock	]	};

    key <NMLK> {	[ Num_Lock, Pointer_EnableKeys		]	};

    key <LFSH> {	[ Shift_L	]	};
    key <LCTL> {	[ Control_L	]	};
    key <LALT> {	[ Alt_L,	Meta_L		]	};
    key <LWIN> {	[ Super_L			]	};

    key <RTSH> {	[ Shift_R	]	};
    key <RCTL> {	[ Control_R	]	};
    key <RALT> {	[ Alt_R,	Meta_R		]	};
    key <RWIN> {	[ Super_R			]	};

    key <MENU> {	[ Menu			]	};

    // begin modifier mappings
    modifier_map Shift  { Shift_L, Shift_R };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L, Control_R };
    modifier_map Mod2   { Num_Lock };

    //  Fake keys for virtual<->real modifiers mapping 
    key <LVL3> {	[ ISO_Level3_Shift	]	};
    key <MDSW> {	[ Mode_switch 		]	};
    modifier_map Mod5   { <LVL3>, <MDSW> };

    key <ALT>  {	[ NoSymbol, Alt_L	]	};
    modifier_map Mod1   { <ALT>, <LALT> };

    key <META> {	[ NoSymbol, Meta_L	]	};
    modifier_map Mod1   { <META> };

    key <SUPR> {	[ NoSymbol, Super_L	]	};
    modifier_map Mod4   { <SUPR> };

    key <HYPR> {	[ NoSymbol, Hyper_L	]	};
    modifier_map Mod4   { <HYPR> };
};

partial hidden alphanumeric_keys
xkb_symbols "function" {
    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> { [ F11 ] };
    key <FK11> { [ F10 ] };
    key <FK12> { [ F12 ] };
};

partial hidden alphanumeric_keys
xkb_symbols "editing" {
    key <PRSC> {        [  Print                ]       };
    key <SCLK> {        [  Scroll_Lock	        ]	};
    key <PAUS> {        [  Pause                ]       };
    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		]	};
};

