diff options
Diffstat (limited to 'engine/python2/engine.py')
-rw-r--r-- | engine/python2/engine.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/engine/python2/engine.py b/engine/python2/engine.py index 032e386..fd1dc00 100644 --- a/engine/python2/engine.py +++ b/engine/python2/engine.py @@ -1753,9 +1753,14 @@ class Engine(IBus.EngineSimple): try: self._MM = self._SS = 0 ret = self.__on_key_common(ord(keyval)) - if (keyval in u',.、。' and - self.__prefs.get_value('common', 'behavior_on_period')): - return self.__cmd_convert(keyval, state) + if (keyval in + UN(self.__prefs.get_value('common', 'trigger_periods'))): + behavior = self.__prefs.get_value('common', + 'behavior_on_period') + if behavior == 1: + return self.__cmd_convert(keyval, state) + elif behavior == 2: + return self.__cmd_commit(keyval, state) return ret except: pass @@ -1919,9 +1924,15 @@ class Engine(IBus.EngineSimple): keyval = IBus.KEY_yen ret = self.__on_key_common(keyval, state) if (Engine.__input_mode != INPUT_MODE_LATIN and - unichr(keyval) in u',.' and - self.__prefs.get_value('common', 'behavior_on_period')): - return self.__cmd_convert(keyval, state) + unichr(keyval) in + UN(self.__prefs.get_value('common', 'trigger_periods'))): + behavior = self.__prefs.get_value('common', + 'behavior_on_period') + if behavior == 1: + return self.__cmd_convert(keyval, state) + elif behavior == 2: + return self.__cmd_commit(keyval, state) + return ret else: if not self.__preedit_ja_string.is_empty(): |