diff options
-rw-r--r-- | linux/X/symbols/level3 | 75 |
1 files changed, 62 insertions, 13 deletions
diff --git a/linux/X/symbols/level3 b/linux/X/symbols/level3 index 2e44efd..74d5ac9 100644 --- a/linux/X/symbols/level3 +++ b/linux/X/symbols/level3 @@ -1,5 +1,4 @@ -// $XdotOrg -// $XKeyboardConfig: xkbdesc/symbols/level3,v 1.6 2004/10/09 17:40:26 svu Exp $ +// $XKeyboardConfig$ // these variants assign various XKB keycodes to ISO_Level3_Shift so that // the third shift level can be reached @@ -18,6 +17,51 @@ xkb_symbols "ralt_switch" { modifier_map Mod5 { ISO_Level3_Shift }; }; +// Right Alt key never chooses 3rd level. +// This option attempts to undo the effect of a layout's +// including ralt_switch. You may also want to select another +// level3 option that maps the level3 shift to some other key. +partial modifier_keys +xkb_symbols "ralt_alt" { + key <RALT> { + type[Group1]="TWO_LEVEL", + type[Group2]="TWO_LEVEL", + type[Group3]="TWO_LEVEL", + type[Group4]="TWO_LEVEL", + symbols[Group1] = [ Alt_R, Meta_R ], + symbols[Group2] = [ Alt_R, Meta_R ], + symbols[Group3] = [ Alt_R, Meta_R ], + symbols[Group4] = [ Alt_R, Meta_R ] + }; + modifier_map Mod1 { <RALT> }; +}; + +partial modifier_keys +xkb_symbols "ralt_switch_multikey" { + key <RALT> { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, Multi_key ] + }; +}; + +// special case or right Alt switch - for use with grp:alts_toggle +// +partial hidden modifier_keys +xkb_symbols "ralt_switch_for_alts_toggle" { + virtual_modifiers LAlt, AlGr; + key <LALT> { + type[Group1]="PC_RALT_LEVEL2", + symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ], + virtualMods= LAlt + }; + key <RALT> { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ], + virtualMods= AltGr + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + // using the level(alt_switch) map, either Alt key temporarily chooses // the third shift level. (Mostly be used to imitate Mac OS functionality.) partial modifier_keys @@ -32,7 +76,7 @@ xkb_symbols "lalt_switch" { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] }; - modifier_map Mod5 { ISO_Level3_Shift }; + modifier_map Mod5 { <LALT> }; }; // using the level(switch) map, the right Control key temporarily @@ -57,20 +101,16 @@ xkb_symbols "menu_switch" { modifier_map Mod5 { ISO_Level3_Shift }; }; -// using the level(win_switch) map, the either Windows' logo key -// temporarily chooses the third shift level. If you use this map, -// you should define your keyboard as pc101 or pc102 instead of pc104 -// or pc105. +// using the level3(win_switch) map, the either Windows' logo key +// temporarily chooses the third shift level. partial modifier_keys xkb_symbols "win_switch" { include "level3(lwin_switch)" include "level3(rwin_switch)" }; -// using the level(lwin_switch) map, the left Windows' logo key -// temporarily chooses the third shift level. If you use this map, -// you should define your keyboard as pc101 or pc102 instead of pc104 -// or pc105. +// using the level3(lwin_switch) map, the left Windows' logo key +// temporarily chooses the third shift level. partial modifier_keys xkb_symbols "lwin_switch" { key <LWIN> { @@ -93,6 +133,17 @@ xkb_symbols "rwin_switch" { modifier_map Mod5 { ISO_Level3_Shift }; }; +// using the level3(enter_switch) map, the Enter key on the keypad +// temporarily chooses the third shift level. This is especially +// useful for Mac laptops which miss the right Alt key. +partial modifier_keys +xkb_symbols "enter_switch" { + key <KPEN> { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; partial modifier_keys xkb_symbols "caps_switch" { @@ -147,5 +198,3 @@ xkb_symbols "lsgt_switch_latch" { }; modifier_map Mod5 { ISO_Level3_Shift }; }; - - |