解读 USB 摇杆轴
Posted
技术标签:
【中文标题】解读 USB 摇杆轴【英文标题】:Interpret USB joystick axis 【发布时间】:2013-10-22 19:40:31 【问题描述】:已经有很多关于此的问题,但没有人回答我的问题。
我有一个 Saitek P990 双模拟游戏手柄,并且想将操纵杆的动作读取为可用于控制电机等的可理解数据。
我该怎么做呢?如果可能的话,我想编写一些 C 代码来完成这项工作,但我对 C 很陌生,因此需要非常清楚的解释:)
【问题讨论】:
【参考方案1】:如果您想读取原始操纵杆,您有两个基本选择:
通过操纵杆事件读取旧的/dev/js0
(或/dev/input/js0
)设备。
找到相关的新/dev/input/event*
设备并读取通用输入事件。
您可以在 Internet 上轻松找到这两个示例。 或者你可以使用源码(joydev.c,input.c)!
为了快速测试,许多发行版都有input-utils
包。它的源代码将是最有启发性的。
快速链接:
例如参见教程here。基础是:
-
用
open()
打开设备/dev/input/event*
。
使用ioctl()
系统调用和EVIO*
代码来识别设备。
将带有read()
的事件读入input_event
结构。
找出有趣的事件并加以利用!
正如我之前所说,从控制台运行input-events
util 来查看程序将接收到的输入事件是最有用的。
【讨论】:
你能给我指出其中一些例子的方向吗?我不太了解我发现的内容。 好的,谢谢!我觉得这将是一项不小的任务。我会尝试根据你给我的方法来解决这个问题:) @theoB610:耶!继续!如果您发现任何困难,请不要犹豫,根据需要提出尽可能多的问题。但请记住,一个具体的问题——如果可能的话,使用代码——更有可能得到具体的答案。以上是关于解读 USB 摇杆轴的主要内容,如果未能解决你的问题,请参考以下文章