【Windows】キーボードの「スキャンスコード」をレジストリで書き換えてキー配置を物理的に変える手順

【Windows】キーボードの「スキャンスコード」をレジストリで書き換えてキー配置を物理的に変える手順
🛡️ 超解決

日々の業務でキーボードの特定のキー配置に不便を感じていませんか。例えば、CapsLockキーを誤って押してしまう、あまり使わないキーを別の機能に割り当てたい、といった要望があるかもしれません。

Windowsのレジストリにある「スキャンスコード」を書き換えることで、物理的なキーボードの変更なしに、ソフトウェア的にキーの機能を再割り当てできます。

この記事では、このスキャンスコードを編集し、キー配置を自由に変更する具体的な手順を解説します。レジストリのバックアップから実際の変更方法まで、詳細に説明しますので、ぜひ参考にしてください。

【要点】スキャンスコードでキー配置を変更する主要な操作

  • レジストリのバックアップ: 予期せぬ問題に備え、現在のレジストリ設定を安全に保存します。
  • スキャンスコードの作成: 変更したいキーの割り当てを定義するバイナリデータを生成します。
  • レジストリの編集と適用: 作成したスキャンスコードをレジストリに登録し、キー配置の変更をシステムに反映させます。

ADVERTISEMENT

スキャンスコードとは?キー配置変更の仕組みを解説

スキャンスコードとは、キーボードの各キーが押されたときに、キーボードコントローラーからコンピューターへ送信される信号コードのことです。Windowsは、このスキャンスコードを受け取って、どのキーが押されたかを識別し、対応する文字や機能をOSに伝達します。

レジストリには「Scancode Map」という項目があり、ここに特定のバイナリデータを書き込むことで、キーボードから送られてくるスキャンスコードを別のスキャンスコードに変換するようOSに指示できます。これにより、例えばCapsLockキーのスキャンスコードを「無効」を意味するコードに変換することで、そのキーが押されても何も反応しないように設定できます。

この方法のメリットは、物理的なキーボードの改造なしに、システム全体でキーの割り当てを変更できる点です。特定のアプリケーションだけでなく、Windows全体で変更が適用されます。ただし、レジストリの編集はシステムに影響を与えるため、慎重な操作が求められます。

キーボードのスキャンスコードをレジストリで変更する手順

ここでは、CapsLockキーを無効化する例を挙げながら、スキャンスコードをレジストリで変更する具体的な手順を解説します。

事前準備: レジストリのバックアップ

レジストリの編集はシステムに深刻な影響を与える可能性があります。必ず変更前にバックアップを取得してください。

  1. レジストリエディターを開く
    Windowsキーを押しながら「R」キーを押し、「ファイル名を指定して実行」ダイアログを開きます。「regedit」と入力し「OK」をクリックします。ユーザーアカウント制御のプロンプトが表示されたら「はい」を選択してください。
  2. バックアップ対象のキーへ移動する
    レジストリエディターの左側のペインで、以下のパスへ移動します。
    コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  3. レジストリキーをエクスポートする
    「Keyboard Layout」キーを右クリックし、「エクスポート」を選択します。任意の場所に「KeyboardLayout_backup.reg」などの分かりやすい名前で保存してください。

キー割り当て変更用のレジストリデータを作成する

CapsLockキーを無効化するためのスキャンスコードデータを作成します。このデータはバイナリ値としてレジストリに書き込みます。

  1. メモ帳を開く
    Windows検索バーに「メモ帳」と入力し、メモ帳アプリを起動します。
  2. スキャンスコードデータを入力する
    メモ帳に以下のバイナリデータを正確に入力します。
    00 00 00 00 00 00 00 00 02 00 00 00 00 00 3A 00 00 00 00 00
    このコードは、CapsLockキーのスキャンスコード「3A 00」を「00 00」(無効)に割り当てることを意味します。
  3. データの構造を理解する
    上記のコードは以下の構造で構成されます。
    • 最初の8バイト 00 00 00 00 00 00 00 00: ヘッダー情報です。
    • 次の4バイト 02 00 00 00: キー割り当てエントリの数を表します。この場合「2」は、1つの実際の割り当てと、終端を示す割り当ての合計です。
    • 次の4バイト 00 00 3A 00: 実際のキー割り当てです。「00 00」が割り当て先のキー、「3A 00」が元のキーのスキャンスコードです。この例ではCapsLockキーを無効化しています。
    • 最後の4バイト 00 00 00 00: データの終端を示します。
  4. その他のキー割り当ての例
    他のキーを無効化したい場合は、「3A 00」の部分をそのキーのスキャンスコードに置き換えます。例えば、左Ctrlキーのスキャンスコードは「1D 00」です。左Ctrlキーを無効化する場合は「00 00 1D 00」となります。
    また、特定のキーを別のキーに割り当てる場合は、「00 00」の部分に割り当てたいキーのスキャンスコードを入力します。例えば、CapsLockキーを左Shiftキーに割り当てる場合は、左Shiftキーのスキャンスコード「2A 00」を割り当て先に指定し、「2A 00 3A 00」と入力します。この場合、エントリ数が「03 00 00 00」となり、終端の前に割り当てを追加します。

作成したスキャンスコードをレジストリに登録する

作成したバイナリデータをレジストリに登録し、キー配置の変更を適用します。

  1. レジストリエディターを開く
    再度レジストリエディターを開き、コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutのパスへ移動します。
  2. 新しいバイナリ値を作成する
    右側のペインの何もない場所を右クリックし、「新規」から「バイナリ値」を選択します。
  3. バイナリ値の名前を変更する
    作成された新しいバイナリ値の名前を「Scancode Map」に変更します。
  4. バイナリデータを入力する
    「Scancode Map」をダブルクリックして「バイナリ値の編集」ダイアログを開きます。
  5. データの入力と確認
    「値のデータ」欄に、前のステップでメモ帳に作成したスキャンスコードデータを入力します。入力時にはスペースを含めず、連続した16進数として入力してください。例えば「00000000000000000200000000003A0000000000」のように入力します。入力後、「OK」をクリックしてダイアログを閉じます。
  6. PCを再起動する
    レジストリの変更をシステムに反映させるため、PCを再起動します。再起動後、設定したキーの動作が変更されていることを確認してください。

キー配置変更後の注意点と元の設定に戻す方法

キー配置変更後に問題が発生した場合や、元の設定に戻したい場合の対処法を説明します。

変更が反映されない場合の確認点

レジストリの変更が反映されない場合、いくつかの原因が考えられます。

レジストリデータの入力ミス
最も一般的な原因は、スキャンスコードデータの入力ミスです。バイナリ値のデータは非常にデリケートであり、一文字でも間違えると正しく機能しません。再度「Scancode Map」のバイナリ値を開き、入力したデータが正確であるか、特にヘッダー、エントリ数、割り当てコード、終端が正しいかを確認してください。

PCの再起動不足
レジストリの変更は、通常PCの再起動後に適用されます。変更を保存した後、必ずPCを再起動したかを確認してください。

別のキーボード設定との競合
サードパーティ製のキー割り当て変更ツールや、特定のゲーム・アプリケーションが独自のキー設定を持っている場合、それがレジストリの設定と競合する可能性があります。それらのツールや設定を一時的に無効にして、問題が解決するかどうかを確認してみましょう。

変更したキー配置を元に戻す方法

設定したキー配置を元に戻したい場合は、以下のいずれかの方法で対処できます。

「Scancode Map」レジストリ値を削除する
レジストリエディターを開き、コンピューター\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutへ移動します。右側のペインにある「Scancode Map」を右クリックし、「削除」を選択します。確認のメッセージが表示されたら「はい」をクリックし、PCを再起動してください。これにより、キーボードの割り当てはWindowsのデフォルト設定に戻ります。

バックアップからレジストリを復元する
手順の最初にエクスポートした「KeyboardLayout_backup.reg」ファイルをダブルクリックします。レジストリのインポートに関する確認メッセージが表示されたら「はい」を選択します。これにより、バックアップ時のレジストリ設定が復元されます。復元後、PCを再起動してください。

Windows 10での操作の違い

Windows 10でも、キーボードのスキャンスコードをレジストリで変更する基本的な手順はWindows 11と同一です。レジストリエディターの起動方法、対象となるレジストリパス、バイナリ値の作成・編集方法、そして変更後のPC再起動の必要性も共通しています。

そのため、Windows 10をご利用の場合でも、この記事の手順をそのまま適用できます。

ADVERTISEMENT

レジストリ編集とサードパーティ製ツールの比較

キーボードのキー配置を変更する方法は、レジストリ編集の他に、サードパーティ製のツールを使用する方法もあります。ここでは、それぞれの方法の特性を比較します。

項目 レジストリ編集 サードパーティ製ツール(例: Keyboard Manager)
適用範囲 システム全体に適用される 通常はシステム全体だが、ツールによってはアプリケーションごとに設定可能
難易度 専門知識が必要、手動でのデータ作成が複雑 GUIで直感的に操作できる場合が多い
安全性 誤操作でシステムが不安定になるリスクがある ツール提供元の信頼性によるが、レジストリを直接編集するより安全なことが多い
機能 スキャンスコードの直接的な変更に限られる キーのリマップ、ショートカットキーの作成、マクロ機能など多機能
元に戻す手軽さ レジストリ値を削除またはバックアップから復元する ツール内で設定をリセットする、またはツールをアンインストールする

レジストリ編集は強力な方法ですが、リスクも伴います。より手軽に、かつ安全にキー配置を変更したい場合は、Keyboard Managerのようなサードパーティ製ツールの利用も検討すると良いでしょう。

まとめ

この記事では、Windows 11のレジストリにあるスキャンスコードを編集し、キーボードのキー配置をソフトウェア的に変更する手順を詳細に解説しました。

レジストリのバックアップから、CapsLockキーを無効化する具体的なスキャンスコードの作成と登録方法、そして変更が反映されない場合の確認点や元に戻す方法までを理解できたことでしょう。

この知識を活用して、日々のPC操作をより快適にするためのキー配置をカスタマイズしてみてください。他のキーの割り当て変更にも応用可能ですし、より安全な方法としてサードパーティ製ツールの利用も検討できます。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。