JavaScript 鍵碼查詢工具
按下實際鍵盤鍵,並檢視其佈局感知的鍵值、物理編碼、位置、修飾鍵、重複與組合標誌,以及已廢棄的 keyCode。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.點選或使用 Tab 移動至有邊框的捕捉區域。
- 2.按下你想要檢視的鍵或鍵組合。
- 3.比較鍵值的意義與編碼的物理位置,然後檢視位置與修飾鍵狀態。
- 4.僅將 JSON 複製作為診斷用途,並實際測試目標瀏覽器與佈局。
關於JavaScript 鍵碼查詢工具
JavaScript 鍵碼查詢工具會在刻意聚焦的測試區域內捕捉 keydown 事件,並顯示開發者在快捷鍵、遊戲、可訪問性控制及輸入診斷中常需要的瀏覽器值。按下字母、數字、導航鍵、修飾鍵、功能鍵或數字鍵鍵位,即可看到鍵值、編碼、位置、啟用的修飾鍵、重複狀態、組合狀態以及過時的數值 keyCode。複製顯示的記錄為格式化的 JSON,用於錯誤報告或本機測試。在捕捉區域外輸入的內容不會被觀察到。
鍵值與編碼回答不同的問題。鍵值代表在當前鍵盤佈局和修飾鍵狀態應用後產生的意義。在美式佈局中,同一物理鍵在按下 Shift 時可能報告 2 或 @。其他佈局可能報告不同的字元。編碼代表物理鍵的位置,例如 Digit2 或 KeyW,通常在佈局變更時保持穩定。當快捷鍵應遵循字元或命名動作時,應使用鍵值;當物理位置重要時,例如 WASD 移動,應使用編碼。
位置區分標準、左、右以及數字鍵盤變體。這對於 Shift、Control、Alt、Meta、Enter 和數字鍵等可能出現於多個位置的鍵來說至關重要。修飾鍵清單顯示事件中包含的狀態,而非全域性的按鍵歷史。當作業系統或瀏覽器在鍵被按住時發出重複的 keydown 事件,repeat 指標會變為 true。組合狀態表示輸入法編輯器或死鍵組合可能正在產生文字,因此快捷鍵處理器應在組合完成前避免執行動作。
keyCode 僅用於相容性診斷。UI Events 並未提供可靠的現代值,MDN 亦標記其為已廢棄且實作取決。可印字元的行為在不同瀏覽器和佈局中有所差異。新程式應使用 key 或 code,並配合特定功能測試。請勿從 keyCode 推匯出 ASCII、Unicode 或輸入的字元。值為零並不一定表示沒有鍵存在;它可能表示傳統屬性無法識別該鍵。
捕捉區域保持鍵盤可訪問性。Tab 事件永不被取消,因此使用者可以移動焦點,避免被困。其他鍵的預設動作僅在捕捉目標聚焦時被取消,以防止 Space 或箭頭鍵在檢視時捲動頁面。瀏覽器保留的快捷鍵、作業系統快捷鍵、輔助技術、密碼管理器、遠端桌面和輸入法可在頁面接收前擷取事件。行動裝置虛擬鍵盤可能因無實際鍵位而僅提供較少的編碼值。
此工具不會記錄歷史、監聽全域、識別鍵盤模型、硬體指紋或上傳事件資料。它僅保留最新事件於 React 本機狀態,直到頁面變更或重新載入。即使值保持在本機,也請避免輸入密碼、恢復碼或其他機密資訊;鍵盤診斷從不需要保密內容。對於自動化測試,應謹慎構建 KeyboardEvent 模擬物件,因為合成事件不等同於真實使用者輸入,且可能無法重現原生平臺行為。
八種標準衍生的測試情境涵蓋字母、移位數字、左/右 Alt、數字鍵盤 Enter 與死鍵組合,同時獨立宣告四種獨特的位置標籤。實際裝置仍是最終的相容性檢驗。請測試你功能支援的確切佈局、作業系統、瀏覽器、輔助技術與輸入法引擎。提供替代的點選控制以處理關鍵快捷鍵衝突,並永遠不要讓單一物理鍵盤佈局成為完成關鍵操作的唯一方式。
方法與來源
將一個聚焦的 keydown 事件對映至標準的鍵、編碼、位置、修飾、重複與組合欄位,僅保留 keyCode 並附帶遺留警告,從不儲存事件歷史或安裝全域監聽器。
常見問題
- 鍵值與編碼有何差異?
- 鍵值反映當前佈局與修飾鍵狀態;編碼識別物理鍵的位置,通常與佈局無關。
- 在新的 JavaScript 中應使用 keyCode 嗎?
- 不應。它已廢棄且實作取決。請根據是否需要意義或物理位置來選擇 key 或 code。
- 此工具會記錄你輸入的每一個字嗎?
- 不會。它僅在可見的捕捉區域聚焦時監聽,且僅保留最新事件於本機。
相關工具
- JavaScript 測試場在具備時間限制、獨立來源且封鎖網路的沙箱中執行簡短 JavaScript 程式碼。
- Linux 命令速查表搜尋十三個經源檢證的 GNU/Linux 檔案、文字、路徑與磁碟命令,並複製保守型範本,不使用會造成破壞的旗標。
- 打字測試在瀏覽器中實時測量你的打字速度、準確度與時間,以每分鐘字數(WPM)為單位,並提供即時精確結果。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- 標籤生成器建立 Shields.io 標籤 URL、Markdown 片段與 HTML 圖片標籤,無需記憶路徑轉義或查詢引數。
開發者工具 使用指南
查看全部- How Do I Find the Code for My Car Key in JavaScript (英文原文)
- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)