diff options
author | Peng Huang <shawn.p.huang@gmail.com> | 2009-06-17 17:23:27 +0800 |
---|---|---|
committer | Peng Huang <shawn.p.huang@gmail.com> | 2009-06-17 17:23:27 +0800 |
commit | 7224a6d4d2309e6c42df52f3a039540bdebc3f02 (patch) | |
tree | 8609e64dd83367ce6b55c6776159f968d82c23c0 | |
parent | 1ab43e76bfbad4f96c8a506f41c72efcf5c44b8f (diff) | |
parent | cd52370442c94814a67e10b28b9fc85d3c128d71 (diff) | |
download | ibus-anthy-1.2.0.20090617.tar.gz |
Merge branch 'master' of git@github.com:phuang/ibus-anthy1.2.0.20090617
-rw-r--r-- | engine/engine.py | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/engine/engine.py b/engine/engine.py index ccb7073..63cb598 100644 --- a/engine/engine.py +++ b/engine/engine.py @@ -272,14 +272,22 @@ class Engine(ibus.EngineBase): self.__invalidate() return True - def process_key_event(self, keyval, keycode, state): - try: -# return self.process_key_event_internal(keyval, state) - return self.process_key_event_internal2(keyval, state) - except: - import traceback - traceback.print_exc() - return False + if ibus.get_version() >= '1.2.0': + def process_key_event(self, keyval, keycode, state): + try: + return self.process_key_event_internal2(keyval, keycode, state) + except: + import traceback + traceback.print_exc() + return False + else: + def process_key_event(self, keyval, state): + try: + return self.process_key_event_internal2(keyval, 0, state) + except: + import traceback + traceback.print_exc() + return False def process_key_event_internal(self, keyval, state): is_press = (state & modifier.RELEASE_MASK) == 0 @@ -982,7 +990,7 @@ class Engine(ibus.EngineBase): return repr([int(state), int(keyval)]) - def process_key_event_internal2(self, keyval, state): + def process_key_event_internal2(self, keyval, keycode, state): is_press = (state & modifier.RELEASE_MASK) == 0 @@ -1012,9 +1020,11 @@ class Engine(ibus.EngineBase): if (keysyms.exclam <= keyval <= keysyms.asciitilde or keyval == keysyms.yen): - if (keyval == keysyms._0 and state == modifier.SHIFT_MASK and - self.__typing_mode == jastring.TYPING_MODE_KANA): - keyval = keysyms.asciitilde + if self.__typing_mode == jastring.TYPING_MODE_KANA: + if keyval == keysyms._0 and state == modifier.SHIFT_MASK: + keyval = keysyms.asciitilde + elif keyval == keysyms.backslash and keycode == 132 - 8: + keyval = keysyms.yen ret = self.__on_key_common(keyval) if (unichr(keyval) in u',.' and self.__prefs.get_value('common', 'behivior_on_period')): |