summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Huang <shawn.p.huang@gmail.com>2009-06-17 17:23:27 +0800
committerPeng Huang <shawn.p.huang@gmail.com>2009-06-17 17:23:27 +0800
commit7224a6d4d2309e6c42df52f3a039540bdebc3f02 (patch)
tree8609e64dd83367ce6b55c6776159f968d82c23c0
parent1ab43e76bfbad4f96c8a506f41c72efcf5c44b8f (diff)
parentcd52370442c94814a67e10b28b9fc85d3c128d71 (diff)
downloadibus-anthy-7224a6d4d2309e6c42df52f3a039540bdebc3f02.tar.gz
Merge branch 'master' of git@github.com:phuang/ibus-anthy1.2.0.20090617
-rw-r--r--engine/engine.py34
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')):