diff --git a/engine/python2/engine.py b/engine/python2/engine.py index c7ccd3f..1bf35fc 100644 --- a/engine/python2/engine.py +++ b/engine/python2/engine.py @@ -1855,6 +1855,7 @@ def T2(): state = state & (IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK | + IBus.ModifierType.MOD4_MASK | IBus.ModifierType.RELEASE_MASK) if keyval in KP_Table and self.__prefs.get_value('common', @@ -1923,7 +1924,9 @@ def T2(): if cmd_exec(keyval, state): return True elif 0x21 <= keyval <= 0x7e and state & \ - (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK) == 0: + (IBus.ModifierType.CONTROL_MASK | + IBus.ModifierType.MOD1_MASK | + IBus.ModifierType.MOD4_MASK) == 0: if state & IBus.ModifierType.SHIFT_MASK: insert(self.__thumb.get_shift_char(keyval, unichr(keyval))) elif self._SS == 0: diff --git a/engine/python3/engine.py b/engine/python3/engine.py index 0858614..90219d0 100644 --- a/engine/python3/engine.py +++ b/engine/python3/engine.py @@ -1850,6 +1850,7 @@ def T2(): state = state & (IBus.ModifierType.SHIFT_MASK | IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK | + IBus.ModifierType.MOD4_MASK | IBus.ModifierType.RELEASE_MASK) if keyval in KP_Table and self.__prefs.get_value('common', @@ -1918,7 +1919,9 @@ def T2(): if cmd_exec(keyval, state): return True elif 0x21 <= keyval <= 0x7e and state & \ - (IBus.ModifierType.CONTROL_MASK | IBus.ModifierType.MOD1_MASK) == 0: + (IBus.ModifierType.CONTROL_MASK | \ + IBus.ModifierType.MOD1_MASK | \ + IBus.ModifierType.MOD4_MASK) == 0: if state & IBus.ModifierType.SHIFT_MASK: insert(self.__thumb.get_shift_char(keyval, chr(keyval))) elif self._SS == 0: