輪詢率是指滑鼠每秒向電腦回報位置的次數,以赫茲 (hertz) 為單位,大多數現代滑鼠都標示 125 Hz、500 Hz、1000 Hz 或 8000 Hz 等級。Mouse Tester 並非直接測量輪詢率;它測試的是一個相鄰但同樣重要的項目:滑鼠上的每次按鍵動作是否真的以可辨識的 MouseEvent.button 程式碼送達瀏覽器。雖然這兩項檢查回答的問題不同,但它們共享同一個診斷目標,也就是確認你的滑鼠確實提供了電腦所預期的內容。一支標示 1000 Hz 輪詢率的滑鼠,若按鍵事件被丟棄、重新對應,或根本未送達網頁,仍會讓人感覺遲緩。這就是為什麼按鍵事件檢查在你深入研究韌體、驅動程式或製造商軟體之前,是一個有用的第一步。

輪詢率實際測量的是什麼
輪詢率描述的是滑鼠多常告訴主機游標在哪裡。這個主機(也就是你的電腦或瀏覽器)從不主動詢問;它只是等待下一份回報。125 Hz 的滑鼠每秒送出 125 個位置回報,500 Hz 的滑鼠每秒送出 500 個,1000 Hz 的滑鼠每秒送出 1000 個,而 8000 Hz 的滑鼠每秒則送出 8000 個。常見的等級,從最不靈敏到最靈敏依序為:辦公或省電模式的 125 Hz、一般使用的 500 Hz,以及遊戲用的 1000 Hz。任何高於 1000 Hz 的規格都是為高幀率競技遊戲所行銷,雖然實際上限取決於 USB 傳輸、驅動程式和應用程式。
輪詢率僅描述動作回報,完全沒有說明當你按下按鍵時會發生什麼。按鍵動作是一個在你觸發開關的瞬間所送出的獨立事件,由瀏覽器透過其專屬的事件管線來處理。兩支具有相同 1000 Hz 輪詢率的滑鼠,可能會因為按鍵事件送達的方式、作業系統重新對應的方式,以及應用程式取用事件的方式不同,而產生明顯不同的點擊手感。了解這項區別很重要,因為大多數「我的滑鼠是不是變慢了?」的抱怨,歸根究底都在於按鍵反應,而不是位置回報。
輪詢率測試的終點與按鍵測試的起點
專門的輪詢率工具會測量主機接收動作取樣的頻率,通常是透過追蹤在持續移動期間游標座標變化的速度。這類工具非常適合用來確認你的接收器、傳輸線或驅動程式是否以預期速率送達位置回報。然而,它們並不會告訴你:在設計應用程式中按下的側鍵是否真的有註冊,或是在瀏覽器中按下的上一頁按鍵是否在網頁看到事件之前就已觸發了導覽事件。
Mouse Tester 的設計正是為了補足這個缺口。這個工具會在單一虛線目標上監聽 mousedown 事件,並記錄瀏覽器所送達的整數按鍵程式碼。它會累計總計次數、Web 定義的每個按鍵程式碼各一個具名計數,以及最近八個接收到的標籤的簡短清單。它並不聲稱能測試輪詢率、消除抖動、開關施力或無線延遲。它所聲稱的功能範圍既明確又可驗證:每次有按鍵事件送達測試區域時,對應的具名計數器就會加一。
這使它成為一項互補的檢查。如果你的輪詢率正常,但按鍵仍感覺反應遲鈍,那麼按鍵事件層就是你下一個該檢查的地方。如果按鍵在這裡確實正確註冊,那麼問題幾乎可以肯定是在瀏覽器的下游——在應用程式、驅動程式、外掛程式堆疊或遊戲設定檔中。
使用 Mouse Tester 執行按鍵事件測試
這個測試刻意設計得很簡短。你不需要安裝任何東西、不需要登入,也不需要移動滑鼠。頁面上已經載入並準備好一個虛線目標。
- 將游標移至 Mouse Tester 頁面上的虛線目標內。
- 依序按下主鍵一次、再按中間鍵(滾輪鍵)、再按次要鍵,每次只按一個。
- 如果你的滑鼠有額外的按鍵,也請依序按下上一頁和下一頁側鍵,每次只按一個。
- 在每次按下後觀察總計次數和具名計數器;每次按下應該都會讓總計和對應的具名標籤各剛好加一。
- 快速看一下最近的清單,確認你按下的順序與瀏覽器接收到的順序相符。
- 如果想要一個乾淨的基準,請按下「重設」以清除工作階段,然後重複同樣的順序做為健全性檢查。
該目標會在其內部抑制自身的上下文選單和任何預設的輔助啟動動作,所以在游標位於其內時,中間鍵或右鍵點擊都不會觸發瀏覽器自己的選單而取代你的測試結果。計數僅保留在目前的分頁中,關閉或重新整理頁面會清除整個工作階段。
解讀按鍵程式碼結果
Mouse Tester 遵循 Web 平台的 MouseEvent.button 對應表,而不是依據對實體開關位置的假設。此對應表記錄於 W3C Pointer Events 規範,並摘錄於 MDN 的 MouseEvent.button 頁面。在這個工具中,有五個整數程式碼具有具名標籤,而任何其他整數則會以其原始值顯示為「Unknown」(未知)。文件化的對應表僅使用整數程式碼,因此小數程式碼會被拒絕。
| 程式碼 | 標籤 | 常見的實體意義 |
|---|---|---|
| 0 | Primary(主要鍵) | 主要的啟動按鍵,可依使用者或作業系統設定而配置 |
| 1 | Auxiliary(輔助鍵) | 通常是滾輪點擊或中間鍵 |
| 2 | Secondary(次要鍵) | 通常是右側按鍵 |
| 3 | Back(上一頁) | 瀏覽器通常將其對應至「上一頁」歷史記錄的側鍵 |
| 4 | Forward(下一頁) | 瀏覽器通常將其對應至「下一頁」歷史記錄的側鍵 |
Primary(主要鍵)標籤並不總是指實體左鍵。作業系統設定可以交換實體的左右鍵,而 Web 事件模型遵循的是設定的角色,而不是實體的位置。Auxiliary(輔助鍵)通常是中間鍵或滾輪點擊鍵。Back 和 Forward 通常是生產力或遊戲滑鼠上的額外側鍵,但前提是瀏覽器有將其公開;許多瀏覽器會保留這些程式碼供自己的導覽使用。
零計數的真正意涵
具名計數器上的零是最容易被誤讀的結果。它無法證明開關損壞,只能證明在你的工作階段期間,沒有相符的事件送達測試目標。在網頁看到事件之前,可能有幾個層級會攔截該事件:
- 瀏覽器可能會認領該按鍵本身;上一頁和下一頁側鍵經常會在任何頁面層級的處理程式執行之前觸發歷史記錄的導覽。
- 已安裝的外掛程式可能會在頁面接收到事件之前,將按鍵重新對應為快捷鍵或巨集。
- 輔助技術軟體可能會為了開關控制或停留點擊工作流程而合成或取用事件。
- 遠端桌面工作階段可能會依傳輸方式而壓平或重新詮釋按鍵程式碼。
- 製造商的驅動程式軟體可能會將側鍵指派為按鍵動作或桌面層級的動作,使其完全繞過瀏覽器。
如果某個按鍵顯示為零,請切換到原始問題發生的應用程式,並在那裡重複測試。遊戲、設計工具和 3D 編輯器通常會有各自的按鍵對應層,因此在瀏覽器中看起來很差的結果,在另一個主機中可能完全正常。如果在任何地方計數都為零,下一步應該是檢查裝置本身的設定軟體,而非點更多次或做更多獨立的測試。Mouse Tester 回報的是瀏覽器所看到的,而不是開關「應該」做什麼。
將此檢查與其他快速測試搭配使用
按鍵事件只是輸入堆疊中的一個層級。如果你的目標是驗證整體的滑鼠效能,那麼按鍵事件測試的位置,介於輪詢率檢查與應用程式層級對應檢查之間。請先執行輪詢率測試以確認位置回報是否以預期速率送達,然後開啟 Mouse Tester 以確認按鍵本身是否確實送達瀏覽器。如果兩者皆通過但問題仍然存在,則剩下的嫌疑對象就是應用程式的輸入對應、使用者設定檔,或是裝置韌體。
你可以將同樣的模式延伸應用到鍵盤、滾輪和點擊節奏。一套涵蓋輪詢率、按鍵事件、捲動事件和點擊間隔的一致診斷流程,便能涵蓋人們在描述「滑鼠感覺不對勁」時所提到的主要症狀,而且完全不需要安裝驅動程式、登入,或上傳任何資料。計數會保留在你目前的分頁中,只要按一下就能重設。
若想深入了解,請參閱 在 iPhone 上測試滑鼠捲動:驗證捲動方向。
若想深入了解,請參閱 如何在瀏覽器中測試滑鼠滾輪。