キーバインド その2

skkime標準のキーバインドについてはこちらをご覧下さい。

面倒なことになりました。
数時間前の記事の通り、Control-jを極力使わないようにSKKIMEを設定しようと思ったのですが、
C-j の major-map を削除しても何も変わらない (というか、 major-map が何のためにあるのか分からない) 。
また、C-j の j-mode-map (skk-kakutei) を削除すると、C-jで確定ができなくなる。


そこで、次のような手段を取りました。

  1. C-jのマップを全て削除する
  2. S-Spaceのマップすべてにskk-kakuteiを設定する
  3. 「のどか」の設定ファイルに次のように書く
# S-Space でIME ON

if ( USE104 )
  key ~IL-S-Space = A-BackQuote
else
  key ~IL-S-Space = A-半角/全角
endif

# 変換中にC-jでS-Space(確定)
key I-C-j = S-Space

これで次のような動作をするようになります。

状態 コマンド 機能
IME off S-Space IME onに
IME off C-j アプリへC-jを送る
ラテンモード(IME on)である / または▽▼(変換待ち状態・変換中)でない S-Space かなモードへ
ラテンモード(IME on)である / または▽▼(変換待ち状態・変換中)でない C-j アプリへC-jを送る
IME文字入力済み/変換中(▽▼) C-j 確定