エクセルや、ファイル名を変更をしようとすると、間違って「F1」キーを押してしまって、邪魔なヘルプが開くことがあると思います。
キーボード届いた。
— AK1RA (@akx1xra) August 9, 2022
F1キー外した。 pic.twitter.com/dl6lNWFpxG
上のツイートのように、「F1」キーを物理的に無くさなくても、F1キーは「無効化」または「別のキーに変更」できます。
【結論】「F1」キーはレジストリ設定で無効化しよう!
ログオンユーザーのみ有効の場合「HKEY_CURRENT_USER\Keyboard Layout」に「Scancode Map(バイナリ値)」を追加
「Scancode Map(バイナリ値)」には、「0000000000000000020000000000003B00000000」をセットする。
パソコンに強い人は、上記の画面だけで何をすれば良いのか分かるでしょう。
本設定を実施すると
- エクセル
- ワード
- chrome
- エクスプローラーなどのwindowsヘルプ
など、全てのアプリで、F1キーを無効化できます。
具体的な設定方法を、詳しく解説していきましょう。
「F1」キー無効化の設定方法5ステップ
ステップ①:レジストリエディターを開く
まずは、レジストリエディターを開きます。「ファイルを指定して実行」から、または「Windowsメニュー」から開けます。
ファイルを指定して実行から開く
Windowsメニューから開く
ステップ②:レジストリを保存
レジストリエディタが開いたら「コンピューター」で右クリック>「エクスポート」で、任意の名前を付けて、regファイルを保存します。
ステップ③:「Keyboard Layout」にバイナリ値「Scancode Map」を新規追加
- ログオンユーザーのみF1キーを無効にするなら、「HKEY_CURRENT_USER\Keyboard Layout」
- 全ユーザーでF1キーを無効にするなら「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout」
で、右クリックして「新規」>「バイナリ値」を選択します。
「新しい値 #1」が作成されるので「Scancode Map」に名前を変更します。
ステップ④:「Scancode Map」のバイナリ値を入力
「Scancode Map」のバイナリ値を手入力していきます。(コピペできないので、手入力するしかありません)
参考までに「F1キーを無効にする」パターンと、「F1キーをF2キーと同じ動きにする」パターンの画像を添付しておきます。
F1キーを無効にするバイナリ値
※違いは、2行目の4つ目が「00(=無効)」
F1キーをF2キーにするバイナリ値
※違いは、2行目の4つ目が「3C(=F2キー)」
他のキーに割り当てたい場合は「Scancode Mapのマッピング値」にある、2ケタの英数を「3C」の部分と置き換えればOKです。
「Scancode Map」が、以下のとおりになっていれば設定は終わりです。
ユーザーに設定(HKCU)の場合
PCに設定(HKLM)の場合
参考リンクキーボード変換表(マッピング表)
ステップ⑤:再起動
「Scancode Map」の設定が終わったら、PCを再起動します。(再起動してからでないとF1キーが無効化されません)
任意のアプリで「F1キー」を押してみて、邪魔なヘルプなどが表示されなくなったことを確認しましょう!
かんたんにF1キーを無効化したい人向け(batファイル適用)
かんたんにF1キーを無効化したい人は、次のコードをメモ帳にコピーして、拡張子を「.bat」に変更して実行すれば、OKです。
ぬくぬくのように、F1キーに「別キーを割り当てる」か、「無効化する」かを、簡単に切り替えできるようにしたい人は、活用してみてくださいね。
ログオンユーザーのみに適用する場合
REG ADD "HKEY_CURRENT_USER\Keyboard Layout" /v "Scancode Map" /t REG_BINARY /d 0000000000000000020000003C00003B00000000 /f
pause
上記コードでbatファイルを作成して実行すれば「F1キーをF2キーに割り当て(F2キーはF2キーのまま)」できます。
「3C」の部分を「00」にすればF1キーを無効化できます。
参考リンクREG-ADD
ログオンユーザー問わず適用する場合【要管理者実行】
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /t REG_BINARY /d 0000000000000000020000003C00003B00000000 /f
pause
上記コードでbatファイルを作成して、管理者として実行すれば、お使いのPCにログインするユーザー全てで「F1キーをF2キーに割り当て(F2キーはF2キーのまま)」できます。
「3C」の部分を「00」にすればF1キーを無効化できます。
参考リンクREG-ADD
実行結果画面
「この操作を正しく終了しました」のメッセージが表示されれば、設定完了ですので、PCを再起動してください。
補足情報
本記事の補足情報は以下のとおり。
レジストリ値「Scancode Map」
No | データ内容 | 補足 |
---|---|---|
① | ヘッダー(バージョン情報) | 00 00 00 00固定 |
② | ヘッダー(フラグ) | 00 00 00 00固定 |
③ | ヘッダー(マッピング数) | マッピング数+1の値をセット 例)1個のキーを変更する場合 02 00 00 00 2個のキーを変更する場合 03 00 00 00 |
④ | 個々のマッピング | 例)Scancodesの値「12 34 56 78」の場合 変換後「12 34」←変換前「56 78」 |
⑤ | Nullターミネータ | 00 00 00 00固定 |
キーボード変換表
キー | Scancode Mapの値 | キー | Scancode Mapの値 |
---|---|---|---|
Esc | 01 | 無効 | 00 |
F1 | 3b | Backspace | 0e |
F2 | 3c | Tab | 0f |
F3 | 3d | CapsLock | 3a |
F4 | 3e | Enter | 1c |
F5 | 3f | LShift | 2a |
F6 | 40 | RShift | 36 |
F7 | 41 | LCtrl | 1d |
F8 | 42 | LAlt | 38 |
F9 | 43 | space | 39 |
F10 | 44 | ||
F11 | 57 | ||
F12 | 58 |
batファイル(REG ADD)
reg add <keyname> [{/v Valuename | /ve}] [/t datatype] [/s Separator] [/d Data] [/f]
パラメーター | 説明 |
---|---|
<keyname> | サブキーまたは追加されるエントリの完全なパスを指定します。 リモート コンピューターを指定するには、 \\<computername>\ の一部としてコンピューター名を含めます ( \\<computername>\ の形式)。 \\<computername>\ を省略すると、操作は既定でローカル コンピューターに設定されます。keyname には有効なルート キーを含める必要があります。 ローカル コンピューターの有効なルート キーは、 HKLM、HKCU、HKCR、HKU、HKCC です。 リモート コンピューターが指定された場合、 有効なルート キーは HKLM および HKU です。 レジストリ キー名にスペースが含まれている場合は、そのキー名を引用符で囲みます。 |
/v <Valuename> | 追加するレジストリ エントリの名前を指定します。 |
/ve | 追加するレジストリ エントリの値が null であることを指定します。 |
/t <Type> | レジストリ エントリの種類を指定します。次のいずれかを指定する必要があります。 ・REG_SZ ・REG_MULTI_SZ ・REG_DWORD_BIG_ENDIAN ・REG_DWORDREG_BINARY ・REG_DWORD_LITTLE_ENDIAN ・REG_LINK ・REG_FULL_RESOURCE_DESCRIPTOR ・REG_EXPAND_SZ |
/s <Separator> | REG_MULTI_SZ データ型を指定し、複数のエントリを列挙する場合、 データの複数のインスタンスを区切るために使用する文字を指定します。 既定の区切り記号は、指定しない場合、 \0します。 |
/d <Data> | 新しいレジストリ エントリのデータを指定します。 |
/f | 確認を求めずに、レジストリ エントリを追加します。 |
/? | コマンド プロンプトにヘルプを表示します。 |
以上、ご参考になれば幸いです。