summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfujiwarat <takao.fujiwara1@gmail.com>2013-05-11 21:34:15 +0900
committerfujiwarat <takao.fujiwara1@gmail.com>2013-05-11 21:34:15 +0900
commitf609a0ff4e150a6ad1cfa81363ef1d1fea89bb5d (patch)
tree71f43c70ccc7950c42590a195a6e2636f81871b7
parent37caf0b0d9afefad1055846dd3e4389fd4f2a792 (diff)
downloadibus-anthy-f609a0ff4e150a6ad1cfa81363ef1d1fea89bb5d.tar.gz
Sent IBus.PropState.UNCHECKED for ibus 1.5.
-rw-r--r--engine/engine.py42
1 files changed, 40 insertions, 2 deletions
diff --git a/engine/engine.py b/engine/engine.py
index 944280e..53b5beb 100644
--- a/engine/engine.py
+++ b/engine/engine.py
@@ -2050,7 +2050,7 @@ class Engine(IBus.EngineSimple):
if (IBus.KEY_exclam <= keyval <= IBus.KEY_asciitilde or
keyval == IBus.KEY_yen):
- if self.__typing_mode == jastring.TYPING_MODE_KANA:
+ if Engine.__typing_mode == jastring.TYPING_MODE_KANA:
if keyval == IBus.KEY_0 and state == IBus.ModifierType.SHIFT_MASK:
keyval = IBus.KEY_asciitilde
elif keyval == IBus.KEY_backslash and keycode in [132-8, 133-8]:
@@ -2096,7 +2096,20 @@ class Engine(IBus.EngineSimple):
return True
+ def __unset_current_input_mode(self):
+ modes = {
+ INPUT_MODE_HIRAGANA: u'InputMode.Hiragana',
+ INPUT_MODE_KATAKANA: u'InputMode.Katakana',
+ INPUT_MODE_HALF_WIDTH_KATAKANA: u'InputMode.HalfWidthKatakana',
+ INPUT_MODE_LATIN: u'InputMode.Latin',
+ INPUT_MODE_WIDE_LATIN: u'InputMode.WideLatin'
+ }
+ self.__input_mode_activate(modes[Engine.__input_mode],
+ IBus.PropState.UNCHECKED)
+
def __cmd_on_off(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
if Engine.__input_mode == INPUT_MODE_LATIN:
return self.__set_input_mode(u'InputMode.Hiragana')
else:
@@ -2110,6 +2123,8 @@ class Engine(IBus.EngineSimple):
INPUT_MODE_LATIN: u'InputMode.WideLatin',
INPUT_MODE_WIDE_LATIN: u'InputMode.Hiragana'
}
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(modes[Engine.__input_mode])
def __cmd_circle_kana_mode(self, keyval, state):
@@ -2120,26 +2135,47 @@ class Engine(IBus.EngineSimple):
INPUT_MODE_LATIN: u'InputMode.Hiragana',
INPUT_MODE_WIDE_LATIN: u'InputMode.Hiragana'
}
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(modes[Engine.__input_mode])
def __cmd_latin_mode(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(u'InputMode.Latin')
def __cmd_wide_latin_mode(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(u'InputMode.WideLatin')
def __cmd_hiragana_mode(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(u'InputMode.Hiragana')
def __cmd_katakana_mode(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(u'InputMode.Katakana')
def __cmd_half_katakana(self, keyval, state):
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_input_mode()
return self.__set_input_mode(u'InputMode.HalfWidthKatakana')
# def __cmd_cancel_pseudo_ascii_mode_key(self, keyval, state):
# pass
+ def __unset_current_typing_mode(self):
+ modes = {
+ jastring.TYPING_MODE_ROMAJI: u'TypingMode.Romaji',
+ jastring.TYPING_MODE_KANA: u'TypingMode.Kana',
+ jastring.TYPING_MODE_THUMB_SHIFT: u'TypingMode.ThumbShift',
+ }
+ self.__typing_mode_activate(modes[Engine.__typing_mode],
+ IBus.PropState.UNCHECKED)
+
def __cmd_circle_typing_method(self, keyval, state):
if not self._chk_mode('0'):
return False
@@ -2149,7 +2185,9 @@ class Engine(IBus.EngineSimple):
jastring.TYPING_MODE_KANA: u'TypingMode.ThumbShift',
jastring.TYPING_MODE_ROMAJI: u'TypingMode.Kana',
}
- self.__typing_mode_activate(modes[self.__typing_mode],
+ # ibus 1.5 or later needs to send UNCHECKED
+ self.__unset_current_typing_mode()
+ self.__typing_mode_activate(modes[Engine.__typing_mode],
IBus.PropState.CHECKED)
return True