使用鼠标时如何禁用触摸板


41

我可以禁用触摸板,但是如果我远离蓝牙鼠标,或者忘记了备用鼠标的无线加密狗,那么我就是SOL。Linux Mint有一个不错的设置,允许在使用鼠标时禁用触摸板。我现在在Ubuntu MATE 16.04上,没有该设置。我如何获得该功能?键入时关闭触摸板选项不足以防止我的手掌轻触到我正在处理的东西。

我在这里阅读了其他类似的问题,但无法找到此确切问题的答案。

Answers:


64

如果连接了外部鼠标,则应该能够通过以下命令禁用触摸板:

gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled-on-external-mouse

了解当前情况:

gsettings get org.gnome.desktop.peripherals.touchpad send-events

选项有:

enabled
disabled
disabled-on-external-mouse

4
上面的禁用命令无效。现在,它在外部鼠标上显示为已禁用,但触摸板仍可与连接的蓝牙鼠标或无线鼠标一起使用。

10
在Ubuntu 16.10上对我有效。我唯一的遗憾是我只能提出一个支持。
Jeremiah Peschka '16

1
我没有要测试的老鼠的恶作剧,但看来,外部鼠标禁用功能适用于有线鼠标,但不适用于无线鼠标。
布伦特

2
我可以确认这在使用蓝牙鼠标的Ubuntu 16.04上适用于我。一旦我的鼠标被连接,触摸板就被禁用。这简直太美了!:)
穆罕默德·本·尤斯拉特

2
在我的Ubuntu 16.04没有工作
保罗Praet

4

还有一个程序引入了一些GUI来编辑一些这样的设置。

sudo add-apt-repository ppa:atareao/atareao
sudo apt update
sudo apt install touchpad-indicator

阅读位于https://itsfoss.com/disable-touchpad-when-mouse-used/的更详细的指令集。


其他解决方案似乎用了很长时间或没有用...安装的触摸板指示器启动了它,设置了设置,开始了。
Fabian N.

也喜欢在输入时禁用触摸板的选项!
纳什

最后谢谢您!我以为我快要疯了,所有这些对话框“神秘地”关闭,光标在文档上跳来跳去,我沮丧地不断敲打我的头(和我的笔记本电脑)!禁用了我的触摸板,按钮和跟踪鼠标(所有这些),并且在断开外部鼠标的连接时似乎可以可靠地启用它们。+顶部栏上的状态通知-我总是知道我的立场。
Moshe Eshel '18

2

如果害怕终端,可以使用dconf-editordconf-enable-touchpad-image


我很抱歉,但你的截图显示GNOME的,而问题是关于MATE -也许你可以更新的截图?
罗伯特·里德尔

@RobertRiedl,您是对的(尽管它显示了Budgie),却没有看到。但是除了主题外,它的工作原理相同(甚至主题可以与伴侣一起使用)。
Zeromatiker

1

在Kubuntu 16.04上,您可以转到“系统设置”->“输入设备”->“触摸板”->“启用/禁用触摸板”

现在,在插入鼠标时选择禁用。


当我禁用触摸板,退出设置并稍后返回时,没有选择重新打开触摸板!
Brian Borchers

Unity版本的设置确实可以选择重新打开触摸板,而gnome版本的设置不允许我重新打开触摸板。我能够在Unity中重新打开触摸板。
Brian Borchers

0

我意识到我参加聚会有点晚了(而且我的回答并不特定于ubuntu-mate),但是这里...

我对您的要求非常相似,但是我在debian 9(拉伸)上运行xfce,所以没有安装gnome / gsettings。要在每次插入/拔下USB鼠标时禁用/重新启用突触触摸板,我使用udev规则来触发一个(posix)shell脚本,该脚本解除/重新绑定突触触摸板驱动程序:

  1. 以root用户身份,使用以下内容创建/usr/local/sbin/touchpadctl.sh:

    #!/bin/sh
    set -o errexit #(equivalent -e)
    set -o nounset #(equivalent -u)
    
    usage(){
      echo "Usage: ${0} {-enable|-e|-disable|-d}"
    }
    
    if [ $# -ne 1 ]; then
      usage
      exit 1
    fi
    
    base_dir=/sys/bus/serio/drivers/psmouse
    device_id=serio1
    
    if [ ${1} = "-disable" -o ${1} = "-d" ]; then
      logger "${0} is disabling the touchpad"
      echo -n manual > $base_dir/bind_mode
      echo -n $device_id > $base_dir/unbind 2>/dev/null || true
    elif [ ${1} = "-enable" -o ${1} = "-e" ]; then
      logger "${0} is enabling the touchpad"
      echo -n auto > $base_dir/bind_mode
    else
      usage
      exit 1
    fi
    
  2. 使您的触摸板控制脚本可执行:

    sudo chmod +x /usr/local/sbin/touchpadctl.sh
    
  3. 现在测试您的脚本。禁用触摸板:

    sudo /usr/local/sbin/touchpadctl.sh -d
    

    并启用触摸板:

    sudo /usr/local/sbin/touchpadctl.sh -e
    

因为它使用“驱动程序解除绑定”,所以对X / xorg / wayland / gnome 完全没有依赖性。因此,您可以在udev规则中使用它,该规则将在启动期间正常运行:

  1. 以root用户身份创建/etc/udev/rules.d/01-touchpad.rules,其中包含以下内容:

    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="add", \
      RUN+="/usr/local/sbin/touchpadctl.sh -disable"
    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="remove", \
      RUN+="/usr/local/sbin/touchpadctl.sh -enable"
    

与linux一样,您的工作量可能会有所不同-您可能需要对其进行“调整”,但是我已经尽力使它易于理解。有关驱动程序绑定/解除绑定的更多信息,请阅读Linux每周新闻中Greg Kroah-Hartman在2005年发表的文章,并且在内核源代码中也有一些不错的信息。有关重写udev规则的更多信息,请参阅Daniel Drake的出色教程

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.