⌨️

US配列キーボードでctrl+oem_3(`)を入力したい

2023/10/20に公開

概要

Visual Studio Codeではターミナルをフォーカスするキーボードショートカットとしてctrl+oem_3が用意されていますが, Windowsにおいて, US配列のキーボードとGoogle日本語入力やMS IMEを用いた環境ではPowerToysで再マッピングしてもctrl+unknownと認識されてしまいます。ここではレジストリを編集し, ロードされるライブラリを書き換えることでctrl+oem_3を入力します。

手順

最初にregeditを実行し次のキーへ移動し, 値の内容を確認します。

HKEY_CURRENT_USER\Keyboard Layout\Preload

これは現在ロードされているキーボードの配列で, 設定の言語と地域から確認することができます。ほとんどの場合, データが411となっている値があると思われます。

データについては次のキーで確認することができます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes

次に使用中のキーボード配列がロードするライブラリを書き換えるために, 次のキーへ移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\<ロードされているキーのデータ>

ロードされているキーのデータはこの場合411となります。

キーの中にはLayout Fileという名前の値があるので, これのデータをKBDUS.DLLへ書き換えます。編集後のキーは次のようになります。再起動することで変更内容が適用されます。

Discussion