我已经做了很多关于禁用触摸板点击和打字时禁用触摸板的谷歌搜索,并找到了很多答案。然而,其中大多数与桌面环境有关。我不使用DE。
所以,我需要:
- 始终完全禁用触摸板点击
和
- 打字时禁用触摸板(例如滚动、移动鼠标)
答案1
打字时禁用触摸板(例如滚动、移动鼠标)
我可以通过添加syndaemon -i 1 -d &
到我的 ~/.xinitrc 文件来实现这一点。
这里的数字 1 是秒,即按下最后一个键后等待激活触摸板的时间。
始终完全禁用触摸板点击
我可以通过添加
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "MaxTapTime" "0" EndSection
/etc/X11/xorg.conf.d/10-synaptics.conf部分实现这一点
我在这里说部分是因为它确实可以防止点击不需要的窗口,但它不能防止通过滚动后台窗口而意外激活它们
答案2
如果是 Synaptics 触摸板,可以更改其属性以使用 synclient 程序运行 X 服务器,更多信息这里和这里。例如,要禁用点击(“单击”)操作,请使用
synclient TapButton1=0
列出可用的配置选项:
synclient -l
您可能特别感兴趣
Option "TouchpadOff" "integer" Switch off the touchpad. Valid values are: 0 Touchpad is enabled 1 Touchpad is switched off 2 Only tapping and scrolling is switched off
答案3
我用xinput
如何使用x输入法
xinput
列出当前 X 服务器识别的所有输入设备。找到您感兴趣的并记住 ID。
接下来,用 列出该设备的属性xinput list-porps $input_id
。
这看起来很可怕,但实际上它只是一个可以更改的设置列表。
查看属性,看看是否找到您感兴趣的东西,记住属性的 id。您xinput set-prop $input_id $prop_id $new_value
可以更改设置。
一个例子:
$ xinput
...
⎜ ↳ Touchpad id=12
...
我的触摸板的 ID 为 12。让我们检查一下它的属性:
$ xinput list-props 12
...
libinput Disable While Typing Enabled (331): 1
...
打字时禁用触摸板的设置的 ID 为 331 并且已启用(值为 1),我们现在要禁用此设置
$ xinput set-prop 12 331 0
现在,触摸板在打字时应该保持可用。
重要的提示
您使用 xinput 所做的属性更改不是永久性的,并且会随着 X-server 的丢失而丢失,因此如果您希望每次都拥有它们,则必须将它们包含在启动脚本中。然而,听起来很简单:ID 可能会根据您在启动时连接的外围设备而变化,这意味着如果您有时在启动时连接了鼠标,有时则没有,ID 可能会有所不同,因此您需要每次都识别它们时间。
我就是这样做的:
ID=$(xinput list|grep touch -i|sed -nr 's/.*id=([0-9]*).*/\1/p')
IN_TAP=$(xinput list-props $ID|grep "Disable While"|grep -v "Default" |sed -nr 's/.*\(([0-9][0-9][0-9])\).*/\1/p')
xinput set-prop $ID $IN_TAP 1