キーボードテスター
このキーボードテスターを使えば、ノートパソコン、デスクトップ用キーボード、USB/Bluetooth の外付けキーボードのすべての物理キーがブラウザに届いているかを確認できます。キーを押すとその場で点灯し、物理コード event.code、実際に生成された値 event.key、キーの位置、リピートイベント、ロールオーバーの最大値、スタックキーの警告がページ内で表示されます。
キーボードをテストする手順
-
1
レイアウト表示を選ぶ
画面上のキーグリッドが点検したいキーボードに近くなるよう、ANSI、ISO、コンパクトから選びます。日本国内の 106/109 キーボードは JIS 配列で、無変換、変換、かな、半角/全角などの専用キーが追加されています。ブラウザはキートップの刻印に関係なく物理キーコードを報告します。
-
2
テストを開始してキーを押す
テスト開始をクリックし、このタブにフォーカスを保ったまま各キーを押します。押している間は青、離すと緑、スタックキー警告のしきい値を超えて押されたままの場合は橙色になります。
-
3
診断結果を読む
イベントログ、ロールオーバー最大値、リピート回数、押下中のキー一覧を使って、イベントが届かないキー、勝手に連打されるキー、修飾キーの左右判定の問題、キーボードが同時に報告できない組み合わせを特定します。
ブラウザのキーボードテストでわかること
最新のデスクトップブラウザのキーボードイベントは、役立つ値を 2 つ返します。event.code は KeyQ、Space、NumpadEnter、ShiftLeft のように物理的なキーの位置を示します。event.key は現在有効なキーボードレイアウトが生成した値なので、同じ物理キーでも QWERTY、JIS、AZERTY、QWERTZ、Dvorak、その他の入力方式によって異なる文字が報告されます。
この違いはトラブルシューティングの要です。KeyQ が点灯しているのにキー値が q でない場合、物理キー自体は正しく届いており、違いの原因は有効なレイアウトや入力方式にあります。ページに届くはずのキーでイベントがまったく表示されない場合は、ハードウェア、ファームウェア、OS のドライバー、ブラウザ、あるいはページより先にショートカットとして奪われている可能性があります。
| 診断項目 | 意味 | 役立つ場面 |
|---|---|---|
| 物理コード | KeyA や Numpad5 などのハードウェア位置コード |
どの物理スイッチが反応したかの確認 |
| キー値 | 有効なレイアウトが生成した文字や動作 | レイアウトや修飾キーの違いの把握 |
| 位置 | 標準、左、右、テンキー | Shift、Ctrl、Alt とテンキーの区別テスト |
| ロールオーバー最大値 | セッション中に同時押しできたキーの最大数 | 同時押しの上限やゴースティングの簡易チェック |
| リピートイベント | キーを押し続けている間にブラウザが送る repeat イベント | 意図せず連打されるキーの発見 |
| スタックキー警告 | 設定したしきい値より長く押されたままのキー | きれいに戻らないキーの検出 |
JIS 配列と日本語入力 (IME) の注意点
画面上のキーグリッドは物理的な位置にラテン文字のラベルを付けています。event.code が文字ではなく位置を表すためです。JIS 配列固有のキーも、コード自体はブラウザが報告します。無変換は NonConvert、変換は Convert、かなは KanaMode、右 Shift の左にある「ろ」キーは IntlRo、Backspace の隣の「¥」キーは IntlYen です。これらは ANSI 前提のグリッドには枠が用意されていませんが、イベントログには記録されるので、押したときにログへ流れるかどうかで動作を確認できます。
日本語入力 (IME) が変換中のときは、ブラウザがキー値を Process と報告したり、旧来の keyCode 229 を返したりします。これは故障ではなく IME の正常な挙動です。物理コードは IME の影響を受けないため、日本語入力のままでもハードウェアの点検は可能ですが、各キーの文字を確認したい場合は半角/全角キーで英数入力に切り替えてからテストすると結果が読みやすくなります。
ロールオーバー、ゴースティング、限界
ロールオーバーとは、キーボードが同時に報告できる押下数のことです。一般的なオフィス向けキーボードは 2 キーから 3 キー程度の組み合わせに対応し、ゲーミングキーボードは 6 キーロールオーバーや N キーロールオーバーをうたいます。このテスターはブラウザに実際に届いたイベントしか表示できず、キーボード、OS、ブラウザが送らなかったキーを証明することはできません。ロールオーバー最大値は Web ページ上での実用的な確認であり、ラボの認証書ではないと考えてください。
よくある落とし穴
- タブのフォーカスを保ってください。タブを切り替えたりアドレスバーを開いたりすると keyup イベントが途切れることがあるため、ページがフォーカスを失うと押下中のキーは解除されます。
- Alt+Tab、Cmd+Tab、Cmd+W、Cmd+L、F5 など、ブラウザや OS が先に予約しているショートカットがあります。
- モバイルキーボード、スクリーンキーボード、IME の変換処理、デッドキー、アクセシビリティ支援ツールは、報告されるキー値を変えたり遅らせたりします。
- 特定の 1 キーだけ反応しない場合は、スイッチの故障と決めつける前に別のブラウザと別の USB ポートで試してください。
よくある質問
いいえ。キーイベントはブラウザ内で読み取って表示するだけです。キー値、物理コード、タイミングデータ、イベント履歴をサーバーへ送信することはありません。
できます。Convert(変換)、NonConvert(無変換)、KanaMode(かな)、IntlRo(ろ)、IntlYen(¥)は画面のグリッドには枠がありませんが、押すとイベントログにコードが記録されます。ログに現れればキー自体は正常に届いています。
IME が変換処理を行っている合図です。変換中はブラウザがキー値を Process と報告したり、旧来の keyCode 229 を返したりします。物理コードは変わらないので点検には支障ありませんが、文字を確認したいときは半角/全角キーで英数入力に切り替えてください。
event.code は物理的なキーの位置、event.key は有効なキーボードレイアウトが生成する文字や動作です。レイアウトを変えるとキー値は変わりますが、物理コードは変わりません。
テスト中にブラウザへ同時に届いたキーの最大数は表示できます。ただし、キーボードのファームウェアや OS、ブラウザがページに渡す前に除外したキーまで保証することはできません。
関連ツール
ビンゴカードジェネレーター
ランダムな番号や好きな単語で印刷用のビンゴカードを作成。中央がフリーマスの標準5x5で、授業やパーティーゲームにすぐ使えます。
赤ちゃんの睡眠スケジュールジェネレーター
新生児から3歳まで、総睡眠時間、覚醒時間、昼寝回数に基づいて、月齢に合った赤ちゃんの睡眠スケジュールを生成します。
赤ちゃんの名前ジェネレーター
性別、由来、頭文字、長さ、スタイルで絞り込み、赤ちゃんの名前候補を生成します。クリックごとに新しい候補を表示し、お気に入りを保存して比較できます。
Blossom ソルバー
中央の文字と6つの花びらの文字を入力すると、有効な Blossom の答えをすべて見つけられます。文字数順に並べ替え、パングラムを強調表示します。
メトロノーム
正確なオンラインメトロノームで練習しましょう。BPM、拍子、アクセント、分割を設定し、安定したクリック音をブラウザー内でローカルに再生できます。
ビートメーカー
ブラウザ上の16ステップシーケンサーで、シンプルなドラムビートを作成。テンポ、スウィング、ドラムキット、パターンプリセットに対応し、Web Audioでローカル再生します。