当前位置:  开发笔记 > 编程语言 > 正文

如何从XBox 360控制器获取输入?

如何解决《如何从XBox360控制器获取输入?》经验,为你挑选了2个好方法。

我正在编写一个需要从XBox 360控制器获取输入的程序.输入将以无线方式发送到我正在建造的RC直升机上.

到目前为止,我已经了解到这可以使用DirectX的XInput库或XNA中的Input框架来完成.

我想知道是否还有其他选择.我的程序范围相当小,并且必须安装像DirectX或XNA这样的大型游戏库似乎过多.此外,我希望该程序是跨平台的,而不是微软特定的.

有一种简单的轻量级方法,我可以用像Python这样的东西来获取控制器输入吗?

编辑以回答一些评论:

直升机总共有6个螺旋桨,分布在3个同轴对中.基本上,它将与此非常相似,只需花费约1,000美元而不是15,000美元.它将使用Arduino进行板载处理,使用Zigbee进行无线控制.

选择360控制器是因为它设计得很好.它非常符合人体工程学,并且具有所需的所有控制输入.对于熟悉直升机控制的人来说,左操纵杆将控制集体,右控制杆控制俯仰和滚转,模拟触发器将控制偏航.模拟触发器是360控制器的一大特色.PS和大多数其他人没有它们.

我有一个项目的网页,但它仍然很稀疏.我确实计划记录整个设计,所以最终它会很有趣.
http://tricopter.googlecode.com
在旁注中,是否会杀死谷歌为googlecode项目提供博客功能?

我希望360控制器输入程序尽可能在Linux和Windows中运行.最后,我想将控制器直接连接到嵌入式微控制器板(例如Arduino),这样我就不必通过计算机,但目前它并不是一个高优先级.



1> 小智..:

这并不困难.正如前面提到的那样,您可以使用SDL库来读取xbox控制器的状态,然后您可以使用它执行任何操作.

有一个SDL教程:http://sdl.beuc.net/sdl.wiki/Handling_Joysticks非常有用.

请注意,Xbox控制器具有以下内容:

两个操纵杆:

左操纵杆是轴0和1;

左触发器是轴2;

右操纵杆是轴3和4;

右触发器是轴5

一顶帽子(D-pad)

11个SDL按钮

其中两个是操纵杆中心压力机

两个触发器(充当轴,见上文)

即将推出的SDL v1.3也将支持力反馈(又称触觉).

我认为,由于这个帖子已经有好几年了,你已经做了一些事情,所以这篇文章主要是为了告知未来的访问者.



2> rmmh..:

PyGame可以读取操纵杆,这是X360控制器在PC上显示的操纵杆.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有