Pen*_* Wu 354
在终端中运行以下命令:
xinput list
Run Code Online (Sandbox Code Playgroud)
您将获得如下所示的输出:
? 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)]
Run Code Online (Sandbox Code Playgroud)
它显示所有连接的输入设备。请注意,它们都有一个 id。由于 12 是我的触摸板的 ID,运行以下命令将禁用它。
xinput set-prop 12 "Device Enabled" 0
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 版本中,>12.04您还可以通过以下方式直接禁用
xinput --disable 12
Run Code Online (Sandbox Code Playgroud)
(并通过类似的命令启用)
小智 41
查看此链接:如何在 ubuntu 11.10 中禁用启用触摸板
在那里找到的答案非常简洁:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Run Code Online (Sandbox Code Playgroud)
在此之后,您将在通知区域中获得一个开关。
我唯一希望的是能够将开关键设置为Fn+ F8(这是我键盘上的触摸板按键开关...
小智 35
根据@Peng Wu 给出的答案,我创建了一个可以使用的 bash 脚本...
#!/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.'
Run Code Online (Sandbox Code Playgroud)
您可以手动运行它或在启动时运行它。然后你可以让脚本在启动时运行。
另一个用于切换触摸板的 bash 脚本:
#!/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
Run Code Online (Sandbox Code Playgroud)
kno*_*cte 26
简单地说,在终端中:
synclient TouchpadOff=1
Run Code Online (Sandbox Code Playgroud)
但是,上述内容在 Ubuntu 16.04 中似乎不再适用。在这种情况下,然后xinput仍然有效:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
Run Code Online (Sandbox Code Playgroud)
小智 11
代替xinput,使用可以更改的 id 变量,更好地使用,synclient如其他答案中所示,例如this。
sudo apt install xserver-xorg-input-synaptics
Run Code Online (Sandbox Code Playgroud)
关闭触摸板:
synclient TouchpadOff=1
Run Code Online (Sandbox Code Playgroud)
打开:
synclient TouchpadOff=0
Run Code Online (Sandbox Code Playgroud)
与如下所述的启动器或快捷方式一起使用。
这只是本问题下本答案中命令的应用。下面的解决方案仅限于Xfce /Xubuntu,虽然是偶然做出来的,但是觉得太优雅了,就不在这里分享了。因此,我最初创建了一个单独的问题,仅针对 Xubuntu。这个问题只能是这个问题的重复,因此可能会被关闭,这就是为什么我敢在这里重新发布该答案。
这是关于这两个命令:
禁用:
xinput set-prop 15 "Device Enabled" 0
Run Code Online (Sandbox Code Playgroud)
使能够:
xinput set-prop 15 "Device Enabled" 1
Run Code Online (Sandbox Code Playgroud)
将通过运行找到 ID 号
xinput list
Run Code Online (Sandbox Code Playgroud)
小智 8
这是在启动时自动禁用触摸板的 方法 此方法将通过名称而不是 id 更安全地禁用触摸板。以下是获取触摸板名称的方法:
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
Run Code Online (Sandbox Code Playgroud)
创建一个 bash 脚本文件。我将该文件添加到 ubuntu 启动应用程序,以便它在每次重新启动时运行。请记住使文件可执行。以下是内容:
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
Run Code Online (Sandbox Code Playgroud)
我使用以下脚本来启用/禁用触摸板。我还将它分配给键盘快捷键。
用法:toggle_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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307565 次 |
| 最近记录: |