滑鼠點擊測試搭配 Mouse Tester,可用來檢查當您一次按下一個可用的滑鼠按鍵時,哪些 MouseEvent.button 值會送達瀏覽器的目標區域。Mouse Tester 會監聽傳遞到一個大型虛線目標區域的按鍵按下事件。對於該頁面收到的每一個事件,它會累加總計次數,並同時增加對應 Web 按鍵代碼的計數,而「最近紀錄」則保留最近八筆接受的標籤。目標區域會抑制自身的右鍵選單與輔助啟動行為,因此測試中鍵或次鍵時,不會立即取代目前的結果。它能識別 Primary、Auxiliary、Secondary、Back 與 Forward 等事件,但這些名稱描述的是 Web 事件的角色,並非滑鼠上保證對應的實體位置。按下「Reset test」會清除目前記憶體中的工作階段。這會產生一份受控的紀錄,記錄目前的瀏覽器與頁面實際接收到哪些事件;它並不會測量點擊速度、驗證硬體狀態,或觀察目標區域外的輸入。當側鍵不存在、以非預期的代碼送達,或在頁面收到事件前就被處理時,這項區分就很實用。

mouse click test
滑鼠點擊測試:驗證每鍵按一次

定義瀏覽器按鍵檢查

搜尋「mouse click test」(滑鼠點擊測試) 可能會導向幾種不同的任務,但本指南的目的是檢查按鍵識別。在此任務中,是要確認一次刻意的按壓會產生瀏覽器事件,並識別其 Web 按鍵代碼。這並非每秒點擊次數的練習、雙擊間隔的測量,或完整的硬體檢查。Mouse Tester 會記錄在其大型虛線目標區域內所傳遞的按鍵按下事件。它並不宣稱能測試同時按下的按鍵和弦,或重建連續按住按鍵的狀態。

MouseEvent.button 用於識別與按下或釋放動作相關聯的按鍵,而 MouseEvent.buttons 是一個位元欄位,表示在其他滑鼠事件期間目前按住的按鍵。W3C Pointer Events button 屬性文件 以及 MDN 的 MouseEvent.button 參考資料 記載了這項區別。Mouse Tester 僅監聽按鍵按下事件,並對每個傳遞事件所攜帶的單一整數代碼進行分類,因此其計數不應被視為按住按鍵的監測器。

每個可用按鍵各按一次

  1. 放置指標並按下。將指標保持在虛線目標區域內。逐一按下裝置上可用的主要、中間、次要、上一頁或下一頁等按鍵,每次按下後等候結果登記再繼續。
  2. 檢查每個傳遞的事件。確認總計次數與對應的具名按鍵計數有增加,且在「最近紀錄」中會依接收順序出現新標籤。在乾淨的單鍵測試下,一次傳遞的事件會讓總計與對應的具名計數各增加一次。
  3. 重複並清除工作階段。必要時在受影響的應用程式中,以同一裝置重複測試,並留意該應用程式的回應方式。視需要回到 Mouse Tester,並使用 Reset test 來清除這個僅存在於瀏覽器中的工作階段,再進行下一輪測試。

驗證計數、順序與按鍵代碼

Mouse Tester 使用 Web 平台的按鍵對應,而非根據實體的左右位置進行推測:

MouseEvent.button 代碼 Web 標籤 意義
0 Primary 事件模型中的主要啟動按鍵;作業系統的設定可能會將該角色指派給實體上的不同側邊。
1 Auxiliary 輔助按鍵,通常是中鍵或滾輪鍵。
2 Secondary Web 平台的次要按鍵分類;測試工具並不假設其對應固定的實體位置。
3 Back 在裝置與瀏覽器均有支援時,通常是額外的導覽按鍵。
4 Forward 在裝置與瀏覽器均有支援時,通常是額外的導覽按鍵。

總計代表目前工作階段中已接受的按鍵按下事件,而每個具名計數則區分五種可識別的代碼。「最近紀錄」保留最近八筆接受的標籤,方便您比較其接收順序。其他整數代碼會以 Unknown(未知) 形式保留其數值,而非強行對應到已知名稱。小數值會被拒絕,因為文件中定義的對應使用的是整數代碼。因此,Unknown 標籤代表該代碼不屬於五種已識別的名稱,但並不能單獨識別實體按鍵,也不能直接證明硬體有問題。

在受影響的應用程式中比較結果

Mouse Tester 無法回報某個應用程式的事件串流,因為它僅監聽自身可見目標區域內的事件。若要調查應用程式特定的問題,請在該應用程式中以同一裝置進行相同的、逐一的刻意按壓,並記錄結果。接著在 Mouse Tester 內重複同樣的按鍵順序,並將瀏覽器標籤與應用程式的行為進行比較。遊戲、設計工具、瀏覽器與作業系統對額外的按鍵可能有不同的處理方式。

瀏覽器或作業系統可能會在頁面接收事件前先攔截按鍵。上一頁與下一頁的按鍵可能會觸發瀏覽器的歷史記錄導覽、擴充功能可能會重新對應輸入、無障礙軟體可能會合成事件,而遠端桌面軟體則可能改變代碼。目標區域抑制右鍵選單與輔助行為的設計,可減少測試區域內的意外動作,但無法覆寫優先權更高的瀏覽器或系統處理。因此,缺少標籤只是關於此頁面工作階段的證據,並非對實體開關的最終判定。

解讀遺漏或重複的結果

沒有出現計數

從每個可用按鍵各做一次刻意按壓開始。若總計與預期具名計數都沒有變動,零計數代表測試期間沒有符合的事件送達此頁面,並不能證明實體開關故障。若是另一個具名計數增加,則代表頁面以另一個代碼接收到按鍵下事件。請重複數次作為實務上的確認,並將指標完全保持在虛線區域內。

單次按壓產生多次增加

若一次實體按壓造成總計上升超過一次,代表瀏覽器送出了多個按鍵按下事件。Mouse Tester 並不會對這些事件進行去抖動處理,也不會判斷其發生原因。請在適當時機與 Double Click Test 或原廠軟體比較行為,但請勿將一次瀏覽器工作階段視為修復診斷。

區分事件偵測與硬體診斷

  • 不測量速度或時間:Mouse Tester 不會測量點擊速度、雙擊間隔、輪詢率、按鍵去抖動或無線延遲。
  • 不測量實體效能:它不會測量開關力道、指標移動、滾輪滾動增量或拖曳行為。
  • 不提供診斷認證:它無法認證硬體狀態、無障礙適用性或遊戲適用性,也無法僅憑一次瀏覽器工作階段,獨立判斷開關、傳輸、驅動程式或應用程式的問題。

重設僅限瀏覽器的工作階段

所有計數都保留在目前分頁的記憶體中。按下「Reset test」會清除工作階段,而重新整理或關閉分頁也會移除目前的狀態。請在不同的比較測試之間執行重設,以免把不同測試的計數誤認為同一輪連續測試。

這個工具不會要求裝置識別碼、不會安裝驅動程式、不會上傳事件、不會儲存歷史紀錄,也不會在可見的測試目標區域之外進行監聽。可信的結論僅限於目前瀏覽器工作階段中,在該目標區域內所傳遞的 MouseEvent.button 整數值。