2012-07-12 07:42:31 -06:00
|
|
|
// these variants assign various XKB keycodes to ISO_Level5_Shift so that
|
|
|
|
// the third shift level can be reached
|
|
|
|
//
|
|
|
|
|
2013-02-17 02:22:41 -07:00
|
|
|
// Ensure a mapping to a real modifier for LevelFive
|
|
|
|
partial modifier_keys
|
|
|
|
xkb_symbols "modifier_mapping" {
|
|
|
|
key.type[Group1] = "ONE_LEVEL";
|
|
|
|
|
|
|
|
replace key <MDSW> {
|
|
|
|
vmods = LevelFive,
|
|
|
|
symbols[Group1] = [ ISO_Level5_Shift ],
|
|
|
|
actions[Group1] = [ SetMods(modifiers=LevelFive) ]
|
|
|
|
};
|
|
|
|
modifier_map Mod3 { <MDSW> };
|
|
|
|
};
|
|
|
|
|
2012-07-12 07:42:31 -06:00
|
|
|
// using the level(switch) map, the right Control key temporarily
|
|
|
|
// chooses the fifth shift level (until it is released).
|
|
|
|
partial modifier_keys
|
|
|
|
xkb_symbols "rctrl_switch" {
|
|
|
|
key <RCTL> {
|
|
|
|
type[Group1]="ONE_LEVEL",
|
|
|
|
symbols[Group1] = [ ISO_Level5_Shift ]
|
|
|
|
};
|
2013-02-17 02:22:41 -07:00
|
|
|
include "level5(modifier_mapping)"
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
partial modifier_keys
|
|
|
|
xkb_symbols "lsgt_switch" {
|
|
|
|
key <LSGT> {
|
|
|
|
type[Group1]="ONE_LEVEL",
|
|
|
|
symbols[Group1] = [ ISO_Level5_Shift ]
|
|
|
|
};
|
2013-02-17 02:22:41 -07:00
|
|
|
include "level5(modifier_mapping)"
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
partial modifier_keys
|
|
|
|
xkb_symbols "ralt_switch" {
|
|
|
|
key <RALT> {
|
|
|
|
type[Group1]="ONE_LEVEL",
|
|
|
|
symbols[Group1] = [ ISO_Level5_Shift ]
|
|
|
|
};
|
2013-02-17 02:22:41 -07:00
|
|
|
include "level5(modifier_mapping)"
|
2012-07-12 07:42:31 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// The following modifier keys are used to switch to the third shift and to set a
|
|
|
|
// corresponding lock, implemented as NumLock.
|
|
|
|
|
|
|
|
partial modifier_keys
|
|
|
|
xkb_symbols "lock" {
|
|
|
|
// 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)
|
|
|
|
key.type[Group1] = "ONE_LEVEL";
|
|
|
|
|
2013-02-17 02:22:41 -07:00
|
|
|
include "level5(modifier_mapping)"
|
2012-07-12 07:42:31 -06:00
|
|
|
|
|
|
|
replace key <HYPR> {
|
|
|
|
vmods = NumLock,
|
|
|
|
symbols[Group1] = [ NoSymbol ],
|
|
|
|
actions[Group1] = [ SetMods(modifiers=NumLock) ]
|
|
|
|
};
|
|
|
|
modifier_map Mod2 { <HYPR> };
|
|
|
|
};
|
|
|
|
|
|
|
|
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 ]
|
|
|
|
};
|
|
|
|
};
|