Windows で CapsLock を Ctrl にする
Ubuntu や Mac で、CapsLock キーを Ctrl にリマップして使って長く、Windows でもそうしたく調べて、これはこれで独特な世界が広がってましたのでまとめました。
PowerToys で CapsLock を Ctrl にする
Microsoft 謹製の PowerToys というアプリに Keyboard Manager というキーリマッパーがあります。初手はこれを試すのが手軽でしょう。
❯ winget search powertoys
名前 ID バージョン ソース
-----------------------------------------------------------
Microsoft PowerToys XP89DCGQ3K6VLD Unknown msstore
PowerToys (Preview) Microsoft.PowerToys 0.64.1 winget
❯ winget install Microsoft.PowerToys
スタートメニューで探すと PowerToys が出てくるので、あとは以下記事のとおりに。
私の手元では、CapsLock が確かに Ctrl になってくれたものの、ショートカットキー待ちと解釈されるようで、CapsLockキーを押すと「Ctrlに続くキーは何かな?」みたいな挙動になるようです。とても説明が難しいのですが、、、キーボードのCapsLockキーを押して(PowerToysによってCtrlにリマップされてる)、ふつうに文字入力のつもりで「a」と打てば「Ctrl+a」と解釈され全選択になり、「z」と打てば「Ctrl+z」で「戻す」になりで、思ってたのと違ったのでこれはやめました。
Ctrl2Cap で CapsLock を Ctrl にする
PowerToys でイイ感じにならないなら、次点で Microsoft 謹製の Ctrl2Cap が効く可能性があります。
Ctrl2Cap という命名に反して(?)、
- CtrlがCapsにはなりません。CtrlはCtrlのままです。
- CapsがCtrlになるだけです。
私の手元は Ctrl2Cap で私が期待した挙動となってくれました。
gsudo をインストールする
gsudo は、管理者権限ではないセッションのまま、管理者権限でコマンド実行するコマンドです。あると便利なので入れます。個人的な趣味で winget で入れてます。
❯ winget search gsudo
名前 ID バージョン ソース
---------------------------------------
gsudo gerardog.gsudo 2.0.3 winget
❯ winget install gsudo
ctrl2cap をインストールする
ctrl2cap を scoop で入れます。 choco にもあるようですが、個人的な趣味で scoop で入れます。「zipをダウンロードして任意のフォルダに展開して」とか今更やりたくないので。
❯ scoop bucket add sysinternals
❯ scoop install ctrl2cap
Installing 'ctrl2cap' (2.0) [64bit] from sysinternals bucket
Loading Ctrl2Cap.zip from cache.
Checking hash of Ctrl2Cap.zip ... ok.
Extracting Ctrl2Cap.zip ... done.
Linking ~\scoop\apps\ctrl2cap\current => ~\scoop\apps\ctrl2cap\2.0
Creating shim for 'ctrl2cap'.
'ctrl2cap' (2.0) was installed successfully!
なんも考えず実行すると「パンピーは帰れ」って言われます。
❯ ctrl2cap.exe /install
Ctrl2cap Installation Applet
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Ctrl2cap must be run with administrative rights.
gsudo を挟むと今度は ctrl2cap.nt5.sys が無いよって言われます。ctrl2cap.exe は、カレントディレクトリに ctrl2cap.*.sys が置いてある前提で書かれているようで動きません。
❯ gsudo ctrl2cap.exe /install
Ctrl2cap Installation Applet
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Could not copy ctrl2cap.nt5.sys to \system32\drivers.:
指定されたファイルが見つかりません。
scoop install .... したときに、このフォルダに置いたよって出てます。そのフォルダに行ってみます。すると件のファイルが転がってます。
❯ cd ~\scoop\apps\ctrl2cap\current
❯ pwd
Path
----
C:\Users\sasas\scoop\apps\ctrl2cap\current
❯ ls
ディレクトリ: C:\Users\sasas\scoop\apps\ctrl2cap\current
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2006/09/27 17:04 10104 ctrl2cap.amd.sys
-a---- 2006/11/01 13:05 150328 ctrl2cap.exe
-a---- 1999/11/21 17:20 2864 ctrl2cap.nt4.sys
-a---- 1999/11/21 18:46 2832 ctrl2cap.nt5.sys
-a---- 2006/07/28 8:32 7005 Eula.txt
-a---- 2022/11/20 17:45 66 install.json
-a---- 2022/11/20 17:41 836 manifest.json
なるほどわかりましたよ ↓
やるには
あらためてまとめるとこうなります。Windows 再起動すると CapsLock が Ctrl になります。
❯ scoop install ctrl2cap
❯ cd ~\scoop\apps\ctrl2cap\current
❯ gsudo ctrl2cap.exe /install
Ctrl2cap Installation Applet
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Ctrl2cap successfully installed. You must reboot for it to take effect.
Windows 再起動後は ctrl2cap をアンインストールできます。若干戸惑うところですがアンインストールしてオッケーです。
❯ scoop uninstall ctrl2cap
Uninstalling 'ctrl2cap' (2.0).
Removing shim 'ctrl2cap.shim'.
Removing shim 'ctrl2cap.exe'.
Unlinking ~\scoop\apps\ctrl2cap\current
'ctrl2cap' was uninstalled.
やめたくなったら
この方法で思ったように効かなかったり、諸事情によりやめたくなったらこのように。 ctrl2cap はインストールされてる必要があります。Windows 再起動すると CapsLock が CapsLock に戻ります。
❯ scoop install ctrl2cap
❯ cd ~\scoop\apps\ctrl2cap\current
❯ gsudo ctrl2cap.exe /uninstall
Ctrl2cap Installation Applet
Copyright (C) 1999-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
Ctrl2cap uninstalled. You must reboot for this to take effect.
Windows 再起動後は ctrl2cap をアンインストールできます。
❯ scoop uninstall ctrl2cap
Uninstalling 'ctrl2cap' (2.0).
Removing shim 'ctrl2cap.shim'.
Removing shim 'ctrl2cap.exe'.
Unlinking ~\scoop\apps\ctrl2cap\current
'ctrl2cap' was uninstalled.
レジストリをイジって CapsLock を Ctrl にする
ここまでやってダメなら、たぶん最終手段で、レジストリをイジる手法が選択肢になります。ググるといくつかレシピが見つかります。
私は ctrl2cap でイイ感じにできたので、ここまでは手を出してません。チャレンジャーの幸運を祈ります。
参考
他 OS では
macOS なら、環境設定で、CapsLock を Ctrl にできます。
Ubuntu なら、gnome-tweaks でチェック付けたら、CapsLock を Ctrl にできます。
Discussion