ddskkでも確定キーの挙動をAquaSKKライクに
カナモードからq押さないとひらがなモードに戻れないのは不便なので、AquaSKKと同じように C-j
(僕は C-o
) で カナ→かな になるようにしたい。
調べてみると、 skk-rom-kana-rule-list
というのに、かな・カナモード用のキーマップがあるので、それに対して自分で修正したバージョンのfuncを skk-kakutei-key
に登録してあげれば良いみたいな雰囲気。
そこで、
(defun my:skk-kakutei-key (arg)
(interactive "P")
(if skk-henkan-mode
(skk-kakutei arg)
(skk-j-mode-on)))
というような、変換中だったら普通に確定キーとして動くけど、それ以外だったらかなに戻す、という動作をするカスタム関数を定義して、それを、
(add-to-list 'skk-rom-kana-rule-list
'(skk-kakutei-key nil my:skk-kakutei-key))
してあげればOK。 skk-rom-kana-rule-list
というのは (require 'skk-setup)
しただけだとまだないので、 (require 'skk-vars)
も必要だった。
最終的な設定はこちら:
https://github.com/typester/emacs-config/blob/master/conf/init/init-ddskk.el
はー、しかしこれで、AquaSKK/uim-skk/ddskk 全部で同じ感じで入力できる環境がようやくできた。 miyagawaさんのpodcastで、yak率という言葉がでてきたけど、SKK導入のyak率は相当なものだなぁ。