情况是这样的,我的 Gateway T-1623 上的触摸板基本上坏了。因此,我使用外部即插即用鼠标。我可以正常使用键盘,但是,如果我不小心在触摸板上呼吸太多,它就会翻转,并阻止我使用外部鼠标,除非我执行以下操作:
sudo modprobe -r psmouse
sudo modprobe psmouse
所以我的问题是,有没有办法永久禁用 Lubuntu 中的触摸板(通过使用终端或其他方式),这样触摸板基本上就无法工作了?如果您能提供任何帮助,我深表感谢,在此先谢谢您。
答案1
我相信是的。您必须使用一些命令并制作启动脚本,但您知道前者和后者并不难做到。
首先,运行xinput list
。您的输出应类似于以下内容:
zachary@MCServer:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [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)]
↳ Power Button id=7 [slave keyboard (3)]
如果可以,请事先拔下鼠标的插头。
现在您需要找到触控板的 ID。暂时使用主 ID(而不是主项目下缩进的 ID)。如果发现主项目同时涵盖鼠标和触控板,请选择相应的子 ID。
现在你需要运行
xinput set-prop DEVICEID "Device Enabled" 0
例如,如果我想禁用鼠标,我会2
使用DEVICEID
。
插入鼠标,确保它能正常工作,触摸板不工作。如果鼠标不工作,则运行
xinput set-prop DEVICEID "Device Enabled" 1
并使用子 ID 再次运行第一个命令。
要使其在启动时应用,您需要将其设为启动命令。打开Startup Applications
(或桌面环境中的等效命令)并添加第一个命令。
或者,您也可以从内部断开触控板的连接。
答案2
是的,这很容易。将触摸板模块列入黑名单。
要找出它是什么模块,你可以运行
grep -iA 2 touchpad /proc/bus/input/devices
在这里你会看到类似 elan 或 synaptic 的东西
进而
ls $(find /lib/modules/$(uname -r) -type d -name mouse)
查看当前内核的所有鼠标和触摸板模块。触摸板的名称中会有i2c
或touch
,鼠标模块的名称中会有mouse
或usb
。交叉引用这两个结果
编辑:我最近想出了如何使用复杂的命令可靠地获取正在使用的驱动程序的名称,这特登对我来说很容易简化:
grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done
我猜你的触摸板模块是synaptics_i2c.ko
。你.ko
在写黑名单时会省略
检查你是否获得了正确的模块
sudo modprobe -r synaptics_i2c
如果你安装了正确的模块,触摸板会立即死机。现在要防止它被加载:
在目录中创建一个文件,扩展/etc/modprobe.d
名为.conf
,包含单词blacklist synaptics_i2c
(替换为您的模块名称,不包括.ko
)。例如
echo "blacklist synaptics_i2c" | sudo tee /etc/modprobe.d/blacklist-touch.conf
(但请检查您选择的文件名是否不存在)
答案3
运行synclient TouchpadOff=1
以移除触摸板。
答案4
以下是我针对 Lubuntu 18.04 所做的事情:
首选项>LXSession 的默认应用程序>自动启动>然后“添加”synclient TouchpadOff=1
即使机器重新启动,我的触摸板也会关闭。
我确实喜欢 GUI。
和平,埃德