如何使用操纵杆包(jstest)在linux系统上读取操纵杆?

How to read a joystick on linux system using joystick package (jstest)?

提问人:axolotlKing0722 提问时间:4/3/2023 更新时间:4/3/2023 访问量:404

问:

我正在使用 Raspberrypi 构建一个机器人,我想用 Dualshock 4 PS4 控制器控制它。在寻找一种将控制器与 Pi 连接的方法后,我找到了一个适用于 linux 的软件包,您可以使用 .然后,您可以使用 jstest 命令 () 列出所有按钮和操纵杆角度。但是如何使用 Python 脚本或其他东西获取这些值呢?或者有没有办法像普通文件一样读取 /dev/input/js0?apt install joystickjstest /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

感谢您的回答!

Python Unix Raspberry-Pi 操纵杆 游戏手柄

评论

0赞 Sembei Norimaki 4/3/2023
库操纵杆不是有一本手册来解释如何处理接收到的数据吗?pythonhosted.org/joystick/joystick.html
0赞 user3435121 4/3/2023
您提到的操纵杆程序不是为 python 设计的。我在 pypi.org 找到了一个名为 joystick-controller 的。
0赞 Сергей Кох 4/3/2023
请澄清您的具体问题或提供其他详细信息以准确说明您的需求。正如目前所写的那样,很难确切地说出你在问什么。
0赞 Bodo 4/3/2023
查看 stackoverflow.com/q/16032982/10622916
0赞 nondebug 4/4/2023
/dev/input/js0是一个 joydev 设备。Joydev 是传统的操纵杆界面,不适用于现代游戏手柄。新应用应首选 evdev。您可以使用 python-evdev 读取 evdev 输入: python-evdev.readthedocs.io/en/latest

答: 暂无答案