答案1
查找触摸板的 xinput ID
打开终端并使用以下命令:
xinput list
这将输出类似这样的内容:
Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SYNA30D2:00 06CB:CE08 id=10 [slave pointer (2)]
⎜ ↳ SYNA30D2:00 06CB:CE08 id=11 [slave pointer (2)]
⎜ ↳ SYNA30D2:00 06CB:CE08 id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
接下来,尝试所有从属指针的 ID 号,找出哪个是您的触摸板。我的触摸板与 兼容id=12
。
测试
输入命令:
xinput set-prop N 'Device Enabled' 0 # Disable touchpad
在输入上述命令之前,请用 id=. 中的数字替换N
,然后尝试触摸板以查看它是否被禁用。如果不行,请使用以下命令:
xinput set-prop N 'Device Enabled' 1 # Enable touchpad
此命令将启用上一个命令禁用的设备。请注意,这N
会禁用触摸板。
脚本
将下面的脚本保存为/home/$USER/bin/touchtoggle
。
#!/bin/bash
# Purpose: Toggles the touchpad on and off with keyboard shortcut Ctrl+Z
# set via System settings > Keyboard > keyboard Shortcuts > Custom
# Change the ID below to your touchpad ID
ID=12
TOGGLE=$HOME/.touchpadtoggle
if [ ! -e $TOGGLE ]; then
touch $TOGGLE
xinput set-prop $ID 'Device Enabled' 0 # Disable touchpad
else
rm $TOGGLE
xinput set-prop $ID 'Device Enabled' 1 # Enable touchpad
fi
exit 0
使用文件管理器设置脚本可执行文件,或者使用终端并输入:
chmod +x /home/$USER/bin/touchtoggle
通过输入以下内容从终端运行脚本来检查脚本是否按预期工作:
touchtoggle
捷径
如果有效,请指定键盘快捷键,如Ctrl+Z或类似的东西系统设置 > 键盘 > 键盘快捷键:查看和自定义快捷键 > 自定义快捷键。输入以下内容:
- 名称:打开或关闭触摸板
- 命令:/home/$USER/bin/touchtoggle
- Shotcut:按你想要的快捷键
更改$USER
为您的用户名。
希望这可以帮助
答案2
与完全禁用触摸板相比,仅禁用“轻触以单击”对您同样有帮助。设置位于“设置”、“鼠标和触摸板”中。触摸板仍可正常工作,但现在必须通过机械方式按下触摸板才能单击。
Ctrl就我个人而言,我可以通过按+来快速打开或关闭该设置Esc。这是通过该快捷键触发的小脚本来实现的。如果您感兴趣的话,下面是具体方法:
1. 创建脚本
使用文本编辑器,将以下脚本复制到文件中~/.local/bin/toggletouchpad
。如果目录~/.local/bin
尚不存在,请创建它,然后注销并重新登录,以便将其包含在搜索中PATH
。
#!/bin/bash
STATUS=$(gsettings get org.gnome.desktop.peripherals.touchpad tap-to-click)
case $STATUS in
true )
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false
;;
false )
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
;;
esac
2.使脚本可执行
使用文件管理器设置脚本可执行文件,或者使用终端:chmod +x ~/.local/bin/toggletouchpad
3. 将其分配给快捷键
在“设置”-“键盘”,“键盘快捷键”中添加快捷键,在“command”处填入toggletouchpad
。