# JavaScriptのキーボードイベントを理解する
ユーザーがキーを押すと、ブラウザは3つのイベントを発火します:keydown、keypress、keyup。それぞれが押されたキーに関する情報を持つプロパティを公開しますが、すべてが同等または推奨されているわけではありません。# キーイベントのプロパティ
event.code — 物理的なキー
QWERTYの命名規則を使用して、キーボード上のキーの物理的な位置の識別子を返します。たとえば、AZERTYキーボードの「A」キーはKeyQを返します。位置が重要であり文字ではないゲームコントロールに最適です。
event.key — 生成された文字
言語とアクティブな修飾キーに応じて生成された文字値を返します。Shift+Aを押すと"A"が返され、Shiftなしでは"a"が返されます。特殊キーの場合は"Enter"、"Escape"、"ArrowUp"などの名前が返されます。
# 各プロパティをいつ使うか
event.codeを使用し、特定の文字やCtrl+Cのようなセマンティックなキーボードショートカットを検出するにはevent.keyを使用してください。 event.whichとevent.keyCodeプロパティはW3C標準に従い、公式に非推奨となっています。モダンブラウザは互換性のためにこれらを引き続きサポートしていますが、新しいコードでは使用しないでください。