Frequently Asked Questions for FreeBSD 2.X : X Window System 及 Virtual Consoles : 我的 PS/2 滑鼠在 X 中有點不正常
Previous: 當我執行 xconsole 時, 發生了 "Couldn't open console" 的錯誤
Next: 我的 PS/2 滑鼠不能透過 MouseSystem 來運作

9.8. 我的 PS/2 滑鼠在 X 中有點不正常

你的滑鼠和你的滑鼠驅動程式可能存在有不同步的現象。

在 2.2.5 以及更早的系統裡, 從 X 切到 virtual terminal 然後再切回來 就可以使它們重新做同步的動作。如果這個問題常常發生的話, 你可以在你的 核心設定檔中加入下面這個選項然後重新編譯 :

        options PSM_CHECKSYNC
      

如果你沒有建立核心的經驗, 請看 建立核心 這一節。

加上這個選項以後, 滑鼠和滑鼠驅動程式間的同步問題應該就比較不會出現 了。如果這個問題仍然存在的話, 在移動滑鼠時按按滑鼠按鍵可以使滑鼠和滑 鼠驅動程式重新做同步的動作。

該注意的是這個選項並不是對每一個系統都有效, 它可能會讓接在 PS/2 滑 鼠位置的 ALPS GlidePoint 裝置失去 "tap" 這項功能。

在 2.2.6 及其後的版本, 同步的確認已經有了較好的解決辦法, 而且這些都 已經是 PS/2 滑鼠驅動程式的標準了。這個方法也可以在 GlidePoint 上正常工 作。 (因為確認的程式碼已經成為一個標準功能, 所以在這些版本中我們不在提 供 PSM_CHECKSYNC 的選項了。) 不過在極少數的案例中, 這些驅動程式會誤報 同步性錯誤, 然後你就會看到這樣的核心訊息 :

        psmintr: out of sync (xxxx != yyyy)
      

然後你就會發現你的滑鼠不能正常運作了。

如果你發生了這樣的狀況, 你必須藉由把 PS/2 滑鼠驅動程式的 flag 設成 0x100 來把同步確認的程式碼給取消掉。然後在開機提示符號時用 "-c" 選項來進入 UserConfig :

        boot: -c
      

然後, 在 UserConfig 的命令列中鍵入 :

        UserConfig> flags psm0 0x100
        UserConfig> quit
      


Frequently Asked Questions for FreeBSD 2.X : X Window System 及 Virtual Consoles : 我的 PS/2 滑鼠在 X 中有點不正常
Previous: 當我執行 xconsole 時, 發生了 "Couldn't open console" 的錯誤
Next: 我的 PS/2 滑鼠不能透過 MouseSystem 來運作