いぇいいぇい

ASP.NET、PHPを中心に書いています

英語キーボードでCtrl+Backquote(`)を機能させる

英語キーボードでのIME切替キーはバッククオートキー

Windows10で英語キーボードを使う場合、バッククオート(`)キーが半角/全角キーの代わりになり、IMEの切り替えに使われます。具体的にはAlt+`Ctrl+`がIME切替のショートカットになります。

※IME切替はIMEをオン/オフするという意味で使っています。

IME切替ショートカットキーは簡単に変更できない

しかし、このIME切替ショートカットをユーザーが簡単に変更することはできません。コントロールパネルから簡単に変更できればよいのですが残念ながらできません。

VSCodeでCtrl+`を使いたい!

私が困ったのが、この問題によりVSCodeでCtrl+`を使えないということです。 同じ問題を抱えている方もおられるようです。

Windows上でVisual Studio Codeを使う際に英語キーボードのCtrl+backquote(`)が認識されない問題の対策 - Qiita

個人的にはIMEの切り替えにはAlt+`しか使っておらず、Ctrl+`は使っていません。Ctrl+`というかなりアクセスしやすい位置にあるキーが死にキーになってしまっています。できればCtrl+`を使えるようにしたい。

PowerToys Keyboard Managerで簡単にキーマップを変更する

Windows10のIME切替ショートカットを変更するには、おそらくレジストリをいじる必要があると思いますが、できればそこまでの手間は掛けたくありません。

そこで見つけたのがMicrosoftが最近リリースしたKeyboard Managerです。PowerToysの機能のひとつになっておりレジストリを直接変更せずに簡単にキーをリマッピングできるという便利ツールです。

github.com

こちらを使って以下のように設定することで無事Ctrl+`を使えるようになりました。

f:id:sumi2:20200805112130p:plain
Keyboard Manager Settings

設定後はOS再起動が必要でした。またVSCode側では、workbench.action.terminal.toggleTerminalCtrl+F1を割り当てています。

PowerToysを常駐させておけば、VSCode以外のアプリケーションも含めてCtrl+`を使えるようになります。 PowerToysには他にもColor Pickerなど便利なツールが含まれています。いらない機能は機能毎に無効化することもできます。

PowerToys v0.25.0で動作確認済み。