CapsLockを左Ctrlで置き換える.ただしAdministrator権限無しで.

CapsLockとCtrlを入れ替えたりCapsLockをCtrlに置き換えたりする方法はWebを調べればいくらでも出てくるが,いずれもAdministrator権限を要求する.そんなわけで自分に管理権限の無いマシンだと基本的に無力.だが調べてみたら何とかなることが判明.世界は広い.

Mapping Caps Lock to Control without Admin Access | /home/todd

要するに,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout の代わりに HKEY_CURRENT_USER\Keyboard Layoutを編集すればOK,とのこと.なんだそんな方法があったのか.

で,試してみたのだが,シンクライアント経由のターミナルサービスだとうまくいかなかった.ターミナルサービス側で設定してみて,確かにCapsLockがCtrlの働きをするようになったのだが,CapsLock(=Ctrl)の入力後,何故かCtrlがロックされてしまう.なおこのロックは左Ctrlの入力で解除される.クライアント側では普通にCapsLockとして入力されたものがターミナルサービス側で読み替えられてる,という辺りで何か妙なことになってる気がするので,クライアント側で設定出来るならそっちの方がよさそうに思うのだが,クライアント側は設定変更が何も出来ないのでどうしようもない.CapsLockの振舞いを変えられたら直りそうな気がするのだが...

ただし,CtrlのつもりでうっかりCapsLockをたたいてしまったときに,「cやxやvを入力してしまう (+"CapsLock" される)」のと,「意図通り動いた後で変な状態になる」だと,後者の方が格段にリカバリの労力が小さいので,若干変だがとりあえずこの設定で過ごすことにする.