如何完全禁用计算机上的触摸板设备?(重启后即可恢复)

如何完全禁用计算机上的触摸板设备?(重启后即可恢复)

我知道禁用触摸板很简单,只需在系统设置中切换开/关按钮即可,但不幸的是,它仅适用于当前会话。重启后,触摸板就会重新打开。

答案1

禁用触摸板的命令

禁用触摸板的命令是:

14.04 版

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false

适用于 15.04 +

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

将其添加到启动应用程序

最实用(且简单)的解决方案是将命令添加到启动应用程序。

就像许多涉及屏幕、xrandr键盘或触摸板设置的命令一样,你需要休息一会儿但为了防止可能的当地程序推翻该命令,因此应该是:

14.04 版

/bin/bash -c "sleep 15 && gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false"

15.04 版本+:

/bin/bash -c "sleep 15 && gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled"

打开 Dash > 启动应用程序 > 添加。根据您的 Ubuntu 版本添加上述命令。

现在,登录后不久(15 秒内)您的触摸板就会自动禁用。

当然,您可以利用这 15 秒的时间来优化您的系统。


编辑

从你的评论来看,触摸板在一段时间后重新启用,这意味着一些该过程正在启用触摸板。

通常,很难找出导致这种变化的过程。即使你能找到,也不能保证你能消除原因。

然而好消息是gsettings(用于检查/控制触摸板)极其“电量不足”。这意味着,让后台脚本监视当前状态不会给您的系统带来任何负担,如果某个进程以某种方式启用了触摸板,则立即再次禁用触摸板。

如果你运行 14.04

  • 使用下面的脚本
#!/usr/bin/env python3
import subprocess
import time

key = "org.gnome.settings-daemon.peripherals.touchpad"

def check_set():
    currstate = subprocess.check_output([
        "gsettings", "get", key, "touchpad-enabled",
        ]).decode("utf-8").strip()
    if currstate == "true":
        subprocess.Popen([
        "gsettings", "set", key, "touchpad-enabled", "false"])

while True:
    time.sleep(2)
    check_set()

如果你使用 15.04+

#!/usr/bin/env python3
import subprocess
import time

key = "org.gnome.desktop.peripherals.touchpad"

def check_set():
    currstate = subprocess.check_output([
        "gsettings", "get", key, "send-events",
        ]).decode("utf-8").strip()
    if currstate == "enabled":
        subprocess.Popen([
        "gsettings", "set", key, "send-events", "disabled"])

while True:
    time.sleep(2)
    check_set()

使用它

  • 将脚本复制到一个空文件中,另存为no_touchpad.py
  • 将以下命令添加到启动应用程序:

    /bin/bash - c "sleep 15 && python3 /path/to/no_touchpad.py"
    

恐怕唯一的选择就是物理断开触摸板,正如 Serg 提到的那样。

答案2

下面讨论了 3 种可能的方法、优缺点。可能还有其他方法,但这些方法最可靠、最简单。

Dconf 方法

第一种方法是使用dconf(这是我首选的方法,因为它至少在我的 14.04 LTS 系统上重启后仍然有效),更具体地说是这个命令:

dconf write /org/gnome/settings-daemon/peripherals/touchpad/touchpad-enabled false

要完成它,请运行dconf update

非常好的方法,不需要root访问权限,重启后依然可用,脚本简单。

将司机列入黑名单

如果驱动程序(在 Linux 术语中为模块)被列入黑名单,则该设备将无法使用 - 这是一个简单的想法。我们需要的特定模块是pmouse

使用 root 权限打开文件/etc/modprobe.d/blacklist.conf,例如使用sudo nano /etc/modprobe.d/blacklist.conf(命令行编辑器)或gksu gedit /etc/modprobe.d/blacklist.conf(GUI 编辑器)。在末尾添加以下行:

 blacklist pmouse

保存、退出、重新启动,现在您的触摸板将无法使用。需要说明的是,无线 USB 鼠标仍将处于活动状态 - 我目前正在使用 USB 无线鼠标在移除触摸板模块的笔记本电脑上输入这些内容。

这种方法的小缺点是需要root访问权限,但总的来说,这是一种简单有效的方法。

新输入

最后一个是xinput --disable ID,其中 ID 是设备的id=编号xinput(注意没有参数)。现在我们如何让它每次登录 GUI 时自动启动?

制作一个脚本并将其添加到启动应用程序菜单:

#!/bin/bash
DISPLAY=:0
xinput --disable 13 # id 13 is just an example

现在每次登录时,它都会运行。稍微冗长一点,步骤更多。但是,当您使用任何依赖于 X 服务器的 GUI 时,这都有优势。但只有那些使用dconf该方法的人dconf(显然),例如 Unity 或 Gnome。

硬件解决方案

这可能很明显,但如果您想 100% 禁用触摸板,请打开笔记本电脑并断开从触摸板到主板的带状连接器。

答案3

有一个非常酷的实用程序,touchpad-indicator它在顶部栏中显示有关触摸板状​​态的图标。重要的是,它还允许您执行以下操作:

  • 只需单击图标即可启用/禁用触摸板。
  • 启动时自动禁用触摸板touchpad-indicator
  • 插入鼠标时禁用触摸板。
  • 打字时禁用触摸板。
  • 使用键盘快捷键启用/禁用触摸板。

我将向您展示如何安装和设置它,以便它在启动时禁用触摸板。

  1. 首先我们需要安装它,打开一个终端并输入以下内容:

    sudo add-apt-repository ppa:atareao/atareao 
    sudo apt-get update
    sudo apt-get install touchpad-indicator
    
  2. 安装后,通过Touchpad-Indicator在 Dash 菜单中查找来启动它。

  3. 您将看到屏幕右上角出现一个新图标(见下图)。点击它并选择优先

    该图标将显示在右上角的通知工具栏中。

  4. 您将看到以下窗口:

    触摸板指示器工具。

  5. 前往常规选项标签。

    应用程序顶部的标签。

  6. 勾选自动启动

    自动启动复选框

  7. 现在转到操作标签。

  8. 勾选触摸板指示器启动时禁用触摸板

    应用程序启动时禁用触摸板。

  9. (可选)在操作标签。

  10. 完毕。

您现在可以关闭该窗口(通过单击OK)。

享受。

答案4

以下命令将禁用您的触摸板,前提是您用触摸板的 ID 替换“XX”。

xinput set-int-prop XX "Device Enabled" 8 0

要查找触摸板的 ID,请运行:

xinput --list

例如,我的触摸板如下所示:

⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=15 [从属指针 (2)]

所以我的触摸板的 ID 是 15。

因此,使用此命令,我可以关闭触摸板:

xinput set-int-prop 15 "Device Enabled" 8 0

再回过头来说:

xinput set-int-prop 15 "Device Enabled" 8 1

这是键盘上启用/禁用触摸板热键发出的相同命令,因此如果需要,您仍然可以随时重新打开触摸板。

现在,剩下的就是让这个命令在你每次打开电脑时运行。最简单的方法可能是将命令添加到你的启动应用程序中。在 Unity 中,只需在仪表板中搜索启动应用程序即可。 在此处输入图片描述如果您使用 Mate,该工具位于“系统 -> 偏好设置 -> 个人 -> 启动应用程序”下。

使用启动应用程序方法运行命令时,触摸板仍将在登录屏幕和其他用户帐户的配置文件中处于活动状态。如果您想让命令在启动期间在系统范围内运行,这个问题有一些有用的答案可以帮助你入门。

其他来源: http://wpkg.org/Disable_/_enable_keyboard_and_mouse_in_Linux

相关内容