同じことで悩んでいる人がいそうだったので共有しておきます.
US配列キーボードを使っている人,もしくはJIS配列キーボードを無理矢理US配列で使おうとしている頭のおかしい人(私のことです)向けです.
アプリケーションを使用せずに済む方法を探したのですが,見つからなかったのでChangeKeyを使う方法を備忘録として載せておきます.
(2020.5.20 追記)
キー割り当ての変更は,レジストリをいじることでやれるそうです.
ただし,なにか間違えるとどうなるかわからないので自己責任になります.
やり方
- ChangeKeyをダウンロードする
- IMEの設定で適当なキー(私は一生使わないINSキーにしました)にIMEオン/オフを割り当てる
- ChangeKeyでCapsLockキーに2.でIMEオン/オフを割り当てたキーを割り当てる(私の場合,CapsLockがINSになりますね)
- 再起動する
これでCapsLockにIMEオン/オフが割り当てられるはずです.
IMEの設定でINSにIMEオン/オフの機能を割り当て,ChangeKeyでCapsLockキーをINSキーにすることで,CapsLockでIMEのオン/オフができるようになるわけです.無理矢理ですね.
色々とアレな方法なので推奨はできませんが,とりあえずこれで目的は達成できます.
なぜこんな方法をとらなければならないかというと,Windowsで使用キーボードの設定をUS101/102にすると,IMEのキー設定における英数(CapsLock)がCapsLock+Shiftになってしまうからです.
そんでCapsLockキーの管理はどこか別のところでされているようです.
そのため,その状態でCapsLockキーになにかしらの機能を割り当てようとすると,このようにキー配置を変更するしかないようです.
このようなクソ仕様のため,このような方法をとる羽目になります.
注意
US配列における元々のCapsLockキーの役割である大文字・小文字の切り替え機能は失われます.
私は大文字入力の際はShiftキーとの同時押しで入力するのでまったく困りませんが.
大体の人はそうなんじゃないですかね.