使 xinput --set-button-map 更改永久化

wim*_*wim 6 bluetooth xinput

我有一个在蓝牙上运行的新鼠标,但我必须使用xinput --set-button-map. 这在重启后不是持久的,所以我写了一个小的 python 脚本在登录后自动运行它。不幸的是,它不起作用,因为在登录后鼠标自动重新连接之前有一些延迟。

我想在我的脚本中添加一些等待,但我相信一定有更好的方法来做到这一点。我可以连接到来自/usr/sbin/bluetoothd或类似的事件吗?

wim*_*wim 7

我把一些等待时间和重试放在我的脚本中并忍受了几天,但这个周末我有一些空闲时间来找到“正确”的解决方案。

也就是说,将按钮映射添加到 X 的配置文件中。

#/usr/share/X11/xorg.conf.d/logitech-mx-revolution.conf

Section "InputClass"
    Identifier  "Logitech MX Revolution Mouse"
    Option  "ButtonMapping" "1 2 3 4 5 6 7 9 8 10 11 12 13 14 15 2 17 18 19 20 21 22 23 24"
EndSection
Run Code Online (Sandbox Code Playgroud)

希望有一天这可以帮助其他人。

  • 用户配置应该去/etc/X11/xorg.conf.d/ (2认同)
  • @user56452 实际上,从 10.10 开始,[Ubuntu 确实使用 `/usr/share/`](https://wiki.ubuntu.com/X/Config) 进行 X11 用户配置。(实际上,我也有同样的想法,所以我建议对此答案进行编辑。然后 3 秒后我找到了那个 wiki 页面。哎呀!) (2认同)
  • @AustinAdams 我没看到。来自该链接:用户可以像往常一样继续在 /etc/xorg.conf 中进行自定义配置;.conf 片段主要供发行版或硬件供应商提供默认 InputClass 规则和自定义覆盖。” (2认同)