3

已经有很多关于这个的问题,但没有人回答我的问题。

我有一个 Saitek P990 双模拟游戏手柄,并且想将操纵杆的动作读取为可用于控制电机等的可理解数据。

我该怎么做呢?如果可能的话,我想编写一些 c 代码来完成这项工作,但我对 C 很陌生,所以需要非常清楚的解释:)

4

1 回答 1

3

如果您想阅读原始操纵杆,您有两个基本选择:

  • 使用操纵杆事件读取旧/dev/js0(或)设备。/dev/input/js0
  • 找到相关的新/dev/input/event*设备并读取通用输入事件。

您可以在 Internet 上轻松找到这两个示例。或者您可以使用源代码(joydev.cinput.c)!

为了快速测试,许多发行版都有这个input-utils包。它的源代码将是最有启发性的。

快速链接:

例如,请参阅此处的教程。基本情况是:

  1. 打开设备/dev/input/event*,用open()
  2. 使用ioctl()带有代码的系统调用EVIO*来识别设备。
  3. 将事件读read()input_event结构。
  4. 识别有趣的事件并使用它们!

正如我之前所说,input-events从控制台运行 util 来查看输入事件是最有用的,因为您的程序将接收它们。

于 2013-10-22T20:13:57.523 回答