diff options
author | hide <hide@localhost.localdomain> | 2009-06-17 15:18:47 +0900 |
---|---|---|
committer | hide <hide@localhost.localdomain> | 2009-06-17 15:18:47 +0900 |
commit | 2bd39435adbe329c46acd2cb18a6cd180cf02b5f (patch) | |
tree | 310cad0f7ab8df6e24d11c4ff98b96e1449de19c /engine | |
parent | 79083667175ae91bdd1d9171e3ee55b84f2f2a27 (diff) | |
download | ibus-anthy-2bd39435adbe329c46acd2cb18a6cd180cf02b5f.tar.gz |
corresponded to both ibus-1.1.0 and ibus-1.2.0
Diffstat (limited to 'engine')
-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 61e28a8..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, 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')): |