草庐IT

joystick

全部标签

如何让游戏手柄joystick的按键映射键盘keyboard按键,方便不支持手柄的pygame游戏可以通过简单设置后用手柄进行操控

如何让游戏手柄joystick的按键映射键盘keyboard按键,方便不支持手柄的pygame游戏可以通过简单设置后用手柄进行操控近日下载了一款JustinArmstrong在github中的马里奥第一关的python游戏,点击作者名字,可以到作者的Github中下载源码。虽然Justin只开发了第一关,但是通过简易的调整,也可以玩出新花样,比如可以设置漫天的加命蘑菇,把每个砖块都设为无敌星,或者变更游戏背景画面,把魂斗罗的地面移到马里奥中,当然还可以增加一些隐形的问号罐,调整地面水沟的距离等,总之和小朋友玩的很愉快,惊喜连连。但是也有一个比较麻烦的问题,就是这款游戏的代码中不支持游戏手柄,通

Linux:尝试通过 ioctl 获取操纵杆供应商和产品 ID,改为获取 EINVAL

我正在尝试读取Ubuntu上USB操纵杆的名称、供应商ID和产品ID(特别是我在Ubuntu13.10x64上使用有线Xbox360平板电脑)。我可以读取名称,但在尝试读取供应商和产品ID时,我收到了EINVAL错误。代码如下:if(plugged[index]){charname[32];std::snprintf(name,sizeof(name),"/dev/input/js%u",index);//Openthejoystick'sfiledescriptor(read-onlyandnon-blocking)m_file=::open(name,O_RDONLY|O_NONB

Linux:尝试通过 ioctl 获取操纵杆供应商和产品 ID,改为获取 EINVAL

我正在尝试读取Ubuntu上USB操纵杆的名称、供应商ID和产品ID(特别是我在Ubuntu13.10x64上使用有线Xbox360平板电脑)。我可以读取名称,但在尝试读取供应商和产品ID时,我收到了EINVAL错误。代码如下:if(plugged[index]){charname[32];std::snprintf(name,sizeof(name),"/dev/input/js%u",index);//Openthejoystick'sfiledescriptor(read-onlyandnon-blocking)m_file=::open(name,O_RDONLY|O_NONB

c++ - 如何使用 Qt 在 Linux 中读取文件设备?

我正在开发一个基于Qt5的小型GUI,它将显示来自Linux文件设备的数据流。为此,我选择了操纵杆输入。使用cat/dev/input/js0可以在终端上看到传入的流。使用C,您可以使用带有阻塞读取或处理设备信号的循环来读取此设备文件。但我没有用Qt得到这个。使用Qt与设备文件交互的典型方法是什么?基于@rodrigo的回答,这里有一个新的实现:joystick.h#ifndefJOYSTICK_H#defineJOYSTICK_H#include#include#includeclassJoystick:publicQObject{Q_OBJECTQStringfileName="/

c++ - 如何使用 Qt 在 Linux 中读取文件设备?

我正在开发一个基于Qt5的小型GUI,它将显示来自Linux文件设备的数据流。为此,我选择了操纵杆输入。使用cat/dev/input/js0可以在终端上看到传入的流。使用C,您可以使用带有阻塞读取或处理设备信号的循环来读取此设备文件。但我没有用Qt得到这个。使用Qt与设备文件交互的典型方法是什么?基于@rodrigo的回答,这里有一个新的实现:joystick.h#ifndefJOYSTICK_H#defineJOYSTICK_H#include#include#includeclassJoystick:publicQObject{Q_OBJECTQStringfileName="/

c - Lib(s)uinput : creating joystick with more than one button

我找不到有关如何使用uinput/suinput创建带有多个按钮的操纵杆的信息。使用python-uinput的python示例:importuinputdefmain():events=(uinput.BTN_JOYSTICK,uinput.ABS_X+(0,255,0,0),uinput.ABS_Y+(0,255,0,0),)withuinput.Device(events)asdevice:foriinrange(20):#syn=Falsetoemitan"atomic"(5,5)event.device.emit(uinput.ABS_X,5,syn=False)device
12