解读 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 摇杆轴的主要内容,如果未能解决你的问题,请参考以下文章

想用arduino 做一个摇杆控制云台(两个舵机)的装置,谢谢各位!

STM32 USB主机+HID摇杆

mBlock & Arduino(13)使用摇杆控制

Arduino UNO 摇杆测试实例

joycon的摇杆是啥牌

Unity 中EasyTouch和播放动画的结合