aboutsummaryrefslogtreecommitdiff
path: root/test/data/symbols/level5
diff options
context:
space:
mode:
Diffstat (limited to 'test/data/symbols/level5')
-rw-r--r--test/data/symbols/level5152
1 files changed, 152 insertions, 0 deletions
diff --git a/test/data/symbols/level5 b/test/data/symbols/level5
new file mode 100644
index 0000000..ec8c9a9
--- /dev/null
+++ b/test/data/symbols/level5
@@ -0,0 +1,152 @@
+// These partial variants assign ISO_Level5_Shift to various XKB keycodes
+// so that the fifth shift level can be reached.
+
+// The right Ctrl key (while pressed) chooses the fifth shift level.
+partial modifier_keys
+xkb_symbols "rctrl_switch" {
+ key <RCTL> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ include "level5(modifier_mapping)"
+};
+
+// The Less/Greater key (while pressed) chooses the fifth shift level.
+partial modifier_keys
+xkb_symbols "lsgt_switch" {
+ key <LSGT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ include "level5(modifier_mapping)"
+};
+
+// The right Alt key (while pressed) chooses the fifth shift level.
+partial modifier_keys
+xkb_symbols "ralt_switch" {
+ key <RALT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ include "level5(modifier_mapping)"
+};
+
+// The CapsLock key (while pressed) chooses the fifth shift level.
+partial modifier_keys
+xkb_symbols "caps_switch" {
+ key <CAPS> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ include "level5(modifier_mapping)"
+};
+
+// Ensure a mapping to a real modifier for LevelFive.
+partial modifier_keys
+xkb_symbols "modifier_mapping" {
+ replace key <MDSW> {
+ type[Group1] = "ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift ]
+ };
+ modifier_map Mod3 { <MDSW> };
+};
+
+
+// This adds the definitions needed to create a level5-lock behaviour, using
+// the real modifier NumLock as a lock indicator.
+// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
+// See also: compat/level5(level5_lock)
+partial modifier_keys
+xkb_symbols "lock" {
+ key.type[Group1] = "ONE_LEVEL";
+ include "level5(modifier_mapping)"
+ replace key <HYPR> {
+ vmods = NumLock,
+ symbols[Group1] = [ NoSymbol ],
+ actions[Group1] = [ SetMods(modifiers=NumLock) ]
+ };
+ modifier_map Mod2 { <HYPR> };
+};
+
+// The following modifier keys are used to switch to the third shift level
+// and to set a corresponding lock, implemented as NumLock.
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_lock" {
+ include "level5(lock)"
+ key <LSGT> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lwin_switch_lock" {
+ include "level5(lock)"
+ key <LWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch_lock" {
+ include "level5(lock)"
+ key <RALT> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "rwin_switch_lock" {
+ include "level5(lock)"
+ key <RWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_lock_cancel" {
+ include "level5(lock)"
+ key <LSGT> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "lwin_switch_lock_cancel" {
+ include "level5(lock)"
+ key <LWIN> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "ralt_switch_lock_cancel" {
+ include "level5(lock)"
+ key <RALT> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};
+
+partial modifier_keys
+xkb_symbols "rwin_switch_lock_cancel" {
+ include "level5(lock)"
+ key <RWIN> {
+ type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
+ symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift,
+ ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
+ };
+};