C-merのブログ

ザ・雑記

WindowsでMac+HHKB(英字)の操作感を維持するためにAutoHotKeyスクリプトを書いた話(ctrlとwinのキーマップ入れ替え、左右commandでの日本語切り替え)

Windows上で IME による日本語入力の切り替えをしたいときに Mac + HHKB (英字) の操作感を維持したいユーザー向け AutoHotKey スクリプトを書きましたC-merです

具体的には、ctrl と win のキーマップ入れ替え、Karabiner-Elements 風の左右 command (ここではctrl) での日本語切り替えをやった

WindowsMac のキーボードを使うという目的でも使えるかも?

経緯

Mac + HHKB (英字) は楽しい!

Macでは基本のkarinbinerによって入力言語の切り替えを設定。 f:id:C-mer:20211229112533p:plain

所用で Win 機をさわるようになる。ショートカット的に command (mac) と ctrl (win) は関連性が高い。

当初は基本的なキーマップ割り当てはPowerToysで変更。日本語切り替えは右Alt空打ち。ここで右小指がお亡くなりになられる。 f:id:C-mer:20211229105121p:plain

Autohotkey 含め色々触ってみるが失敗。

自分のやりたいことに近いことをした人を見つけたので重い腰をあげて Autohotkey スクリプトを書くことを決意。

書いた

これ。 github.com

苦労・工夫した点

  • 装飾キーの入れ替え+入れ替えた装飾キーへの機能 (hot key?) 追加なので色々面倒になった
    • キー押し込み時と押し上げ時の両方を記述する必要があった
    • 他の実装などでは A_PriorHotkey を空打ち判定に用いているが、入れ替えたためかうまく判定できず、ウィキでみつけた A_PriorKey を使用したらうまくいった
    • Win キーは装飾キーなのにもとから空打ち設定を盛り込んでるのが原因みたいなところがあった(個人的にはこの機能も残したかったので、結果として時間がかかった?
  • IME まわりの設定は IME.ahk のおかげで脳死でできました

感想

  • Autohotkey 全くわからんが、また触ってもいいかなと思った (別の内容で)