如何在啟動時完全停用觸控板?

如何在啟動時完全停用觸控板?

我想在登入 Ubuntu 16.10 之前停用觸控板。

我曾經嘗試執行

#!/bin/bash

ID=$(/usr/bin/xinput list --id-only "SynPS/2 Synaptics TouchPad")

if [[ $ID ]]; then
    /usr/bin/xinput --disable $ID
    echo "Touchpad disabled"
else
    echo "Touchpad not found"
fi

啟動時使用 systemctl、rc.d 等等。似乎什麼都不起作用,因為它需要運行 X 或其他東西。

答案1

新增以下程式碼到 /usr/share/X11/xorg.conf.d/*-synaptics.conf

# Disable generic Synaptics device, as we're using
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

重新啟動並測試是否有效。

答案2

我安裝了 Linux Mint 18,核心版本為 4.4.0-45。我執行了以下操作,以便輕鬆切換觸控板狀態。

sudo apt-get install xinput

xinput -list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  pointer  (2)]
⎜   ↳ **FTE1001:00 0B05:0101**               ***id=14***   [slave  pointer  (2)]
  • 尋找觸控板的 ID,在我的例子中是 14。

  • 觸控板關閉:

    cd /usr/local/bin
    sudo nano touchpad-off

    #!/bin/bash
    # touchpad off
    xinput --set-prop 14 "Device Enabled" 0
    echo touchpad off
    
  • 觸控板打開:

    sudo nano touchpad-on

    #!/bin/bash
    # touchpad on
    xinput --set-prop 14 "Device Enabled" 1
    echo touchpad on
    
  • 使用以下命令使腳本可執行:

    chmod +x touchpad-off
    chmod +x touchpad-on
    

    現在,您可以在終端機中使用touchpad-off並輕鬆切換觸控板狀態。touchpad-on

啟動時禁用: 轉到啟動應用程式並新增新的啟動應用程序,尋找腳本touchpad-off並將其新增至清單。您需要確保腳本位於usr/local/bin如上所示的位置,並確認它是可執行的。

另一件需要仔細檢查的事情是確保檔案在自動運行提示下運行。右鍵單擊該檔案並轉到“開啟方式”選項卡,然後選擇自動運行提示。

啟動時禁用觸控板影片教學

答案3

由於我每次購買新的 Thinkpad 時都會遇到這個問題,因此以下是從其他兩個回應中藉鏡的更通用的方法:

  1. 找到觸控板的名稱:xinput --list。你應該得到這樣的東西:
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 Elan TrackPoint                    id=15   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Touchpad            id=12   [slave  pointer  (2)]
⎜   ↳ SYNA8022:00 06CB:CE67 Mouse               id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C           id=9    [slave  keyboard (3)]
    ↳ Intel HID events                          id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=16   [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera: Integrated I           id=10   [slave  keyboard (3)]

就我而言,要使用的名稱是SYNA8022:00 06CB:CE67 Touchpad

  1. 測試這是否確實是正確的設備(並且還可以避免重新啟動):,xinput --set-prop ID "Device Enabled" 0其中 ID 是透過上述命令獲得的清單中的 ID。如果這會停用觸控板,那麼您找到了正確的 ID 和名稱

  2. 建立一個檔案並/etc/X11/xorg.conf.d/呼叫它,例如20_synaptics.conf(像往常一樣,數字定義了相對於其他檔案的順序):

# Disable touchpad
Section "InputClass"
        Identifier "SynPS/2 Synaptics TouchPad"
        MatchProduct "SYNA8022:00 06CB:CE67 Touchpad"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "on"
EndSection

MatchProduct 字串應該是您在 xinput 清單中找到的字串。

  1. 若要測試它是否有效,請按 Ctrl+Alt+F3 切換到文字控制台(如果控制台 3 已被佔用,請嘗試其他數字)。登入然後啟動 X 會話:sudo xinit -- :2。這將啟動第二個 X 伺服器,而無需重新啟動電腦。您可能只會看到一個終端機視窗(沒有邊框,因為您不會執行視窗管理器),但這足以測試觸控板是否已停用。您可以透過在終端機視窗中鍵入 Ctrl+D 來退出。

相關內容