所以我尝试查看其他各种问题,但它们主要集中在禁用鼠标中间粘贴。
基本上,我的罗技 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。
以下说明基于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)
就是这样。
这就是我在 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)]\nRun 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 \nRun Code Online (Sandbox Code Playgroud)\n要禁用中间按钮:
\n$ xinput set-button-map 6 1 0 3 4 5 6 7 8 9 10\nRun Code Online (Sandbox Code Playgroud)\n要将中键重新映射为左键单击:
\n$ xinput set-button-map 6 1 1 3 4 5 6 7 8 9 10\nRun 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\nRun Code Online (Sandbox Code Playgroud)\nUbuntu 和其他基于 GNOME 的发行版附带了一个名为 \xe2\x80\x9cStartup Applications\xe2\x80\x9d 的应用程序。它可用于管理在全新系统重新启动或登录时运行的应用程序和脚本。因此,只需搜索它,打开它并添加您刚刚创建的文件即可。
\n| 归档时间: |
|
| 查看次数: |
12975 次 |
| 最近记录: |