Linux 中 XInput* 函数的等效项是什么?

What's the equivalent of XInput* functions in Linux?

我正在将一个使用 Xbox 控制器的应用程序移植到 Linux。在 windows 上,它基本上只是使用 XInputGetState() 来读取控制器的状态,所以我正在寻找 Linux 上该功能的替代品。

我看到wine hasn't implemented XInputGetState(),但同时Linux上有大量支持Xbox手柄的游戏,所以可以。

有谁知道可以使用什么库与 Linux 上的 Xbox 控制器交互?

所以我知道它不是纯 C++,但是有一个名为 ofxGamePad 的 openFrameworks 的很棒的插件,它与 linux 兼容。我已经成功地将它与 linux 一起用于游戏手柄。

您可以:

  1. 使用SDL library
  2. 自己使用linux/joystick.h中的函数
  3. 找一些其他的库为你抽象 (3) this 或者 user3716731 链接的库。

(1-2)的解决方案主要是C,但是XInput也是API,所以你应该可以应付。

我可能会选择第 1 种方法,因为这种方法应该有最好的文档。