OSを上げると何か動かなくなるものなので、ついつい上げることが億劫になりますね。社内の大きなイベント*1がひと段落したので、やっと重い腰を上げてOSをSierraにしました。
すでにwebに色々情報が流れてますが、karabinnerがSierraでは使えません。普段AquaSKKを使っていますが、iterm2ではC-j
が改行として取られてしまい、日本語入力がまともにできません。itermではemacsを立ち上げたり、weechatでslackへの書き込みをするので、影響範囲が大きいです。karabinner-elementとhammerspoonで解決するのがよくやられている方法だったので、メモ的に書いておきます。itermでC-j
が効かないので設定を書いてごまかす作戦です。
local function keyCode(key, modifiers) modifiers = modifiers or {} return function() hs.eventtap.event.newKeyEvent(modifiers, string.lower(key), true):post() hs.timer.usleep(1000) hs.eventtap.event.newKeyEvent(modifiers, string.lower(key), false):post() end end local function remapKey(modifiers, key, keyCode) hs.hotkey.bind(modifiers, key, keyCode, nil, keyCode) end remapKey({'ctrl'}, 'j', keyCode('kana'))
luaは分からんので、コードは適当…。
余談
AquaSKKがitermでそのままでは使えないとなった時にGoogle日本語入力に切り替えようとしばらく頑張ってみました。しかし、自分が今、かな入力/直接入力(英数)のどちらのモードに入るのかがぱっと見で分かりづらいこと、分かったとして、変換キーがSKKと比べると打鍵が多いことが非常にストレスとなり、脱出に失敗しました…(N年ぶりM度目)。日本語のみ/英語のみの文書だと問題ないのでしょうが、両方が入り混じったものだと難しいですね。ac-mozcでモードレスとかも試してみたけど、これはこれで難しかった…。
*1:インターンなどなど