如何在 Wayland 中使用带有 libinput 的 Wiimote?

如何在 Wayland 中使用带有 libinput 的 Wiimote?

我想使用 Wii 遥控器作为媒体控制器。有一个 X 驱动程序支持此功能:xf86-输入-xwiimote。它将箭头键映射到普通键盘箭头键,A 映射到 Enter(用于激活突出显示的按钮),B 映射到空格(用于播放/暂停媒体),以及一些其他有用的绑定。

我如何在 Wayland 中做同样的事情?

到目前为止我发现了什么:

  • 仅仅连接 Wii 遥控器而不进行配置是不够的。我尝试了 Gnome Wayland,它使用 libinput。 libinput 检测到遥控器是仅带有箭头键的键盘。方向键用作箭头键,但未检测到其他按钮。

  • 内核本身支持 Wii 遥控器,但它对于将按钮映射到桌面输入来说是错误的层。各个应用程序可以使用 Wii 遥控器和其他游戏手柄通过内核接口进行输入。

  • 这个链接建议 X 输入驱动程序在 Wayland 中不执行任何操作,而 Wayland 使用 libinput 代替。它还表示 libinput 不提供类似于在 X 中使用 .conf 文件配置设备的方式来配置设备。

  • 我搜索过类似于 xf86-input-xwiimote 但适用于 Wayland 的软件。据我所知它不存在。如果有人写类似的东西,那么它在 Wayland/libinput 堆栈中将如何工作?

答案1

我提交了一个错误与 libinput,回应是 Wii 遥控器和其他操纵杆和游戏手柄根本不支持 libinput。据我所知,这排除了任何特定于 Wayland 的解决方案。

我搜索过类似于 xf86-input-xwiimote 但适用于 Wayland 的软件。据我所知它不存在。如果有人写类似的东西,那么它在 Wayland/libinput 堆栈中将如何工作?

回复我的错误报告的开发人员建议编写一个使用内核的适配器,而不是为 Wayland 和/或 libinput 编写一些东西。输入法模拟键盘事件的接口。我发现一个项目可以为任何游戏控制器执行此操作:熔岩游戏手柄。这样的解决方案可以与 Wayland、X 甚至 Linux VT 配合使用。

相关内容