如何从终端交换鼠标按钮以使用左手?

Foo*_*raa 36 mouse command-line

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

我想通过终端来做到这一点。有人可以建议它的命令吗?

是否也可以在登录屏幕上交换这些点击?我正在使用 Ubuntu 12.04。

elm*_*cha 32

xmodmap -e "pointer = 3 2 1"
Run Code Online (Sandbox Code Playgroud)

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

  • 如果你把它放在`/etc/lightdm/lightdm.conf` 中,它应该是永久性的。如果没有,您可以将它放在启动应用程序中或从终端在 ~/.config/autostart 中创建一个 .desktop 文件。 (3认同)
  • 这适用于本届会议..如何使其永久化??? (2认同)

Mat*_*teo 29

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

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

第一次使用——

xinput list
Run Code Online (Sandbox Code Playgroud)

看看你的鼠标在哪里会像

"USB Mouse"     id=12       [slave pointer]
Run Code Online (Sandbox Code Playgroud)

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

xinput set-button-map 12 3 2 1
Run Code Online (Sandbox Code Playgroud)

因此,您将使用鼠标的 ID 号切换出 12。

资料来源:1

  • 我觉得这很有用,因为我经常有两只老鼠,左右。这种技术允许将它们设置为彼此的镜像。 (2认同)
  • 如果我的指针设备更改 ID,我会在命令行中查找 ID: **xinput set-button-map $(xinput list --id-only "Kensington Kensington Expert Mouse") 3 2 1**引号中的字符串来自上面的“xinput list”。 (2认同)

Vol*_*gel 10

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
Run Code Online (Sandbox Code Playgroud)

变成

!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
Run Code Online (Sandbox Code Playgroud)


我习惯于~/.Xmodmap一直工作;但是看到.Xmodmap 仅在禁用自动登录时才有效吗?如果没有。


归档时间:

查看次数:

30953 次

最近记录:

5 年,6 月 前