数か月前、友人が初めて PC を購入するのを手伝いました。それまでの彼の IT 経験は、iOS、Android、Chromebook に限られていました。今日、彼から、ここ数日、キーボードの 4 キーを押すと 6 が出てくると報告がありました。6 キーを押すと 6 が出てきます。これはメインの 4 キーでのみ発生します。テンキーの 4 は正常に動作します。
彼はキーボードの問題だと思い、新しいキーボード (両方とも有線 USB キーボード) を購入しました。しかし、新しいキーボードでも動作は同じです。彼に両方のキーボードを友人の Win10 ラップトップに接続してみてもらったところ、両方とも正常に動作したので、これは彼の PC の問題であるように見えます。
明日、彼とリモートデスクトップ(Zoom)で接続し(私たちは異なるタイムゾーンにいます)、次のことを試すつもりです。
- キーボード設定をリセットします。
- 私は彼に、次の手順を提案する記事を送りました。「コントロール パネル > 言語を開きます。既定の言語を選択します。複数の言語が有効になっている場合は、別の言語をリストの一番上に移動し、それを主要言語にします。次に、既存の優先言語を再びリストの一番上に戻します。これにより、キーボードがリセットされます。」
- 彼は、手順を正しく実行したが問題は解決しなかったと主張しています。確認のため、Zoom で自分で試してみます。
- キーボード デバイス ドライバーをアンインストールして再インストールするか、少なくともリセットします。Win10 でこれを行う最善の方法をまだ調べていませんが、デバイス マネージャーから実行できると思います。
- PowerToys をインストールし、キーボード マネージャーが既存のマッピングが存在することを報告するか、または問題を一時的に回避するためにマッピングを作成できるかどうかを確認します。
- サードパーティのキー マッピング アプリケーションをインストールし、3 と同じことを行います。ただし、そのようなサードパーティ プログラムをシステムに追加することは避けたいと思います。
この問題を認識している方、または他の、あるいはより良いアイデアをお持ちの方は、ぜひお聞かせください。私は元 Windows 開発者なので、レジストリなどに飛び込んで喜んでお手伝いします。皆さんは好きなだけ技術的なことをしてください。
答え1
解決しました。要約:
何らかの理由で、Windows レジストリにキー マッピングが追加されていました。Scancode Map
レジストリ キーを削除してマシンを再起動するとregedit
、問題は解決しました。私は SharpKeys という無料のオープン ソース アプリを使用しましたが、この種の問題を調査して修正するには、これが良い選択肢のようです。
これに関する集合的な情報に追加する詳細:
- 質問で説明した方法でキーボード設定をリセットしても効果はありませんでした。彼のマシンには 1 つの言語 (英国英語) しかインストールされていなかったため、米国英語を追加しました。これにより、しばらくしてそのツールのダウンロードが開始されたので、この手順はスキップすることをお勧めします。
- デバイス マネージャー経由でキーボード ドライブを再インストールすることはできました。キーボードのプロパティを開き、ドライバー タブでドライバーを削除しました。再起動後 (更新が保留中だったため、しばらく時間がかかりました)、以前の状態に戻りました。これは、小さな USB ドングル経由で接続する Logitech ワイヤレス キーボード/マウス コンボであることがわかりました。ただし、この種類のワイヤレス キーボード/マウスには特別なことは何もないようです。Windows には HID デバイスとして直接表示されるようです。デバイス マネージャーで、Logitech、HID などに明らかに関連している、または明らかに他のデバイス用ではない追加の USB ドライバーは見つかりませんでした。
- PowerToys のキーボード マネージャーにはキー マッピングが何も表示されず、新しいマッピングを追加することはできましたが (後から考えれば当然ですが) 4 をそれ自体にマッピングすることを拒否しました。
- 私はこれにたどり着かなかったが、もし戻ってきたらSharpKeysを選んだと思う(GitHub リポジトリ、開発者ウェブサイトの投稿) は、現時点で 17 年以上前から存在しており、オープン ソースで、広く使用されており、キーボード イベントの処理に関係するソフトウェア スタックに新しいコンポーネントを挿入するのではなく、Windows レジストリで直接動作します...
手順 4 の前に、レジストリでキーボード マッピングをリセットする方法についていくつか検索しました。多数の記事があり、中には以前の SuperUser Q&A を指摘しているものもありました。レジストリでカスタムキーボードマッピングを元に戻す方法。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
に移動してキーregedit
を削除しましたScancode Map
。Windows を再起動すると、4 キーは期待どおりの動作に戻ります。
友人の Win10 マシンをチェックしたところ、そのレジストリ キーに値が設定されていないことがわかりました。そのため、このキーは、1 つ以上のキー マッピング オーバーライドが設定されている場合にのみ設定され (空でない値を持つ) と思われます。(1 つの観察に基づく - YMMV。)
SharpKeys はレジストリを操作することで機能するため、インストールしていればこの「4 から 6」のマッピングが表示される可能性が高くなります。したがって、特に regedit に慣れていないユーザーをサポートする場合は、SharpKeys のインストールから始めるのがおそらく最善の推奨事項です。
これに関する投稿の中には、「エイプリルフールのいたずらでキーボードがおかしくなったときの対処法」のようなタイトルのものもあります。ここでそのことを指摘しておくと、この回答がそのような検索結果に表示されるかもしれません。
友人のマシンがどうしてこのような状態になったのか、興味があります。友人は、他の誰も物理的にアクセスしていないと確信しており、ウイルス対策ソフトウェアはマルウェアを報告していません。Web ページがこのようなレジストリ変更を引き起こす方法がなく、破損ではないことを願っています。誰かアイデアをお持ちの方は (「4 から 6」の変更に固有のもの、またはより一般的にこれがどのように発生するか... または Windows ログなどでいつ発生したかを確認する方法があるかどうか)、コメントを残してください。