キーボードの動作とイベントコードのリアルタイム検証
「キーボードテスト」は、キーボードの物理的な動作確認と、各キーが生成する技術的なイベントコードの検証をブラウザ上で行える無料のオンラインツールです。
ページ上の任意の場所でキーを押すだけで、キーが正常に反応しているかを即座に確認できます。テストされたキーは視覚的なレイアウトマップ上に記録され、現在長押しされているキーの追跡や、詳細なイベント履歴の確認が可能です。このツールを使用することで、システムの自動リピート機能といった正常なハードウェア挙動と、キーの無反応やチャタリング(二重押し)といった実際のハードウェア故障を明確に区別して診断できます。
検出される入力ソースと操作方法
本ツールは、ユーザーの環境に合わせて以下の方法で入力を受け付け、検証を行います。
- 物理キーボードの自動検出: ページが開いている状態でキーボードのキーを押すと、自動的に入力がキャプチャされます。
- フル検出モードの有効化: 画面上のキーボードマップを直接クリックすると、Space、Tab、ファンクションキーなどの特殊キーを、ブラウザのデフォルト動作(ページスクロールやフォーカス移動など)を発生させずにキャプチャできます。このモードはEscキーを押すことで解除されます。
- 画面上キーボードのチェック: モバイル端末や仮想キーボードをテストするための専用入力エリアが用意されています。
- ログの消去: 記録されたイベント履歴をリセットしたい場合は、手動で「ログを消去」ボタンをクリックします。
画面に表示される出力情報とステータス
キーを押すと、画面上の各セクションに以下の情報がリアルタイムで出力されます。
最新のキーイベント
最後に押されたキーのプロパティが詳細に表示されます。
- キー: 実際に生成された文字や機能。
- コード: 物理的なキーの位置を示す識別子。
- 非推奨のkeyCode: 従来の互換性のために残されている数値コード。
- 位置: キーが配置されているエリア(「標準」、「左」、「右」、「テンキー」のいずれか)。
- 修飾キー: アクティブな修飾キー(「なし」、または「Shift」、「Ctrl」、「Alt」、「Meta」、「Caps Lock」)。
- 状態バッジ: 「押し下げ」または「放し」の状態、およびキーを長押しした際に自動リピートイベントの回数を示す「リピート ×
{count}」バッジが表示されます。
キーボードマップと統計情報
視覚的なANSIレイアウトマップ上で、キーの状態が「長押し中」または「テスト済み」として色分け表示されます。また、画面上には「テスト済みキー」、「合計プレス数」、「現在長押し中」の統計情報がリアルタイムでカウントされます。
イベントログ
キー操作の履歴が「イベントログ」としてテーブル形式で記録されます。ログが空のときは「キーイベントがまだありません。いずれかのキーを押してください。」と表示されます。 ログには「時間」、「イベント」(押し下げ/放し)、「キー」、「コード」、「修飾キー」の各カラムが出力されます。なお、キー長押しによる自動リピートイベントは最新情報のバッジでカウントされますが、イベントログの行としては追加されません。
技術的な仕様と動作ルール
正確なテストを行うために、以下のブラウザ仕様および制限事項を理解しておく必要があります。
ブラウザとOSによるショートカットの遮断
タブの切り替え、ウィンドウを閉じる操作、全画面表示、システム検索など、ブラウザやオペレーティングシステム(OS)に予約されている特定のキー組み合わせは、Webページに到達する前にシステム側でインターセプトされます。これらはツール上で検出できないため、機能を確認するには各キーを単体で押してテストする必要があります。
キー(Key)とコード(Code)の違い
「キー」の値は動的であり、アクティブな入力言語レイアウトや修飾キー(Shiftなど)の状態によって変化します(例:同じ物理キーを押しても「a」や「A」に変化する)。これに対し、「コード」の値はキーボード上の物理的な位置(「KeyA」、「ShiftLeft」、「Space」など)を表すため、言語設定や修飾キーの影響を受けず常に静的です。
モバイル端末における入力制限
スマートフォンなどの仮想キーボード(特にAndroid)は、具体的なキー値を送信せず、汎用的な未識別イベントを送信することがあります。この場合、読み取り値に「Unidentified」と表示されるため、専用の「画面上キーボードのチェック」エリアにある「タップして入力...」と書かれた入力欄に直接文字を入力し、モバイルブラウザが報告する挙動を確認する必要があります。
レイアウトマップの制限
画面上のビジュアルマップはフルサイズのANSI配列に固定されています。そのため、ISO配列固有の追加キー、ノートPCのFnレイヤーキー、メディアコントロールキーなどはマップ上で点灯しません。ただし、これらのキーであっても、押された際のイベントデータ自体は「最新のキーイベント」および「イベントログ」に正しく登録・表示されます。
プライバシーとデータ処理について
本ツールにおけるすべてのキー入力データは、利用者のブラウザ内部(ローカル環境)でのみ処理され、アクティブなWebページが画面上のログやステータスを更新するためだけに読み取られます。外部のサーバーにデータが送信されたり、保存されたりすることは一切ありません。「ログを消去」ボタンを押すか、ページをリロードまたは閉じることで、すべてのデータは完全に消去されます。
よくある質問(FAQ)
keyとcodeの値の違いは何ですか?
keyの値は、そのキーを押したときに現在生成される文字またはアクションです。これは入力レイアウトや修飾キーによって変化するため、同じ物理キーを押しても「a」や「A」と報告されたり、別の言語レイアウトでは全く異なる文字になったりします。一方、codeの値は物理的な位置(KeyA、ShiftLeft、Spaceなど)を指し、決して変化しません。そのため、ゲームやアプリはショートカットをcodeに割り当てています。
一部のキーの組み合わせが表示されないのはなぜですか?
ブラウザやオペレーティングシステムによって予約されているショートカット(タブやアプリの切り替え・終了、全画面表示、システム検索など)は、ページに到達する前に遮断されるため、ここには表示されません。その反応がない状態は正常であり、キーの故障ではありません。それらのキーを1つずつ単体でテストすれば、それぞれ正常に認識されます。
キーを押し続けると何度も連打されますが、故障ですか?
いいえ。キーを押し続けると、システムは連続したプレスイベントを送信し、ここでは「Repeat」バッジとカウンターで表示されます。これは通常の自動リピート(長押し入力)です。本当に注意すべきなのはその逆のパターンで、1回軽く叩いただけで複数のイベントが発生したり、叩いても全く反応しなかったりする場合であり、これはスイッチの摩耗やチャタリング(引っかかり)を示しています。
スマホのキーボードで「Unidentified」と表示されるのはなぜですか?
画面上のキーボード(特にAndroid)は、実際のkey値を持たない汎用的なイベントを送信することが多く、ページにはブラウザが報告した内容しか表示できません。レイアウトの下にある「画面上キーボードのチェック」を開いて、お使いのキーボードが何を送信しているか確認してください。外付けキーボードやノートPCのキーボードであれば、詳細な情報が報告されます。