From ac8fa26561215b3c6e9af0151d509fa18e6fe7c4 Mon Sep 17 00:00:00 2001 From: Daniel Knittl-Frank Date: Wed, 28 Apr 2010 22:17:24 +0200 Subject: [PATCH] Fix for commit a87558e070a4ce1b9b375483748c010190e4ef6a (General rules, not exclusively for Neo 2.0) 4 out of 5 files were missing --- rules/base.o_s.part | 16 ++++++++++++ rules/base.xml.in | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ symbols/level3 | 36 +++++++++++++++++++++++++++ symbols/level5 | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ symbols/shift | 45 +++++++++++++++++++++++++++++++++ 5 files changed, 235 insertions(+) diff --git a/rules/base.o_s.part b/rules/base.o_s.part index 79f61d9..9958f10 100644 --- a/rules/base.o_s.part +++ b/rules/base.o_s.part @@ -113,9 +113,25 @@ shift:both_capslock = +shift(both_capslock) shift:lshift_both_capslock = +shift(lshift_both_capslock) shift:rshift_both_capslock = +shift(rshift_both_capslock) + shift:both_capslock_cancel = +shift(both_capslock_cancel) + shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) + shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) + shift:both_shiftlock = +shift(both_shiftlock) + shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) + shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) lv3:caps_switch = +level3(caps_switch) lv3:bksl_switch = +level3(bksl_switch) + lv3:lsgt_switch = +level3(lsgt_switch) + lv3:caps_switch_latch = +level3(caps_switch_latch) + lv3:bksl_switch_latch = +level3(bksl_switch_latch) + lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) lv5:ralt_switch_lock = +level5(ralt_switch_lock) + lv5:lwin_switch_lock = +level5(lwin_switch_lock) + lv5:rwin_switch_lock = +level5(rwin_switch_lock) + lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) + lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) + lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) + lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) diff --git a/rules/base.xml.in b/rules/base.xml.in index 844bf45..e8b7de0 100644 --- a/rules/base.xml.in +++ b/rules/base.xml.in @@ -4717,6 +4717,12 @@ <_description>Backslash + @@ -5175,6 +5181,36 @@ <_description>Both Shift-Keys together toggle CapsLock + + + + + @@ -5260,6 +5296,42 @@ <_description>Right Win chooses 5th level and locks it when pressed together with another 5th-level-chooser, one press releases the lock + + + + + + diff --git a/symbols/level3 b/symbols/level3 index 1e58a48..c2c6b13 100644 --- a/symbols/level3 +++ b/symbols/level3 @@ -162,3 +162,39 @@ xkb_symbols "bksl_switch" { }; modifier_map Mod5 { ISO_Level3_Shift }; }; + +partial modifier_keys +xkb_symbols "lsgt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "caps_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "bksl_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; + +partial modifier_keys +xkb_symbols "lsgt_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + modifier_map Mod5 { ISO_Level3_Shift }; +}; diff --git a/symbols/level5 b/symbols/level5 index 921592a..19db36c 100644 --- a/symbols/level5 +++ b/symbols/level5 @@ -55,6 +55,17 @@ xkb_symbols "lsgt_switch_lock" { }; partial modifier_keys +xkb_symbols "lwin_switch_lock" { + + include "level5(lock)" + + key { + 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)" @@ -64,3 +75,58 @@ xkb_symbols "ralt_switch_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" { + + include "level5(lock)" + + key { + 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 { + 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 { + 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 { + 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 { + 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 ] + }; +}; diff --git a/symbols/shift b/symbols/shift index 4bd1cd6..78951c1 100644 --- a/symbols/shift +++ b/symbols/shift @@ -39,3 +39,48 @@ xkb_symbols "both_capslock" { include "shift(lshift_both_capslock)" include "shift(rshift_both_capslock)" }; + +// Release Lock when pressed alone and set Lock when pressed with another Shift key. +partial modifier_keys +xkb_symbols "lshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_L, Caps_Lock ] + }; +}; +// Release Lock when pressed alone and set Lock when pressed with another Shift key. +partial modifier_keys +xkb_symbols "rshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_R, Caps_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_capslock_cancel" { + include "shift(lshift_both_capslock_cancel)" + include "shift(rshift_both_capslock_cancel)" +}; + + +// When pressed together with another Shift key, lock/unlock Shift. +partial modifier_keys +xkb_symbols "lshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_L, Shift_Lock ] + }; +}; +// When pressed together with another Shift key, lock/unlock Shift. +partial modifier_keys +xkb_symbols "rshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_R, Shift_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_shiftlock" { + include "shift(lshift_both_shiftlock)" + include "shift(rshift_both_shiftlock)" +}; -- 2.7.4