如何禁用戴尔的指点杆?

如何禁用戴尔的指点杆?

如何禁用戴尔笔记本电脑键盘按键之间的定点杆。它在打字时确实会造成很多问题。

答案1

转到终端并输入以下内容:

xinput -set-prop "DualPoint Stick" "Device Enabled" 0

答案2

如何禁用戴尔笔记本电脑中的定点杆

2 个命令来禁用它,并有 1 个附加步骤使其在重启后继续存在:

使用Ctrl++打开终端并输入:AltT

  1. xinput

    以下是我的输出,例如:

    在此处输入图片描述

    我们关心的关键行是“DualPoint Stick”。我的是第 7 行:

    ⎜   ↳ AlpsPS/2 ALPS DualPoint Stick             id=15   [slave  pointer  (2)]
    

    记下它的 ID 号(在我的情况下是 15),然后在下一个命令中使用它:

  2. 要禁用它:

    xinput --disable 15
    

    您也可以尝试以下由@推荐的方法布伦特·宗德尔在他对此答案的评论中:

    xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0
    

    如果您想重新启用它,请尝试以下操作:

    xinput --enable 15
    

    或者

    xinput --set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 1
    

    请参阅man xinput此处了解更多详情。

  3. 现在的问题是,我们上面的改变不是重启后依然有效。要修复该问题,请执行以下操作:

    1. 打开 Ubuntu 中的“启动应用程序”程序。
    2. 单击“添加”可以添加额外的启动程序。
    3. 将上面的禁用命令(例如xinput --disable 15:)放入“命令”框中,并将任何内容放入“名称”和“注释”框中。我的如下所示:
      • 在此处输入图片描述
      • 另请参阅@ 的这个答案下的评论布伦特·宗德尔。他建议您改用以下命令,以确保即使设备 ID 号发生变化它也能始终有效:xinput -set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0
    4. 单击“添加”,然后单击“关闭”。

    完成!现在每次重启时它都会运行此脚本,从而再次自动禁用它。

    注意:如果您认为可以将此命令/etc/rc.local改为在启动时运行,则它可能不起作用,因为 xinput 需要 X Window 系统正在运行。请参见此处:为什么 rc.local 无法运行 xinput?sleep 10。无论哪种情况,即使在命令前添加,我都无法让它工作。但是,正如我上面解释的那样,将其添加到“启动应用程序”中工作。

有关的:

  1. 看看我的触摸板切换器我的 dotfiles 项目中的脚本:https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles

参考:

  1. 谢谢@YetAnotherG33k 的回答首先通知我有关 的信息,使我走上正确的道路xinput
  2. 也感谢@Brent Zundel 在我的回答下方的评论。

答案3

除了 Gabriel Staples 的精彩回答之外,我还想提一下,在某些戴尔笔记本电脑型号中,xinput 的输出可能不包含任何指点杆的迹象。在我的例子中(Latitude 5591 笔记本电脑),它是“DELL0819:00 044E:121F Mouse”,带有“id=13”,禁用它很有帮助xinput --disable 13

在这种情况下,您可以做什么来找出指点杆设备的名称? 尝试grep "input device" /var/log/Xorg.0.log输出,所需设备应该有type: MOUSE。 对应的id应该是您要查找的那个。

禁用指点杆的更通用方法是使用 udev 规则,这种方法在 X 和 Wayland 中都适用。如果您使用的是 Wayland,则 xinput 工具将不可用。
首先运行并扫描其输出以查找包含单词cat /proc/bus/input/devices的设备。其中一个设备将是指点杆。注意它的字段,我们稍后会使用它(在我的情况下,它是“DELL0819:00 044E:121F Mouse”,正如我之前提到的)。然后复制此设备的字段的长值并在下一个命令中使用它。在我的情况下,它是:HandlersmouseNameSysfs

udevadm test /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-DELL0819:00/0018:044E:121F.0001/input/input24

此命令的输出应包含以 ID_INPUT 开头的几个参数。结合我们的指点杆名称和这些参数,我们可以创建规则:

ATTRS{name}=="DELL0819:00 044E:121F Mouse", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}=""

99-pointstick-off.rules现在在文件夹中创建文件/etc/udev/rules.d/并在那里添加规则。重新启动。指点杆现在应该被禁用了。

关于这种方法,我获得的见解这里

答案4

改编自 YetAnotherG33k 的回答:

在运行 KDE Plasma 版本 5.20.5 的 Debian GNU/Linux 11 上,这个方法对我来说很管用:

  1. 查找笔记本电脑双点触摸板的设备名称:
xinput list | grep "DualPoint Stick"

输出:

⎜   ↳ AlpsPS/2 ALPS DualPoint Stick             id=14   [slave  pointer  (2)]
  1. 复制设备名称。在我的例子中,它被称为“AlpsPS/2 ALPS 双点摇杆”并将其插入到:
xinput -set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0

此解决方案比使用设备 ID 禁用设备更好,因为设备 ID 可能会随着时间的推移而改变,从而导致禁用错误的设备。

相关内容