查找触摸板的 xinput ID

查找触摸板的 xinput ID

我禁用了 Dell XPS 13 上的触摸板来解决一个错误(当我键入、选择文本等时鼠标光标会随机跳动),可能是在 22.04 中,但操作系统会忽略它并且触摸板保持活动状态。在此处输入图片描述

您可能会问,为什么我认为禁用触摸板会有所帮助?因为我注意到,只要我的手离触摸板足够远,问题就不会发生。所以在我打开笔记本电脑并拔掉触摸板的插头之前,我想在这里检查一下。有没有其他人在 22.04 中遇到过这种情况?

答案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

相关内容