uim-skkでC-jでもカナからひらがなへ戻れるようにカスタマイズ
AquaSKKとuim-skkを併用していて、C-j
キー (僕は C-o
に変更してるが) の扱いの違いが若干気になった。
AquaSKKでは基本的に、C-j
を押せば、常にひらがな入力モードになる。
一方uim-skkは、q
を押してカタカナモードになっている状態で C-j
を押してもなにも反応しない。また、カタカナモードから英数モードに移行したあとで、再度 C-j
を押すとカタカナモードに復帰してしまう。 ひらかなモードに戻るには再度 q
でトグルさせてあげる必要があるみたい。
好みの問題かもしれないが、僕は AquaSKK の挙動のほうが好きなので、uim-skkもそれにあわせることにする。
しかし不幸なことに、uim-skkのドキュメントにそのように設定する項目が見当らなかったので、以下のようにアドホックにコードを変更した。
--- /usr/share/uim/skk.scm.orig 2013-03-06 19:12:01.994615339 +0900
+++ /usr/share/uim/skk.scm 2013-03-06 19:16:07.314888197 +0900
@@ -937,6 +937,11 @@
(skk-return-key? key key-state))
(skk-commit-raw sc key key-state)
#f)
+ ((skk-on-key? key key-state)
+ (skk-context-set-state! sc 'skk-state-direct)
+ (skk-context-set-kana-mode! sc skk-type-hiragana)
+ (rk-flush rkc)
+ #f)
((skk-wide-latin-key? key key-state)
(skk-context-set-state! sc 'skk-state-wide-latin)
(rk-flush rkc)
あってるかわからないが、とりあえずこれで希望通りの動作になっているっぽい。