summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linux/X/symbols/level375
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 };
};
-
-