ibus-anthy-1.2.0.20090917 の親指シフト対応の改善

ibus-anthy-1.2.0.20090917 で親指シフトを使うと、次のようなケースで同じ文字が2回入力されてしまうという不具合があったので、パッチを作ってみました。

  1. 'B'キーを押し下げる
  2. ';'キーを押し下げる
  3. 'B',';'キーを離す

正常な場合は、「へん」という文字列が入力されるのですが、「へへん」と入力されてしまいます。

パッチ

--- engine/engine.py.orig       2009-11-28 00:43:39.246057223 +0900
+++ engine/engine.py    2009-11-28 00:46:43.395983810 +0900
@@ -1019,6 +1019,7 @@
         def on_timeout(keyval):
             if self._MM:
                 insert(thumb.table[self._MM][self._SS])
+                self._MM = 0
             else:
                 cmd_exec([0, RS(), LS()][self._SS])
             self._H = None
@@ -1094,6 +1095,7 @@
                 elif self._MM:
                     stop()
                     insert(thumb.table[self._MM][1 if keyval == RS() else 2])
+                    self._MM = 0
                 else:
                     self._SS = 1 if keyval == RS() else 2
                     start(T1())
@@ -1115,6 +1117,7 @@
                 if self._MM:
                     stop()
                     insert(thumb.table[self._MM][self._SS])
+                    self._MM = 0
                 elif self._SS:
                     stop()
                     cmd_exec([0, RS(), LS()][self._SS])