基於瀏覽器的滾輪測試可確認當您按下滾輪或任何其他滑鼠按鍵時,頁面會接收到哪些 MouseEvent.button 代碼。滾輪的按鍵點擊在 W3C 滑鼠事件對應中會以代碼 1 (Auxiliary,輔助鍵) 送達,此代碼在大多數作業系統上與中鍵點擊相同。若您的頁面接收到了該按鍵動作,您會在工具的虛線目標區內看到對應名稱的計數上升;若沒有上升,則代表瀏覽器、作業系統、擴充功能或遠端桌面層已在事件抵達頁面之前將其攔截。此檢查刻意設計得範圍很窄:它只告訴您瀏覽器將哪個整數代碼送達單一可見區域,以及送達的順序。它並不會測量捲動方向、捲動速度、捲動平順度,或滾輪是否實體上有在旋轉。若要取得這些訊號,您需要使用其他測試工具,例如專門的滾輪 delta 工具。當您懷疑滾輪上或附近的中鍵、返回鍵或側鍵未被網頁應用程式識別時,按鍵代碼檢查便是合適的工具,因為它能精確分離出瀏覽器所送達的事件。

瀏覽器滾輪測試能驗證什麼
Mouse Tester 是建立在 Web 平台的 MouseEvent.button 屬性之上,該屬性帶有一個整數,用於識別與按下或釋放事件相關聯的單一按鍵。滑鼠滾輪較為特殊,因為它提供兩種不同的輸入:滾輪向下按壓時作為一個按鍵(代碼 1,Auxiliary),而滾輪的旋轉則會產生帶有水平和垂直位移量的獨立滾輪事件。Mouse Tester 僅監聽按鍵按下事件。若您關注的是點擊行為,亦即確認對滾輪的刻意按壓是否被登錄為中鍵點擊,則此工具可透過觀察 Auxiliary 計數立即回答該問題。
若您關注的是旋轉,亦即滾輪是否能向上、向下捲動、捲動是否平順,或是會跳行,Mouse Tester 就不適合。旋轉資料是透過滾輪事件送達,而非按鍵事件,因此頁面不會為這些事件累加任何計數。合理的工作流程是依序執行兩項檢查:先執行按鍵測試以驗證中鍵點擊,再執行另一個獨立的滾輪測試以驗證旋轉行為。剛接觸瀏覽器式滾輪測試的讀者,可將 滑鼠滾輪測試入門:第一次執行指南 作為有用的搭配閱讀資料。
此工具的合約刻意設計得很窄,以確保其答案不含歧義。每個抵達虛線目標的事件都會依其整數代碼分類、計數一次、標記一次,並加入最近接受的八個標籤清單裡。不進行輪詢率計算、不進行去抖動計時、也不重建持續按住的按鍵狀態。頁面僅在可見的測試區域內進行監聽。
五個 MouseEvent.button 代碼與滾輪
Web 規範明確定義了五個具名滑鼠輸入按鍵代碼。Mouse Tester 使用這些名稱,並將任何其他整數標記為 Unknown 並附上其數值,這與 MDN 的 MouseEvent.button 參考文件 中記錄的行為一致。下表列出此工具可識別的代碼。
| 代碼 | 名稱 | 常見的實體來源 |
|---|---|---|
| 0 | Primary(主要鍵) | 主要啟動鍵,在右手用滑鼠上通常是左鍵 |
| 1 | Auxiliary(輔助鍵) | 大多數滑鼠上的滾輪按鍵或中鍵 |
| 2 | Secondary(次要鍵) | 右手用滑鼠上的右鍵 |
| 3 | Back(返回鍵) | 指派為瀏覽器上一頁導覽的拇指鍵或側鍵 |
| 4 | Forward(前進鍵) | 指派為瀏覽器下一頁導覽的拇指鍵或側鍵 |
從此對應關係可直接得出幾項實務注意事項:
- Primary 並不總是代表實體左鍵。作業系統設定可以交換左右鍵的角色,因此同一個實體按鍵在一部機器上可能送達代碼 0,在另一部機器上則送達代碼 2。
- Auxiliary 是與滾輪最相關的代碼,因為將滾輪向下按壓是按鍵事件,而非滾輪事件。
- Back 與 Forward 完全取決於瀏覽器是否將其公開。許多瀏覽器會將這些實體按鍵保留給歷史紀錄導覽使用,這代表頁面可能永遠不會接收到該事件。
- Unknown 代碼仍會累加到總計中,但會以數值而非推測出的名稱顯示。文件中的對應僅使用整數,因此小數值會被拒絕。
如何使用 Mouse Tester 測試滑鼠滾輪
完整的檢查只需要幾次刻意的按壓。在任何現代桌面電腦瀏覽器中,從 Mouse Tester 頁面執行即可。
- 將游標置於頁面上的虛線目標區內。目標區會抑制自身的上下文選單與輔助啟動,如此中鍵點擊便不會立即取代結果。
- 以刻意且單獨的一次向下按壓按下滾輪一次。避免滾動滾輪;您需要的是按鍵事件,而非滾輪事件。
- 確認 Auxiliary 計數上升一,且總計上升一。若兩個數字皆有變動,則代表瀏覽器已接收到代碼 1 的事件。
- 逐一按下您要驗證的其他按鍵:主要鍵、次要鍵、返回鍵、前進鍵,以及滾輪附近的任何側鍵。每次按壓後,對應名稱的計數應上升一。
- 檢查「最近」清單以確認標籤被接受的順序。該清單保留最新的八個標籤。
- 重複按壓任一按鍵數次,以確認計數是否一致。可正常運作的按鍵應在每次刻意按壓時產生一個事件。
- 若您想要重新開始,可使用「重設」以清除記憶體中的工作階段。重新整理或關閉分頁也能在不操作控制項的情況下清除。
若您真正關注的是滾輪的旋轉行為而非其按鍵動作,此時便是切換工具的時機。Mouse Tester 刻意忽略滾輪位移量;獨立的滾輪測試會記錄瀏覽器滾輪事件所提供的上、下、左、右計數與原始位移值。
解讀結果:計數的意義
每個具名計數代表抵達目標區、帶有相符整數代碼的 mousedown 事件數量。總計則是目前工作階段中所有接受事件的總和,包含 Unknown 代碼。「最近」清單會以接收順序顯示最後八個標籤,因此有助於找出會為單次按壓產生重複事件的按鍵。
每次刻意按壓皆穩定地單次遞增,這才是預期的模式。若按壓滾輪一次卻產生兩個 Auxiliary 計數,代表此按鍵被登錄為雙擊,該訊號值得使用其他工具進一步調查,例如專門的雙擊間隔測量工具,該工具會保留近期、最佳與平均值的簡短歷史。若按壓一次卻產生零計數,則代表事件未抵達頁面。最常見的原因是瀏覽器、擴充功能或作業系統在事件送達之前已將其攔截。
零計數不應被視為按鍵損壞的證明。它只能證明在此次測試期間,沒有相符的事件抵達本頁面。滑鼠與瀏覽器之間的軟體可能會丟棄、重新對應或合成事件,且此行為會因應用程式而異。若在工具中計數為零,但同瀏在特定應用程式中可正常運作,則問題出在工具可見範圍之外,而非硬體本身。
為何按鍵可能未顯示
在 Mouse Tester 看到之前,可能有多個層級會吸收按鍵事件。返回鍵與前進鍵是最常見的受害者,因為許多瀏覽器會將這些實體按鍵保留給歷史紀錄導覽使用。當瀏覽器進行導覽時,頁面永遠不會接收到 mousedown,因此計數會維持為零。
其他層級也可能以類似方式造成干擾:
- 將滑鼠輸入重新對應為鍵盤快速鍵或不同按鍵代碼的瀏覽器擴充功能。
- 合成自有事件並可能抑制原始實體事件的輔助功能軟體。
- 在網路上轉譯滑鼠輸入,可能無法轉發每個代碼的遠端桌面用戶端。
- Windows 或 macOS 上的製造商軟體,會攔截額外的按鍵以用於應用程式專屬的快速鍵。
- 在事件抵達瀏覽器之前,將滾輪按鍵對應至非標準功能的驅動程式。
一個實用的替代方案是在出現問題的特定應用程式中測試同一裝置。遊戲、設計工具、瀏覽器和作業系統對話框處理額外按鍵的方式各不相同。此工具會計算抵達頁面的內容,所以在此處產生零計數的按鍵,在原生應用程式內仍可能完全正常運作。
Mouse Tester 不會測量的項目
此工具的合約在設計上有所限制。它不會測量點擊速度、雙擊間隔、輪詢率、按鍵去抖動、無線延遲、開關力度、游標移動、滾輪位移量或拖曳行為。它也無法認證輔助使用性、遊戲適用性或硬體狀態。這些聲稱需要不同的測量方法,在某些情況下,還需要存取一般網頁無法取得的實體計時或裝置診斷資訊。
同樣值得注意的是,「最近」清單與具名計數僅保留於目前分頁內。此工具不會要求裝置識別碼、不會安裝驅動程式、不會上傳事件、不會儲存歷史紀錄,也不會在可見測試目標之外進行監聽。重新整理、關閉分頁或選擇「重設」皆會移除目前的狀態。其可靠的合約僅限於:解讀 MouseEvent.button 代碼、計算那些抵達區域的事件、保留簡短的「最近」清單,並提醒軟體可能會攔截或重新對應輸入。
若在瀏覽器測試後需要進行更深入的調查,合理的下一步是針對特定滑鼠型號使用製造商的診斷工具,或是在可記錄事件時間戳記的工具中進行輪詢率測量。Mouse Tester 回答一個精確的問題:瀏覽器送達了哪個按鍵代碼、送達了幾次,而該問題正是大多數其他滑鼠按鍵調查的基礎。
延伸閱讀: 筆記型電腦滑鼠滾輪測試:驗證每個方向。