提问人:axolotlKing0722 提问时间:4/3/2023 更新时间:4/3/2023 访问量:404
如何使用操纵杆包(jstest)在linux系统上读取操纵杆?
How to read a joystick on linux system using joystick package (jstest)?
问:
我正在使用 Raspberrypi 构建一个机器人,我想用 Dualshock 4 PS4 控制器控制它。在寻找一种将控制器与 Pi 连接的方法后,我找到了一个适用于 linux 的软件包,您可以使用 .然后,您可以使用 jstest 命令 () 列出所有按钮和操纵杆角度。但是如何使用 Python 脚本或其他东西获取这些值呢?或者有没有办法像普通文件一样读取 /dev/input/js0?apt install joystick
jstest /dev/input/js0
好吧,我尝试像任何其他文件一样读取 /dev/input/js0(使用 cat 命令),然后发生了这种情况:
root@raspberrypi:~# cd /dev/input
root@raspberrypi:/dev/input# cat js0
?6??6??6??6??6??6??6??6??6?6? ?6?
?6?
?6?
?6??6??6???6??6??6???6??6?
我的屏幕上只有数字和问号。我想您无法像处理计算机上的普通文件那样处理此类设备文件(或其他任何文件)。有没有其他方法可以读取此文件的输入?或者我需要使用操纵杆包做一些事情?有没有办法使用 Python 运行然后接收打印的概述?jstest
感谢您的回答!
答: 暂无答案
评论
/dev/input/js0
是一个 joydev 设备。Joydev 是传统的操纵杆界面,不适用于现代游戏手柄。新应用应首选 evdev。您可以使用 python-evdev 读取 evdev 输入: python-evdev.readthedocs.io/en/latest