キーコードチェッカー
ブラウザ上で押した物理キーの
イベントデータ(event.key, event.code等)を瞬時に取得。
| key | code | keyCode |
|---|---|---|
| キー入力の履歴がここに表示されます | ||
キーコードチェッカーの概要
キーコードチェッカー(Keycode Checker)は、ブラウザ上で押したキーボードのキーが、JavaScript内でどのようなイベントデータとして認識されるかを瞬時に確認できる開発者向けツールです。
フロントエンド開発では、ユーザーのキー入力に対するショートカットキーの実装やゲームの操作処理などで正確なキー判定が求められます。本ツールを使うことで、押下したキーの event.key、event.code、event.keyCode といった主要なプロパティ値を一目で取得し、ワンクリックでコピーすることができます。キーボードの配列(JISやUSなど)による値の違いや、Shift、Ctrlといった修飾キーとの組み合わせ時の挙動も簡単にテスト可能です。
キーボードの入力履歴の確認や、e.preventDefault() を有効にした際のブラウザ標準アクション(Tab移動やSpaceスクロールなど)の抑制テストもブラウザ上で安全に実行できます。
キーコードの取得・使い方
キーボードのキーを押す
このページを開いた状態で、調べたい物理キーボードのキーを押してください。
結果の確認とテスト
画面中央に押したキーの名前が大きく表示され、その下に event.key や event.code などのプロパティが表示されます。「ブラウザのデフォルト挙動を防ぐ」オプションをオンにしてテストすることもできます。
コードのコピー
取得した値をクリックするだけで、クリップボードにコピーされます。ソースコードへの貼り付けに便利です。また、画面下部には直近のキー入力履歴が表示されます。
キーボードイベントの用語集
- event.key
- ユーザーが実際に押したキーが入力する文字や役割を表すプロパティです。例えば、USキーボードで
Shift+1を押した場合、出力される文字である!がevent.keyとして取得されます。論理的な入力値を判定する際、現在最も推奨されるプロパティです。 - event.code
- 物理的なキーボード上の「どの位置にあるキーを押したか」を示すプロパティです。キーボードの言語配列に関わらず、「Aのキーボードの物理位置」にあるキーを押せば常に
KeyAが返ります。ゲームのWASD移動など、物理配置に依存する操作を実装する場合に重宝します。 - event.keyCode / event.which
- 押されたキーに割り当てられたシステム固有の数値コード(例: Aなら
65)を返すプロパティです。長らくJavaScript開発で使われてきましたが、現在では非推奨(Deprecated)となっています。互換性確認のためだけに利用してください。 - event.location
- 押されたキーがキーボードのどの物理的領域にあるかを示す数値です。標準キー(0)、左側修飾キー(1)、右側修飾キー(2)、テンキー(3)などを判別できます。左右の Shift キーを区別したい場合などに役立ちます。
- preventDefault()
- イベントが発火した際に、ブラウザが元々持っている標準の動作(例えば Space キーで画面を下へスクロールする、など)をキャンセルするためのJavaScriptメソッドです。
よくある質問(FAQ)
- Q.スマートフォンやタブレットでも使えますか?
- 物理キーボードを接続している場合は正常に動作します。ただし、画面上のソフトウェアキーボードの場合、OSやブラウザの実装によっては keydown イベントが正しく発火しない、またはすべて同じキーコード(例: 229)として返されることがあるため、本ツールは物理キーボードでの利用を前提としています。
- Q.event.key と event.code のどちらを使うべきですか?
- 用途によります。「Enterキーを押して送信」のように、キーの意味・入力される文字自体を判定したい場合は event.key を使います。一方、「W, A, S, Dキーでキャラクターを動かす」といったように、キーボード上の物理的な位置を基準にしたい場合は event.code を使うのがベストプラクティスです。
- Q.F5キーやCtrl+Wなどのショートカットを防ぐことはできますか?
- JavaScriptの e.preventDefault() を使用しても、タブを閉じる、ウィンドウをリロードする、ブラウザのデベロッパーツールの起動など、セキュリティやOS/ブラウザレベルで予約されている強権的なショートカットキーは完全に防ぐことができない場合があります。
- Q.event.keyCode はなぜ非推奨なのですか?
- ブラウザやOS、キーボードの配列によって返される数値が異なる場合があり、互換性の問題を引き起こしやすいためです。現在は event.key または event.code の使用が推奨されています。
- Q.入力されたキー情報はサーバーに送信されますか?
- 送信されません。すべての処理はブラウザのJavaScriptで完結しており、キー入力の履歴が外部のサーバーに送信・保存されることは一切ありません。
活用シーン
キーコードの確認が必要となる、代表的な開発シーンをご紹介します。
Webアプリケーションのショートカット実装
「Ctrl + S」で保存、「Escape」でモーダルウィンドウを閉じるといったショートカットキーを実装する際、正確な event.key や修飾キー(Ctrl, Alt, Shift, Meta)の組み合わせ判定条件を構築するのに役立ちます。
ブラウザゲームのコントローラー開発
アクションゲームなどで、ユーザーのキーボード入力(WASDキーでの移動やスペースキーでのジャンプ)に対するイベントリスナーを登録する際、言語配列に依存しない event.code の値を確認・実装するために使用します。
クロスブラウザ・配列の互換性テスト
JIS(日本語)キーボードとUSキーボード間で、記号キー(@や+など)を押した際の event.key の出力差異を確認し、どんなユーザー環境でもバグのない入力フォームを設計するための検証に使用します。
特定のキー入力の無効化処理
フォーム内でEnterキーによる意図しない送信を防いだり、特定の入力フィールドで数字以外の入力をブロックする際、対象となるキーコードを調べて preventDefault() を適用するテストに役立ちます。
フィードバックを送信
ツールをより良くするためのご意見をお聞かせください。
現在、フィードバックの受付を一時停止しています
サーバーが混み合っているか、スパム防止のための安全装置が作動しています。しばらく経ってから再度アクセスしてください。