diff --git a/symbols/pc b/symbols/pc index bcd5b75..0c1a0d5 100644 --- a/symbols/pc +++ b/symbols/pc @@ -8,45 +8,84 @@ xkb_symbols "basic" { key { [ Escape ] }; - // Alphanumeric section - key { [ grave, asciitilde ] }; - key { [ 1, exclam ] }; - key { [ 2, at ] }; - key { [ 3, numbersign ] }; - key { [ 4, dollar ] }; - key { [ 5, percent ] }; - key { [ 6, asciicircum ] }; - key { [ 7, ampersand ] }; - key { [ 8, asterisk ] }; - key { [ 9, parenleft ] }; - key { [ 0, parenright ] }; - key { [ minus, underscore ] }; - key { [ equal, plus ] }; + // the extra key on most European keyboards + key { [ less, greater, bar, brokenbar ] }; + + // these keys are common to all layouts + key { [ backslash, bar ] }; + key { [ space ] }; + + include "pc(function)" + include "pc(editing)" + include "pc(keypad)" key { type="CTRL+ALT", symbols[Group1]= [ BackSpace, Terminate_Server ] }; - key { [ Tab, ISO_Left_Tab ] }; - key { [ Return ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; - key { [ Caps_Lock ] }; + key { [ Caps_Lock ] }; - key { [ Shift_L ] }; - key { [ backslash, bar ] }; + key { [ Shift_L ] }; + key { [ Control_L ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Super_L ] }; - key { [ Control_L ] }; - key { [ space ] }; + key { [ Shift_R ] }; + key { [ Control_R ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_R ] }; + + key { [ 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 { [ ISO_Level3_Shift ] }; + key { [ Mode_switch ] }; + modifier_map Mod5 { , }; - key { [ Shift_R ] }; - key { [ Alt_L ] }; - key { [ Control_R ] }; - key { [ Alt_R ] }; + key { [ NoSymbol, Alt_L ] }; + modifier_map Mod1 { , }; - // End alphanumeric section + key { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { }; + + key { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { }; + + key { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { }; +}; + +// definition for all PC-AT type keyboard, all extra keys are +// defined in pc(basic). +xkb_symbols "pc101" { + include "pc(basic)" +}; - // Begin "Function" section +xkb_symbols "pc102" { + include "pc(basic)" +}; + +default +xkb_symbols "pc104" { + include "pc(basic)" +}; + +xkb_symbols "pc105" { + include "pc(pc104)" +}; + +partial hidden alphanumeric_keys +xkb_symbols "function" { key { type="CTRL+ALT", symbols[Group1]= [ F1, XF86_Switch_VT_1 ] @@ -95,31 +134,10 @@ xkb_symbols "basic" { type="CTRL+ALT", symbols[Group1]= [ F12, XF86_Switch_VT_12 ] }; - // End "Function" section - - // Begin "Editing" section - key { - type= "PC_SYSRQ", - symbols[Group1]= [ Print, Sys_Req ] - }; - key { [ Scroll_Lock ] }; - key { - type= "PC_BREAK", - symbols[Group1]= [ Pause, Break ] - }; - key { [ Insert ] }; - key { [ Home ] }; - key { [ Prior ] }; - key { [ Delete ] }; - key { [ End ] }; - key { [ Next ] }; - - key { [ Up ] }; - key { [ Left ] }; - key { [ Down ] }; - key { [ Right ] }; +}; - // End "Editing" section, begin "Keypad" +partial hidden alphanumeric_keys +xkb_symbols "keypad" { key { [ Num_Lock, Pointer_EnableKeys ] }; // Ungrab cancels server/keyboard/pointer grabs @@ -162,94 +180,29 @@ xkb_symbols "basic" { key { [ KP_Insert, KP_0 ] }; key { [ KP_Delete, KP_Decimal ] }; - // End "Keypad" section - - // 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 { [ ISO_Level3_Shift ] }; - key { [ Mode_switch ] }; - modifier_map Mod5 { , }; - - key { [ NoSymbol, Alt_L ] }; - modifier_map Mod1 { , }; - - key { [ NoSymbol, Meta_L ] }; - modifier_map Mod1 { }; - - key { [ NoSymbol, Super_L ] }; - modifier_map Mod4 { }; - - key { [ NoSymbol, Hyper_L ] }; - modifier_map Mod4 { }; }; -// definition for the PC-AT type 101 key keyboard -xkb_symbols "pc101" { - include "pc(basic)" - key { [ Alt_L, Meta_L ] }; - key { [ Alt_R, Meta_R ] }; - -}; - -// definition for the extra key on 102-key keyboards -xkb_symbols "pc102" { - include "pc(pc101)" - key { [ less, greater, bar, brokenbar ] }; -}; - -// definition for the extra keys on 104-key "Windows95" keyboards -default -xkb_symbols "pc104" { - include "pc(basic)" - key { [ Alt_L, Meta_L ] }; - key { [ Alt_R, Meta_R ] }; - key { [ Super_L ] }; - key { [ Super_R ] }; - key { [ Menu ] }; - -}; +partial hidden alphanumeric_keys +xkb_symbols "editing" { + key { + type= "PC_SYSRQ", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { [ Scroll_Lock ] }; + key { + type= "PC_BREAK", + symbols[Group1]= [ Pause, Break ] + }; + key { [ Insert ] }; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Next ] }; -// defintion which includes both the Windows95 keyboards _and_ -// the extra key on most European keyboards. -xkb_symbols "pc105" { - include "pc(pc104)" - key { [ less, greater, bar, brokenbar ] }; + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; }; -// common keys which can be overwritten in some layouts -xkb_symbols "common" { - - // Alphanumeric section - key { [ grave, asciitilde ] }; - key { [ 1, exclam ] }; - key { [ 2, at ] }; - key { [ 3, numbersign ] }; - key { [ 4, dollar ] }; - key { [ 5, percent ] }; - key { [ 6, asciicircum ] }; - key { [ 7, ampersand ] }; - key { [ 8, asterisk ] }; - key { [ 9, parenleft ] }; - key { [ 0, parenright ] }; - key { [ minus, underscore ] }; - key { [ equal, plus ] }; - - key { [ backslash, bar ] }; - key { [ space ] }; - - // "Keypad" section - key { [ KP_Delete, KP_Decimal ] }; - - // extra keys on 104-key "Windows95" keyboards - key { [ Super_L ] }; - key { [ Super_R ] }; - key { [ Menu ] }; - - // the extra key on most European keyboards - key { [ less, greater, bar, brokenbar ] }; -}; diff --git a/symbols/us b/symbols/us index d4f9f67..d668c5b 100644 --- a/symbols/us +++ b/symbols/us @@ -10,8 +10,6 @@ xkb_symbols "basic" { name[Group1]= "U.S. English"; - include "pc(common)" - // Alphanumeric section key { [ grave, asciitilde ] }; key { [ 1, exclam ] }; @@ -63,7 +61,6 @@ xkb_symbols "basic" { key { [ period, greater ] }; key { [ slash, question ] }; - key { [ backslash, bar ] }; // End alphanumeric section };