Keyboard Test
日本語

押したキー確認(キーコード判定)

キーを押すと、その名前、コード、従来の keyCode の数値、左右やテンキーの区別がすぐにわかります。表示が消えたキーキャップの確認、キーの割り当て変更、ゲームの設定、プログラミングに役立ちます。

任意のキーを押してください。キーの名前、コード、位置がここに表示されます。
直近の入力
keycodekeyCodelocationmodifiers
–

キーを押すだけで、押したキーの名前、コード、数値の keyCode、左右やテンキーの区別がわかります。下の枠の大きな表示は key の値、その下の行に code、keyCode、location が表示され、表には直近の12回分が残ります。押したキー確認やキーコード確認に使えます。

キー入力判定ツールの使い方

  1. ページのどこかをクリックするか、枠をタップして、キーボードのフォーカスを当てます。
  2. キーを押します。大きな表示にキーの名前が出て、その下の行に code、keyCode、location が表示されます。Shift、Ctrl、Alt、Meta を押しながらなら、modifiers の行に一覧が出ます。
  3. 続けてキーを押します。それぞれが「直近の入力」の表に、同じ5つの項目つきで追加されます。新しいものが上で、最大12行です。
  4. 「リセット」を押すと、表示と表が消えます。

キーを押し続けると OS が入力を繰り返しますが、リピートは大きな表示だけを更新し、表には追加されません。長押ししても、表では1行のままです。スペース、Tab、BackSpace、上下の矢印キー、スラッシュ、引用符のキーは、ページがスクロールしたり、フォーカスが動いたり、ブラウザのクイック検索が開いたりしないよう、テスト中は捕捉されます。Ctrl や Command を押しながら押したキーは、通常のショートカットとしてブラウザに渡されます。

key と code:どちらが必要?

ブラウザは、1回の押下を2通りで表し、それぞれが別の疑問に答えます。

US 配列
key
"a"
code
KeyA

S の左のキーは小文字の a を入力します。

US 配列、Shift 押下
key
"A"
code
KeyA

同じ物理キー、同じ code。意味だけが変わります。

AZERTY 配列
key
"q"
code
KeyA

同じ位置がフランス語キーボードでは q を入力します。code は KeyA のままです。

key は、現在のキーボード配列と修飾キーを反映した、押下の意味です。「A」と書かれたキーを押すと key は「a」、Shift を押しながらなら「A」です。ドイツ語の配列に切り替えると、L の隣のキーは「ö」になります。文字を出さないキーには、Enter、Escape、ArrowLeft、Backspace、F5 のような、説明的な名前がつきます。このページでは、見えるようにスペースを「Space」という語で表示します。

code は、キーの物理的な位置で、アメリカ式の配列でのラベルにちなんだ名前がつき、配列、言語、Shift の影響を受けません。S の左のキーは、Q を入力する AZERTY 配列のキーボードでも、世界中どこでも KeyA です。数字の段は Digit1〜Digit0、ファンクションキーは F1〜F12、左右があるキーは名前に左右がつき(ShiftLeft、ControlRight)、テンキーは Numpad1、NumpadAdd、NumpadEnter のようになります。

知りたいこと使うもの例
どの文字が入力されるかkey"a"、"A"、"ö"、"?"
言語に関係なく、どの物理キーかcodeKeyA、Digit1、Backquote
左右どちらの Shift かcode または locationShiftLeft、ShiftRight
テンキーの Enter かcode または locationNumpadEnter、location は numpad
古いコードが期待する数値keyCode65、13、32

ゲームの割り当て、キーの割り当て変更ツール、どの配列でも同じ感覚で使いたいものには、code を使います。テキストの処理、検索のショートカット、ユーザーがどの文字を意図したかを気にするものには、key を使います。

keyCode とは、なぜまだ表示するのか

keyCode は、ブラウザが最初に採用したキーの通知方法で、キーごとに1つの数値を持ち、おおむね Windows の仮想キーコードに対応しています。何年も前から非推奨で、ブラウザは key か code を推奨していますが、既存のコードがたくさん依存しているため、いまも削除されていません。チュートリアル、古いゲームエンジン、フォームの検証スクリプト、多くのプラグインがいまも数値と比較しているので、数値を調べたい人はいます。

ブラウザをまたいで共通の、よくある値は次のとおりです。

キーkeyCodecode
A〜Z65〜90KeyA〜KeyZ
0〜9(メインの数字の段)48〜57Digit0〜Digit9
テンキーの 0〜996〜105Numpad0〜Numpad9
F1〜F12112〜123F1〜F12
Enter13Enter または NumpadEnter
スペース32Space
Escape27Escape
BackSpace8Backspace
Tab9Tab
Shift、Ctrl、Alt16、17、18ShiftLeft など
矢印(左、上、右、下)37、38、39、40ArrowLeft、ArrowUp、ArrowRight、ArrowDown

keyCode が破綻するのは、記号キーです。セミコロンのキーは Chrome と Edge では 186、Firefox では 59、マイナスのキーは Chrome では 189、Firefox では 173 を報告します。また、文字キーは Shift を押していても押していなくても同じ keyCode なので、keyCode だけでは「a」と「A」を区別できません。新しくコードを書くなら、code か key を読み、ここに表示される keyCode は、保守している古いスクリプトの参照用と考えてください。

location の意味

キーボードには、2つ存在するキーがいくつかあり、location はどちらを押したかを示します。ブラウザは数値で通知しますが、このページでは言葉で表示します。

location意味該当するキー
標準そのキーが1つだけ文字、数字、F キー、そのほかの大半
左左側のキーShift、Ctrl、Alt、Windows または Command
右右側のキーShift、Ctrl、Alt、Windows または Command
テンキーテンキー上のキーテンキーの数字、演算子、NumpadEnter、NumLock

location が最も役に立つのは、Enter と修飾キーです。メインの Enter とテンキーの Enter は、どちらもキー名が Enter で、keyCode も同じですが、code は異なり、テンキーのほうは location がテンキーになります。左右の Shift も、key と keyCode は同じで、code と location だけが区別します。ゲームで Shift を1つしか割り当てられず、どちらが使われているか不明な場合は、両方を押して比べてください。

テンキーの数字には補足があります。NumLock がオンのとき、Numpad7 の key は「7」で、オフのときは同じ物理キーの key が「Home」になります。code は Numpad7 のままで、location もテンキーのままです。詳しくはテンキーテストのページで説明しています。

押したキーを確認したい場面

キーの割り当て変更。 Windows の PowerToys Keyboard Manager や macOS の Karabiner-Elements などのツールは、キーを物理的な位置で識別するので、code と対応します。割り当てを変えたいキーを押して code を控え、ツールの中でそれを探してください。言語を切り替えた後に意味が変わってしまったキーは、key と code を比べます。code が合っていて key が違うなら、ハードウェアの故障ではなく、配列の設定です。

表示が消えたキー。 キーキャップの印字が消えてしまったら、ここで押して key の値を読みます。Shift を押すと記号が出るキーなら、両方の押し方で押すと、表に両方の文字が出ます。

ゲームの割り当て。 ゲームは通常、物理キーで割り当てを保存し、設定画面ではキーが見慣れない名前で出ることがあります。割り当てが反応しないときは、ここでそのキーを押して、そもそもブラウザに見えているか、ゲームが別扱いする左右の修飾キーやテンキーのキーではないかを確かめてください。

プログラミング。 JavaScript のキーボードハンドラーは、このページが読み取るのと同じ、key、code、keyCode、location のプロパティを持つ KeyboardEvent を受け取ります。処理したいキーを押して、code の値をハンドラーにコピーし、modifiers の行で、どのフラグが立つのかを確認してください。Dead、Unidentified、Process のようなキーでは、その配列でハンドラーが何を受け取るのかが、表にそのまま出ます。

購入前や液体をこぼした後の確認。 あるキーが違う文字を入力するとき、このページを使うと、ハードウェアが正しい位置を違う意味で通知している(配列の問題)のか、まったく別の位置を通知している(配線かファームウェアの問題)のかがわかります。すべてのキーが反応するかを確かめるには、代わりにキーボードテストをお使いください。

表示されないキー

Fn キーはキーボード内部で処理され、パソコンには届きません。Windows では、Windows キーはスタートメニューを開き、Print Screen は離したときにだけ、それも通知されないこともあります。メディアキー、輝度キー、ノートPCの Fn の組み合わせは、ページが読めるキーイベントを出さずに、システムを操作するのが普通です。ロック系のキーは反応します。Caps Lock、NumLock、Scroll Lock はそれぞれコードを通知しますが、macOS の Caps Lock だけは、押したときにしか通知せず、離したときは送りません。期待したキーが何も出ないときは、まずテキストエディターで試してください。そこでは動いて、ここでは動かないなら、壊れたスイッチではなく、上に挙げたシステムが処理するキーです。

ページまで届かないキーもあります。OS が Windows キー、Print Screen、メディアキーを自分で処理し、A はそのまま通過します。

関連するキーボードテスト

このページは、1回の押下をすべて詳しく表示します。キーボードのすべてのキーが反応するかを確認するには、トップのキーボードテストを使うと、押下が配列の図に対応づけられます。複数のキーを同時に押して一部が表示されないなら、キーボード同時押しテストで、同時押しのどのキーが届き、どれが落ちるかを調べられます。キーが間違っているのではなく、届くのが遅いと感じるなら、キーボード遅延テストで反応速度を測り、2台のキーボードを比較できます。

よくある質問

自分が押しているキーを調べるにはどうしますか?

このページをクリックして、そのキーを押してください。大きな表示にキーの名前が出て、その下の行に code、keyCode、location が表示されます。直近の12回分は下の表に残るので、続けて何個かキーを押しても、後から読み返せます。

key と code の違いは何ですか?

key は押下の意味で、入力される文字や実行される動作です。a、A、Enter、ArrowUp などが該当します。code は物理的なキーの位置で、KeyA や Digit1 のように表し、Shift やキーボードの言語配列では変わりません。同じキーを Shift つきで押すと、key は変わりますが、code は同じままです。

keyCode は今も使われていますか?

keyCode は非推奨で、ブラウザは key か code を推奨していますが、現在も動作し、古いコードやチュートリアル、ゲームエンジンの多くがまだ使っています。数値で、A は 65、Enter は 13、スペースは 32、Escape は 27 です。記号キーの値はブラウザによって異なることがあり、それが置き換えられた理由の1つです。

location とは何ですか?

location は、複数あるキーのうち、どちらを押したかを表します。standard は1つしかないキー、left と right は 2 つある Shift、Ctrl、Alt、Windows または Command の左右、numpad はテンキー上のキーです。そのため、メインの Enter とテンキーの Enter は、どちらもキー名が Enter でも区別できます。

キーが「Dead」や「Unidentified」と表示されるのはなぜですか?

Dead は、そのキーが配列上のアクセント記号キーで、次の文字を待ってから文字を出す状態であることを示します。ヨーロッパ系の配列でよく見られます。Unidentified は、ブラウザが既知の名前に割り当てられないキーイベントを受け取ったことを示し、一部のメディアキー、マクロキー、メーカー独自のキーで起こります。どちらの場合も、code と keyCode の欄で、物理的なキーはわかることが多いです。

Fn、Print Screen、Windows キーを押しても何も表示されないのはなぜですか?

Fn はキーボード内部で処理され、キーとしてパソコンに送られません。Windows の Print Screen と Windows キーは、ブラウザが見る前に OS が横取りします。メディアキーや輝度キーの大半も同様です。どれも故障ではなく、ウェブページから見えないだけです。

ゲームやスクリプトで使うキーコードを調べられますか?

はい。そのキーを押して、ゲームの割り当て、AutoHotkey、JavaScript のイベントハンドラーなど、物理キーで動くものには code の値を使い、入力された文字を気にするものには key の値を使ってください。ライブラリやゲームがまだ数値の keyCode を求める場合も、code の隣に数値が表示されます。

ほかのキーボードテスト

下のテストでは、キーボードの別の側面をそれぞれ詳しく調べられます。