如何禁用戴尔笔记本电脑键盘按键之间的定点杆。它在打字时确实会造成很多问题。
答案1
转到终端并输入以下内容:
xinput -set-prop "DualPoint Stick" "Device Enabled" 0
答案2
如何禁用戴尔笔记本电脑中的定点杆
2 个命令来禁用它,并有 1 个附加步骤使其在重启后继续存在:
使用Ctrl++打开终端并输入:AltT
xinput
以下是我的输出,例如:
我们关心的关键行是“DualPoint Stick”。我的是第 7 行:
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=15 [slave pointer (2)]
记下它的 ID 号(在我的情况下是 15),然后在下一个命令中使用它:
要禁用它:
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
此处了解更多详情。现在的问题是,我们上面的改变不是重启后依然有效。要修复该问题,请执行以下操作:
- 打开 Ubuntu 中的“启动应用程序”程序。
- 单击“添加”可以添加额外的启动程序。
- 将上面的禁用命令(例如
xinput --disable 15
:)放入“命令”框中,并将任何内容放入“名称”和“注释”框中。我的如下所示:- 另请参阅@ 的这个答案下的评论布伦特·宗德尔。他建议您改用以下命令,以确保即使设备 ID 号发生变化它也能始终有效:
xinput -set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0
。
- 单击“添加”,然后单击“关闭”。
完成!现在每次重启时它都会运行此脚本,从而再次自动禁用它。
注意:如果您认为可以将此命令
/etc/rc.local
改为在启动时运行,则它可能不起作用,因为 xinput 需要 X Window 系统正在运行。请参见此处:为什么 rc.local 无法运行 xinput?sleep 10
。无论哪种情况,即使在命令前添加,我都无法让它工作。但是,正如我上面解释的那样,将其添加到“启动应用程序”中做工作。
有关的:
- 看看我的触摸板切换器我的 dotfiles 项目中的脚本:https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles。
参考:
- 谢谢@YetAnotherG33k 的回答首先通知我有关 的信息,使我走上正确的道路
xinput
。 - 也感谢@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”,正如我之前提到的)。然后复制此设备的字段的长值并在下一个命令中使用它。在我的情况下,它是:Handlers
mouse
Name
Sysfs
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 上,这个方法对我来说很管用:
- 查找笔记本电脑双点触摸板的设备名称:
xinput list | grep "DualPoint Stick"
输出:
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=14 [slave pointer (2)]
- 复制设备名称。在我的例子中,它被称为“AlpsPS/2 ALPS 双点摇杆”并将其插入到:
xinput -set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0
此解决方案比使用设备 ID 禁用设备更好,因为设备 ID 可能会随着时间的推移而改变,从而导致禁用错误的设备。