禁用鼠标中键

Tom*_*ber 21 mouse

所以我尝试查看其他各种问题,但它们主要集中在禁用鼠标中间粘贴。

基本上,我的罗技 G500s 上的鼠标中键坏了,它一直在随机“点击”,所以它搞砸了任何工作的机会。

有什么办法可以禁用它吗?还是将其映射为空?

如果这是重复的,谢谢和抱歉。

xinput list 输出:

? Virtual core pointer id=2 [master pointer (3)]
?   ? Virtual core XTEST pointer id=4 [slave pointer (2)]
?   ? Turtle Beach Turtle Beach PX3 (XBOX) id=8 [slave pointer (2)]
?   ? Logitech G500s Laser Gaming Mouse id=9 [slave pointer (2)]
?   ? Logitech G500s Laser Gaming Mouse id=10 [slave pointer (2)]
?   ? Razer Razer DeathStalker id=12 [slave pointer (2)]
?   ? Razer Razer DeathStalker id=13 [slave pointer (2)]
? Virtual core keyboard id=3 [master keyboard (2)]
    ? Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ? Power Button id=6 [slave keyboard (3)]
    ? Power Button id=7 [slave keyboard (3)]
    ? Razer Razer DeathStalker id=11 [slave keyboard (3)]
Run Code Online (Sandbox Code Playgroud)

0x2*_*fa0 26

执行这些命令:

xinput set-button-map 9 1 0 3
xinput set-button-map 10 1 0 3
Run Code Online (Sandbox Code Playgroud)

说明(由@Yhosef 友情捐赠):

第一个数字是指针的标识符(通常只有一个,在这种情况下有两个,9 和 10)。

接下来的数字是您使用第一个、第二个和第三个(即左、中、右)鼠标按钮执行的操作。1 0 3告诉它左键应该做左键单击(动作 1),中间键应该什么都不做,右键应该做右键单击(动作 3)。如果你想让中间按钮也做左键单击,你可以使用1 1 3. 如果你想切换左右动作,你可以使用3 0 1. 有关更多信息,请参阅https://wiki.ubuntu.com/X/Config/Input

  • 那么我如何确定第一个数字。我运行`xinput list | grep 'id='` 并寻找最像我的鼠标/触摸板的东西?任何确定的方法来判断它是否正确? (3认同)

ego*_*ego 8

以下说明基于Ubuntu Wiki上的信息 (向下滚动到标题“示例:在滚轮鼠标上禁用鼠标中键粘贴”)。

首先,通过列出输入设备来确定指针的 id:

xinput list | grep 'id='
Run Code Online (Sandbox Code Playgroud)

并查找包含指针名称的行,在“id=”之后也应该有设备的 id。比如这个设备的id是10:

Lenovo ThinkPad Compact USB Keyboard with TrackPoint    id=10   [slave  pointer  (2)]
Run Code Online (Sandbox Code Playgroud)

接下来,获取该设备的当前按钮映射(我将使用设备的 id,即 10):

xinput get-button-map 10
Run Code Online (Sandbox Code Playgroud)

输出:

1 2 3 4 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)

这是指针按钮到动作的映射,其中数字代表动作代码,位置 - 按钮。

我们对第二张地图感兴趣 - 数字 2 对应于“单击中间按钮”动作及其位置 - 实际中间按钮。

要禁用触发任何操作的中间按钮,我将使用xinput set-button-map带有设备 ID 和更新地图的命令(新操作代码为 0 - 无操作)。无需放置整个地图 - 地图直到感兴趣的按钮就足够了(其余的不会更新):

 xinput set-button-map 10 1 0
Run Code Online (Sandbox Code Playgroud)

就是这样。

  • 我认为这个答案更全面,因为能够获取输入设备的 ID 号是重要的信息。否则,您只是随机更改设备设置。 (2认同)

chi*_*aha 8

这就是我在 Ubuntu 20.04(默认使用 Wayland)上所做的,以禁用我的中间按钮或重新映射我的中间按钮。

\n

要查找我的设备 ID:

\n
$ xinput --list\n\xe2\x8e\xa1 Virtual core pointer                      id=2    [master pointer  (3)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Virtual core XTEST pointer                id=4    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 xwayland-pointer:17                       id=6    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 xwayland-relative-pointer:17              id=7    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 xwayland-touch:17                         id=9    [slave  pointer  (2)]\n\xe2\x8e\xa3 Virtual core keyboard                     id=3    [master keyboard (2)]\n    \xe2\x86\xb3 Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]\n    \xe2\x86\xb3 xwayland-keyboard:17                      id=8    [slave  keyboard (3)]\n
Run Code Online (Sandbox Code Playgroud)\n

在找到正确的 ID 之前,我必须进行几次测试。对我来说,是 6。

\n

要查看当前按钮映射:

\n
$ xinput get-button-map 6\n1 2 3 4 5 6 7 8 9 10 \n
Run Code Online (Sandbox Code Playgroud)\n

要禁用中间按钮:

\n
$ xinput set-button-map 6 1 0 3 4 5 6 7 8 9 10\n
Run Code Online (Sandbox Code Playgroud)\n

要将中键重新映射为左键单击:

\n
$ xinput set-button-map 6 1 1 3 4 5 6 7 8 9 10\n
Run Code Online (Sandbox Code Playgroud)\n

为了在启动时运行,创建一个文件并确保它是可执行的(chmod a+x):

\n
#!/bin/bash\nxinput set-button-map 6 1 1 3 4 5 6 7 8 9 10\n
Run Code Online (Sandbox Code Playgroud)\n

Ubuntu 和其他基于 GNOME 的发行版附带了一个名为 \xe2\x80\x9cStartup Applications\xe2\x80\x9d 的应用程序。它可用于管理在全新系统重新启动或登录时运行的应用程序和脚本。因此,只需搜索它,打开它并添加您刚刚创建的文件即可。

\n