ToolActToolAct

キーボードテスト

キーボードキー機能をテスト、キー状態とキーコード情報をリアルタイム表示

Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Win
Alt
Space
Alt
Win
Menu
Ctrl

キー記録

任意のキーを押してテスト開始...

キーボードテストとは?

キーボードテストは、キー入力がブラウザまで届いているか、ブラウザがそのキーをどのようなイベントとして認識しているかを確認するツールです。キーが反応しない、押しっぱなしになる、ショートカットが効かない、ノートパソコンのキーボードに不具合が疑われる、新しいメカニカルキーボードを確認したい、といった場面で役立ちます。key、code、旧式の keyCode、キー位置、repeat 状態、Ctrl・Shift・Alt・Meta などの修飾キーを表示します。これにより、ハードウェア故障、配列の違い、ソフトウェア側の処理を切り分けやすくなります。Ctrl+Alt+Del や Alt+Tab など OS が処理するショートカットは、通常ページには届きません。

使い方

使い方

  1. テストエリアにマウスを合わせてください
  2. キーボードの任意のキーを押してください
  3. キーのハイライトと情報パネルを確認してください
  4. 下部にキー履歴が表示されます

ヒント

  • 緑色のハイライトは、キーが正常に動作していることを示します
  • すべての標準キーボードキーをテストできます
  • 修飾キー(Ctrl、Shift、Alt、Meta)の検出に対応しています
  • 押された回数が多いキーは情報パネルでマークされます

利用シーン

反応しない・不安定なキーを診断するキーを押して、実際のkeydownとkeyupイベントで仮想キーボードが点灯する様子を観察します。現在のキーパネルではkey、code、keyCode、which、location、修飾キー状態、repeat状態が表示されるため、二重発火やチャタリングがあるキー、ストロークの底でしか認識されないキーは、キーボード全体が壊れていると判断する前に既知の正常なスイッチと比較できます。
左右の修飾キーとテンキーの動作を確認するこのツールはKeyboardEventのlocationを表示するため、ブラウザが情報を提供する箇所では標準、左、右、テンキーの位置を区別できます。左Ctrlと右Ctrlの違い、右AltのAltGrとしての動作、OSがメインEnterとは異なるスキャンコードにマッピングするテンキーEnterに依存するショートカット多用のワークフローのテストに役立ちます。
短いキーデータの履歴を記録する直近50回の非repeatキー押下が可視履歴に保持されるため、押そうとしたキーとブラウザが実際に受信したキーを比較しやすくなります。クリアとリセットのコントロールでページを更新せずに集中テストを実行でき、キー押下ログはローカルページ上でのみレンダリングされるため、機密性の高い入力内容はこのタブ内に留まります。
ゲーミングキーボードのNキーロールオーバーとアンチゴーストを検証する複数の文字キーを同時に押して、アクティブキーパネルがリアルタイムで点灯する様子を確認します。押された一部のキーしか認識しないキーボードは、アンチゴーストまたはNキーロールオーバーの主張を満たしていません。USB HIDは通常6KROに制限され、PS/2やnキーロールオーバーのキーボードは104キーすべてを報告します。WASD+Shiftのコンボ中に文字が欠けるのが典型的な症状です。
ブラウザのレイアウトと物理キーマップを区別する表示されるkey値と報告されたcodeを比較して、DvorakレイアウトがQWERTYコードを生成している、非USキーボードがOSの古いレイアウトからUS中心の値を送信しているなどの不一致を検出します。codeではなくkeyを監視するWebアプリ内ではショートカットが機能しない理由を診断する際に役立ちます。

仕組み

ブラウザはKeyboardEventインターフェースを通じてキーボードイベントを公開します:各キー押下はkeydownとkeyupイベントを発火します。KeyboardEventは複数の重要なプロパティを持ちます:keyはキーの文字値(レイアウトとShift状態の影響を受ける - 例:a vs A)、codeは物理位置識別子(レイアウト非依存 - KeyAはQWERTYでもAZERTYでもKeyA)、keyCodeは旧式の数値(非推奨だが古いコードにまだ存在)、locationはキーの位置を示します(0=標準、1=左側、2=右側、3=テンキー)。組み合わせを検出するには、ctrlKey、shiftKey、altKey、metaKeyの4つのブール値修飾フラグをリッスンします - 例:Ctrl+CではctrlKey=trueかつkey='c'となります。発火順序はkeydown -> keypress(非推奨) -> keyupで、キーを押している間はkeydownが繰り返し発火し、event.repeat=trueとなります。ゲーム開発ではcode(プレイヤーのレイアウト切り替えに影響されない)を優先し、入力フィールドではkey(実際の文字を返す)を優先します。Nキーロールオーバー(NKRO)は、キーボードハードウェアが任意の数のキーを同時に登録できることを意味します。通常のUSBキーボードはUSB HIDプロトコルにより6KROに制限され、6キー以上を同時に押すとイベントが欠落します。PS/2インターフェースや専用ドライバーを持つメカニカルキーボードは真のNKROを提供できます。

  • KeyboardEvent.keyは文字値('a'/'A'/'Enter')であり、レイアウトとShiftの影響を受けます。入力フィールドのシナリオで使用してください。
  • KeyboardEvent.codeは物理位置識別子('KeyA'/'Digit1')であり、レイアウトに依存しません。ゲームやショートカットバインディングで使用してください。
  • location値:0=標準、1=左側修飾キー、2=右側修飾キー、3=テンキー。左右のShift、Ctrl、Altを区別する際に役立ちます。
  • 組み合わせ検出:ctrlKey/shiftKey/altKey/metaKeyは修飾キーの状態を示す4つのブール値です。keyと組み合わせてCtrl+C、Cmd+Shift+Pなどを検出します。
  • event.repeat=trueは、キーが押しっぱなしで自動リピートしていることを示します。長押しテストでは、このフラグを使用してリピートイベントをフィルタリングしてください。
  • 6KRO vs NKRO:6キーロールオーバーはUSB HIDプロトコルの制限です。メカニカルキーボードはPS/2または専用ドライバーを通じてNキーロールオーバー(NKRO)を実現できます。

使用例

文字キーを押した場合

A を押す -> key: "a", code: "KeyA", keyCode: 65, location: 0 (standard)

ファンクションキーを押した場合

F1 を押す -> key: "F1", code: "F1", keyCode: 112, location: 0

組み合わせを押した場合

Ctrl+C を押す -> Ctrl (code: "ControlLeft", location: 1) + C (code: "KeyC", ctrlKey: true) を検出

よくある質問

テストはどのキーを検出しますか?

ブラウザが keydown を受け取るほぼすべての物理キーに対応します。英数字、修飾キー (Shift/Ctrl/Alt/Meta)、矢印キー、ファンクションキー F1〜F24、テンキー、対応するブラウザではマルチメディアキー (音量、再生)。押されたキーは画面上のキーボード上で緑色に変わるため、反応しないキーを発見できます。

Fn キーが反応しないのはなぜですか?

ほとんどのノート PC では Fn はファームウェアレベルで処理され、JavaScript のキーボードイベントを生成しません。これは正常で不具合ではありません。ファンクション行の組み合わせ (Fn+F5 など) はキーコードなしでアクション (音量アップ) のみを生成することがよくあります。これらのキーをテストするには、デスクトップキーボードや外付けキーボードを使用してください。

スタックしたキーやチャタリングするキーのテストはできますか?

はい。一度キーを押し、何個の keydown イベントが発生するかを観察します。チャタリングするスイッチはミリ秒単位で複数のイベントを送信します。一部のビルドではページが生のイベントタイムスタンプを一覧表示でき、チャタリングを可視化できます。

key、code、keyCode の違いは何ですか?

key は値 ("a"、"Shift"、"Enter") です。code は物理位置 ("KeyA"、"ShiftLeft") で、どのキーボードレイアウトでも同じです。keyCode は非推奨の数値 ID です (互換性のためまだ送出されます)。言語レイアウトに関係なく物理キーを識別するには 'code' を使用してください。

Nキーロールオーバー (NKRO) のテストはできますか?

部分的にはできます。本ページは現在押下中のキーを表示するため、複数を同時に押して何個が登録されるかを確認できます。USB HID と PS/2 のキーボードはゴースティング限界が異なります。ここでのテストは現実の Web 上の結果を提供しますが、本格的な計測には専用テスター (Aqua's KeyTest、Switch Hitter) のほうが信頼できます。

デッドキーや IME 変換は登録されますか?

IME 変換 (中国語、日本語、韓国語) は通常、変換中は元のキーイベントを抑制します。IME をオフに切り替え、ダイレクト入力モードで個々のキーをテストしてください。デッドキー (ヨーロッパ系レイアウトのアキュート、ウムラウト) は Dead を発した後、次のキーと結合されます。

サーバーに送信されるものはありますか?

いいえ。キーイベントは完全にブラウザ内で処理されます。記録も送信もされません。