我希望在使用鼠标时能禁用触摸板。我该如何做到呢?
touchpad-indicator
在11.10版本上停止工作了。它在11.04版本上可以正常使用。Gnome3不是一个解决方案,因为我不喜欢它并且觉得它有很多bug。touchpad-indicator
在11.10版本上停止工作了。它在11.04版本上可以正常使用。Gnome3不是一个解决方案,因为我不喜欢它并且觉得它有很多bug。xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
xinput set-prop 12 "Device Enabled" 0
xinput --disable 12
xinput -disable 12
来禁用输入设备12(或者使用xinput -enable 12
来启用它)。请参阅手册页xinput(1)。 - Lekensteyn--disable
和--enable
,每个都要有两个破折号?这就是我使用xinput --disable 11
的方式。 - Ehtesh Choudhuryenable
,-enable
和--enable
(甚至是-------enable
)都可以使用。不过只有--enable
被记录在案(xorg-input 1.6.1)。我可能提到了-enable
是因为许多其他X工具使用单个破折号(例如-display
)。 - Lekensteynxinput disable 12
,没有破折号,它仍然可以正常工作(至少对我来说是这样)。 - mike239xxinput
没有参数时返回与xinput list
相同的列表。 - Bas Peetersxinput set-prop \
xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $0}' | sed 's/.*id=([0-9])./\1/'` "Device Enabled" 0` - pikiouimwheel
来解决滚轮速度问题。具体操作可参考此链接:https://askubuntu.com/questions/844151/enable-disable-touchpad/1109515#1109515 - Gabriel Staplessudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
atareao
,他可能在他的PPA中托管恶意软件。 - knocte#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput set-prop $ID "Device Enabled" 0
echo 'Touchpad has been disabled.'
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
else
xinput enable $ID
echo "Touchpad enabled."
fi
'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}'
。 - galathTouchpad
而不是TouchPad
。为了使其大小写不敏感,只需在您的grep选项中添加一个i
即可。 - zondosynclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
- galvaimwheel
处理滚轮速度问题:https://askubuntu.com/questions/844151/enable-disable-touchpad/1109515#1109515。此外,我的答案会搜索 xinput
中的 TouchPad
和 Touchpad
,因为有时候 P 的大小写是不确定的,这取决于系统,所以如果你不搜索两者,脚本可能无法正常工作。 - Gabriel Staplessynclient TouchpadOff=1
xinput
命令来替代:xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
xinput set-prop \
xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $0}' | sed 's/.*id=([0-9])./\1/'` "Device Enabled" 0`。 - pikiou不要使用可能会改变的id变量,而是像其他答案中所示,使用synclient
来代替xinput
,例如this。
sudo apt install xserver-xorg-input-synaptics
synclient TouchpadOff=1
synclient TouchpadOff=0
xinput set-prop 15 "Device Enabled" 0
xinput set-prop 15 "Device Enabled" 1
xinput list
这是如何在启动时自动禁用触摸板的方法 通过名称而不是ID来禁用触摸板可以更安全地进行。 以下是获取您触摸板名称的方法:
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
xinput -disable "$(xinput list --name-only | grep -i Touchpad)"
- Hasturtoggle_touchpad.sh [on|off]
如果您不带参数运行,则它将简单地反转触摸板的当前状态。#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi
(此答案是从一个无效的编辑中复制过来的)
不必每次想要启用/禁用触摸板时都记住那个命令,你可以将其添加为键盘组合快捷键。
在“首选项”中的“键盘快捷键”中点击添加。给快捷键取一个名称,例如“禁用触摸板”,然后添加上面发现的命令。
xinput set-prop <id> "Device Enabled" 0
xinput set-prop <id> "Device Enabled" 1
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
xinput set-prop 12 "Device Enabled" 0