iPhone 上的按鍵計數器是一種基於瀏覽器的工具,例如 Key Press Counter,它會計算您在 Safari 或其他行動瀏覽器中啟用聚焦擷取區域時所產生的按鍵次數。它會記錄瀏覽器接受的 keydown 事件,而非螢幕上的原始硬體點擊或實體按鍵的按壓。每個被接受的事件會增加累計總數、貢獻至各按鍵的頻率表,並顯示在您輸入的最後十個標籤的簡短清單中。計數器還會將標籤標準化以提升可讀性,將字面空格轉為「Space」這個詞,並保留如 ArrowUp 或 Enter 之類的具名值。預設情況下會忽略按住按鍵的重複事件,您可以透過切換開關在需要測量持續按住按鍵時將其納入計算。一切都在當前的 Safari 分頁中執行,因此不會上傳或儲存到遠端伺服器,而 Reset 會在本地清除此次工作階段。由於 iPhone 接受來自螢幕上鍵盤、外接的 Magic Keyboard 或配對的藍牙鍵盤的輸入,當您想精確查看瀏覽器接收到哪些標籤,而非僅憑手指動作猜測時,計數器就非常實用。

key press counter on iphone
Key Press Counter on iPhone: Count Keys in Safari

為何人們會在 iPhone 上使用按鍵計數器

最常見的原因是出於好奇,想了解實際送達瀏覽器的內容。iOS 會針對許多硬體與軟體輸入傳送 keydown 事件,但標籤與次數未必符合您按下的按鍵所應有的結果。iPad 或 iPhone 上的外接 Magic Keyboard 會產生熟悉的 QWERTY 標籤,而 iPhone 的螢幕上鍵盤則會產生不同的事件行為,因為點擊與按鍵釋放是由 iOS 而非實體開關所管理。

其他實際用途包括:

  • 檢查在 iPhone 螢幕上重複點擊是否會產生穩定、可預測的標籤。
  • 在打字練習中,比較藍牙鍵盤與螢幕上鍵盤的按鍵量。
  • 驗證在啟用「完整鍵盤存取」時,鍵盤快捷鍵是否能送達 Safari。
  • 稽核某個 iOS 捷徑或輔助工具在工作階段中產生了多少 keydown 事件。

此計數器並非打字速度工具,不會計算每分鐘字數或準確率。獨立的 typing speed test 涵蓋了該功能。

基於瀏覽器的計數器在 Safari 中的運作方式

Key Press Counter 僅監聽其可見擷取區域內的 keydown 事件。該區域是頁面上可聚焦的元素,Safari 會在其聚焦時將鍵盤輸入路由到該處。第一步是先在虛線擷取框內點擊一下,使其取得焦點;在您這麼做之前,無論在哪裡按下按鍵都不會被記錄。

當 keydown 事件抵達時,計數器會在儲存前對其進行少量標準化:

  • 字面空格字元會變為可讀的標籤 Space。
  • 在支援地區轉換的情況下,單一可見字元會以大寫顯示,因此 a 會變成 A。
  • 具名值(如 ArrowUp、Enter、Escape、Tab 和 Shift)會保持可讀狀態。
  • 控制字元、代理碼點以及 Unicode 的換行或段落分隔符會被移除。
  • 空白的結果會變成 Unknown。
  • 為保護頁面上的表格,標籤長度上限為四十個 Unicode 碼點。

計數器也明確說明了會忽略哪些內容。瀏覽器與作業系統的快捷鍵可能會在網頁接收到之前就被攔截,因此 Cmd+Tab 或硬體層級的快捷鍵可能不會以記錄的形式出現。在擷取區域之外、在其他應用程式中,或在設定焦點之前所輸入的任何內容,都不屬於此次工作階段的一部分。

在 iPhone 上設定計數器

  1. 在 iPhone 或 iPad 上開啟 Safari 並載入 Key Press Counter 頁面。
  2. 在虛線擷取區域內點擊一次,使虛線邊框顯示為已聚焦。iOS 有時需要第二次點擊才能在頁面元素上穩定焦點。
  3. 按下中性的測試按鍵,例如字母、Space 和 Enter。請避免輸入密碼、復原碼或私人訊息。
  4. 若您想使用外接鍵盤離開擷取區域,請按 Tab。Tab 不會計入,並會將焦點移出該區域。
  5. 決定關閉按住按鍵的重複計數(每次實體按住算一次),或啟用該功能以納入標記為 repeat 的瀏覽器事件。
  6. 觀察總數、最後十個標籤以及頻率表在每個被接受的事件後的更新情況。
  7. 完成後,點擊 Reset counter 以清除本地工作階段的總數、頻率圖與近期記錄。

舉個快速的範例,假設您在關閉重複計數的情況下按下:A、B、Space,然後按住 B 三秒後放開,再按一次 A。按住 B 期間產生的重複事件預設會被忽略,因此被接受的事件為 A、B、Space、B、A。總數變為 5,頻率表依計數遞減、標籤字母順序排序為 A(2)、B(2)、Space(1)。若開啟重複計數,相同的輸入會讓 B 的計數更高,因為按住 B 時的每個重複事件都會增加總數及該按鍵的頻率。

解讀總數、近期標籤與頻率表

每個被接受的事件後會更新三個檢視:

  • 總數。目前工作階段中每個被接受的 keydown 的累計計數。
  • 最近十個標籤。依被接受順序排列的最後十個標準化標籤,讓您一眼就能確認最近的序列。
  • 頻率表。依計數遞減排序,計數相同時再依標籤排序,因此在重新載入表格時,相同計數的順序保持一致。

近期檢視的上限為十個標籤。頻率圖則涵蓋整個工作階段,直到您點擊 Reset 為止。兩者結合起來可讓您回答諸如「我按了 Space 幾次」或「我最後點擊的是哪個按鍵」之類的問題,而無需完整重建所有輸入內容。

計數器功能在 iPhone 上的作用
keydown 事件總數在擷取區域聚焦時,計算每個被接受的瀏覽器 keydown 事件
最近十個標籤依被接受順序顯示最近的十個標準化按鍵標籤
頻率表依計數遞減排序被接受的標籤,計數相同時再依標籤排序
按住按鍵的重複切換預設為關閉;開啟時,每個標記為 repeat 的瀏覽器事件都會計數一次
Reset counter清除目前工作階段的總數、頻率圖與近期記錄
Tab 鍵行為Tab 不會計入,並會將焦點移出擷取區域

iPhone 上的計數器與鍵盤測試工具

這兩種工具回答的是不同的問題,而其區別在界定上十分明確。鍵盤測試工具會點亮實體鍵盤的配置,協助您找出會或不會產生事件的按鍵、識別損壞或卡住的開關,並確認鬼鍵行為。相比之下,按鍵計數器聚焦於數量與分佈:發生了多少被接受的 keydown 事件、最常出現的瀏覽器標籤是什麼,以及近期的順序為何。它不會繪製實體配置、不會識別鍵盤型號,也不會測試每個開關。

問題按鍵計數器鍵盤測試工具
瀏覽器收到了多少 keydown 事件?可以,透過總數不行
哪個標籤出現最多次?可以,透過排序後的頻率表不行
特定的實體按鍵是否有註冊?有限,僅依據標籤可以,透過配置高亮顯示
某個開關是否故障或過於敏感?不行,僅回報瀏覽器事件較接近,但仍是基於瀏覽器
每分鐘字數或準確率不行不行
配置、型號或掃描碼識別不行不行

如果您想知道 Magic Keyboard 上的某個特定按鍵是否完全沒有註冊,鍵盤測試工具會是更合適的選擇。如果您想知道某個工作階段產生了多少事件,以及哪些標籤佔了多數,計數器則是正確的選擇。

iPhone 專屬的提示與限制

有幾項 iOS 行為會影響計數器所看到的內容:

  • 螢幕上鍵盤的行為。iPhone 的虛擬鍵盤是由 iOS 而非硬體開關所管理。每次點擊可能會產生一個或多個 keydown 事件,按住按鍵時則會以作業系統定義的重複速率產生標記為 repeat 的瀏覽器事件。
  • 外接鍵盤。Magic Keyboard 或配對的藍牙鍵盤所傳送的 keydown 事件,與桌上型瀏覽器所接收到的更為接近,包括方向鍵、輔助鍵和功能鍵。您可以在 iOS 設定中開啟「完整鍵盤存取」,讓大多數快捷鍵都能路由至瀏覽器。
  • Tab 作為離開焦點的按鍵。當您想使用外接鍵盤離開擷取區域時,Tab 不會計入並會移開焦點,因此鍵盤使用者不會陷入困住。
  • 預設動作已抑制。除了 Tab 以外的按鍵,頁面會在其聚焦於擷取區域時防止一般的預設動作,這能減少計數過程中意外的捲動或按鈕啟動。
  • 系統快捷鍵可能不會出現。iOS 層級的快捷鍵(例如切換應用程式或叫出 Spotlight)可能會在 Safari 收到事件之前就被攔截,因此它們不會出現在計數器中。
  • 行動裝置專屬的標籤怪癖。行動鍵盤可能會產生不同的標籤或編輯行為,且預測輸入所組成的文字可能與實體點擊並非一對一對應。
  • 隱私。請勿在任何測試區域中輸入密碼、復原碼或私人訊息。請改用中性的測試按鍵。結果會保留在當前的 Safari 分頁中,並在重新整理或 Reset 時清除。

計數器回報的是瀏覽器事件,而非硬體事實、掃描碼、輪詢率、延遲或輸入欄位中的內容。合成事件、瀏覽器擴充功能、遠端桌面軟體、輸入法、輔助工具以及螢幕上鍵盤,都可能影響 Safari 實際接收到的事件。請將總數與頻率視為瀏覽器層級的觀察,而非硬體層級的測量結果。

如果您正在權衡選項,Document the Steps You Use With a Knitting Row Counter 對此有詳細說明。

如果您正在權衡選項,Does the End Date Count on a Gantt Chart Bar? 對此有詳細說明。