Mac のターミナルで、AquaSKK を使う。

 おれは最近、知ったんだけど、ターミナルで [ctrl] + [ j ] を押すと、リターンになるのな。
 これを、Hammerspoon など使ってどうにかしようという話。


スポンサード リンク

 ctrl + j で改行ってのは、UNIX の流儀なんだろうか。このキーコンビネーションは、SKK を使うとき、日本語モードにするのにも使うのである。

 echo で日本語を出力するつもりで、ctrl + j を押すと改行されちゃって、


$ echo ‘
>

 とかなって、イライラするひとは多いはず。

 AquqSKK はキーの割り当ての設定ができる。
 日本語モードにするキーを [ctrl] + [ j ] 以外にも設定して、ターミナル上では、新しく設定したキーコンビネーションを使うようにするのがいいだろう。

 設定ファイルの場所は、
 


ユーザーネーム/Library/Application Support/AquaSKK/keymap.conf

 ~/Library/Application Support/AquaSKK/
 設定の文法は、AquaSKK の wiki に詳しい。
 
🔗 keymap.confの文法 – AquaSKK Wiki – AquaSKK – OSDN

 おれの場合は、⌘英かなで右のコマンドキーを [かな]キーにしている( US キーボード使用)。
 この[かな]キーを押せば、[ctrl] + [ j ] を押した時と同様、日本語モードになるように設定する。


SKK_JMODE ctrl::j

 これを、以下のようにした。


SKK_JMODE ctrl::j||keycode::0x68

 これで保存したら、メニューバー右側の AquaSKK のアイコンをクリックし、「設定ファイルの再度読み込み」を選択する。
 [かな]キー(右コマンドキー)を押下すると、ちゃんと AquaSKK の日本語モードになる。うまくいった。
 
 [かな]キーではなく、例えば [ctrl] + [ 0 ] を使うとすればこうなる。
 


SKK_JMODE ctrl::j||ctrl::0

 このように、普通のキーを使うぶんには、キートップに印字されている文字でいいんだけど、特殊なキーを使いたい場合、キーコードを調べる必要がある。
 その際に便利なのが、Karabiner Elements に同梱されている Karabiner-EventViewer.app だ。キーを押すと「code」の欄に 0x36 みたいなのを表示してくれるので、「keycode::0x36」みたいにして指定すればいい。

 ぶっちゃけこれだけでも十分な気はする。
 ターミナルを使う時は、[ctrl] + [ j ] キーではなく、[かな]キー(や他に割り当てたキー)で日本語モードに切り替えればいいのである。

 しかしどうしても [ctrl] + [ j ] という癖が身に染みついているので、つい失敗して「ほげー」などと椅子ごと倒れこむはめになる。
 
 これを回避するには、Karabiner-Elements などで用いるのがいいらしい。ターミナルの時だけ [ctrl] + [ j ] を押したら、[かな]キー押されたことにするわけ。

 ただし、おれは Hammerspoon を使用しているので、Hammerspoon のコードを掲載したい。といっても、以下のブログさまのコードをほとんど丸写しさせていただいた。

🔗 KarabinerからHammerspoonへ – すぎゃーんメモ

🔨 init.lua

 Hammerspoon で「Reload Config」を選択してやれば、ターミナルで、[ctrl] + [ j ] が出来るようになる。

 [かな]キーではなく、さきほど例にあげた [ctrl] + [ 0 ] で日本語モードになる設定をしている場合は、keyStroke の部分を直す。

 で、いけるはず。
 使えるキーはこんな感じみたい。

🔗 Hammerspoon docs: hs.keycodes


f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15,
f16, f17, f18, f19, f20, pad, pad*, pad+, pad/, pad-, pad=,
pad0, pad1, pad2, pad3, pad4, pad5, pad6, pad7, pad8, pad9,
padclear, padenter, return, tab, space, delete, escape, help,
home, pageup, forwarddelete, end, pagedown, left, right, down, up,
shift, rightshift, cmd, rightcmd, alt, rightalt, ctrl, rightctrl,
capslock, fn

 その他、任意のひと文字。英数キーは「eisu」、かなキーは「kana」でいいみたいだな。

スポンサードリンク