| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- // 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" {
- virtual_modifiers NumLock;
- 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 ]
- };
- };
|