2013-03-20 81 views
0

我正在使用运行Debian的Raspberry Pi上的C#进行机器人项目。我已经获得了与操作系统配对的PS3 DualShock控制器,因此它显示为操纵杆设备/ dev/input/js0。如何在Linux中从Mono/C#访问操纵杆/游戏手柄?

现在我想从C#代码访问DualShock游戏杆和按钮。这似乎比我预期的更难(或者至少比较模糊) - 我发现了OpenTK的参考,它似乎至少在昏迷中,如果不是死的;和XNA,它可能会做到这一点,但它包含的方式比我需要的多(我担心为了获得所有在我的RPi上的工作)以及其他各种小型包装项目,这些项目都得不到很好的支持。

作为Mono,C#和Linux的新手,我一点都不知道......对于在这种环境下读取DualShock状态的最简单/最好的方法有什么建议?

+0

你可以尝试我的项目,使用GLFW进行输入处理。我以前从未使用过GLFW来处理游戏杆输入,所以我们都可以从中学到一些东西。这里的项目(你可以复制/粘贴glfw类和本地代码):https://github.com/antonijn/Pencil.Gaming – antonijn 2013-03-20 20:42:19

+0

谢谢,我一直在寻找一个良好的跨平台的C#游戏库对于其他项目,并没有得到MonoGame很远。 Pencil.Gaming看起来很有趣 - 我会试试看。我还会让你知道它是如何用于我的Raspberry Pi机器人项目的! – 2013-03-21 21:38:08

回答

1

Monogame是XNA的开源实现。它是跨平台的,并且针对Linux。你可以看看框架的Input Source Code,看看他们是如何做到的。

-1

你应该看看directinput,但是对于windows来说,有一个现在的库将它包装到c#中。它被称为slimDX,也许你可以得到它的工作

+1

它是DirectX的一个包装,它是一种纯Windows技术;因此,研究在Linux上处理输入是没有用的。 – 2015-03-30 15:12:20