我想在登入 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 時都會遇到這個問題,因此以下是從其他兩個回應中藉鏡的更通用的方法:
- 找到觸控板的名稱:
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
測試這是否確實是正確的設備(並且還可以避免重新啟動):,
xinput --set-prop ID "Device Enabled" 0
其中 ID 是透過上述命令獲得的清單中的 ID。如果這會停用觸控板,那麼您找到了正確的 ID 和名稱建立一個檔案並
/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 清單中找到的字串。
- 若要測試它是否有效,請按 Ctrl+Alt+F3 切換到文字控制台(如果控制台 3 已被佔用,請嘗試其他數字)。登入然後啟動 X 會話:
sudo xinit -- :2
。這將啟動第二個 X 伺服器,而無需重新啟動電腦。您可能只會看到一個終端機視窗(沒有邊框,因為您不會執行視窗管理器),但這足以測試觸控板是否已停用。您可以透過在終端機視窗中鍵入 Ctrl+D 來退出。