如何从终端将鼠标按钮切换为左手按钮?

如何从终端将鼠标按钮切换为左手按钮?

我是左撇子。
因此,我想将典型的鼠标按钮互换为右键和左键单击。

我想做这个通过终端。有人可以建议一下该命令吗?

是否可以互换这些点击登录屏幕还有吗?我正在使用 Ubuntu 12.04。

答案1

xmodmap -e "pointer = 3 2 1"

在终端中应该可以工作。如果您想在 lightdm 启动时(默认登录屏幕)运行该命令,您可以/etc/lightdm/lightdm.conf按照所述进行编辑这里- 当然,使用xmodmap命令而不是xbacklight脚本。

答案2

您也可以使用xinput它来执行此操作。

它只会切换一只鼠标上的按钮。

首次使用-

xinput list

要查看鼠标的位置,可以使用以下方法

"USB Mouse"     id=12       [slave pointer]

因此,使用下一个命令的 ID 号来切换按钮分配。

xinput set-button-map 12 3 2 1

因此,您可以将 12 替换为鼠标的 ID 号。

来源:1

答案3

xmodmap是命令更改鼠标按钮映射

xmodmap -e "pointer = 3 2 1"

将重新映射前三个按钮(左、中、右),使其像右、中、左一样工作 - 而不会真正改变中间按钮的映射。

这会将更改应用于当前会话 - 更准确地说,应用于当前 X 显示器:0

为了保存更改持久性在会话中,将映射放入文件中

~/.Xmodmap

如果不存在,则创建它,例如touch ~/.Xmodmap

编辑它以添加行

pointer = 3 2 1

如果已经有一行了pointer,那当然可能有一些功能;不要替换它,最好修改前三个值 - 保留旧的注释:

例如,

pointer = 1 2 3 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24

变成

!pointer = 1 2 3 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24
pointer = 3 2 1 4 5 16 17 8 9 10 11 12 13 14 15 6 7 18 19 20 21 22 23 24


我已经习惯了~/.Xmodmap总是工作;但是.Xmodmap 仅在禁用自动登录时才有效?如果没有的话。

答案4

Mateo 的回答是正确的,但我想提出另一种方法来设置此配置xinput

它还将仅切换一只鼠标上的按钮。

首先列出您的设备:

xinput list

你的鼠标将会出现在这个列表的某个地方:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ...
⎜   ↳ USB Mouse                             id=11   [slave  pointer  (2)]
⎜   ...

使用设备的 ID 号执行下一个命令来切换按钮分配。验证您的设备是否具有启用左手模式的设置:

xinput list-props 11                            
Device 'USB Mouse':
    Device Enabled (155):   1
    ...
    libinput Left Handed Enabled (311): 0
    ...

如您所见,这是属性编号311。它是一个具有值或的8位数。现在我们可以为您的设备启用/禁用它:01

xinput set-int-prop 11 311 8 1

相关内容