You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian 12下Dualshock4输入写入/dev/input/js0的内核模块咨询

关于Dualshock4控制器/dev/input/js0数据来源的疑问

我在X64架构设备上运行Debian 12系统,通过USB连接Dualshock4控制器后,可借助Joystick API读取/dev/input/js0设备文件,能从中获取如下结构体数据:

struct js_event {
    __u32 time;     /* event timestamp in milliseconds */
    __s16 value;    /* value */
    __u8 type;      /* event type */
    __u8 number;    /* axis/button number */
};

我的问题是:是什么将数据写入/dev/input/js0供我读取?是否存在处理Dualshock4输入并写入该文件的模块?


回答:

  • 写入/dev/input/js0数据的是Linux内核的游戏手柄子系统,核心功能由内核模块实现。
  • 针对Dualshock4控制器,负责处理输入并生成js_event数据的是内核中的hid-sony模块:这是专门处理索尼HID设备的驱动模块,会识别USB连接的Dualshock4,解析控制器发送的原始HID报告,将其转换为符合Joystick API规范的js_event结构体数据。
  • 同时,内核的joydev模块也会参与流程:它是游戏手柄设备的通用字符设备驱动,负责把hid-sony处理后的输入事件映射到/dev/input/js*这类设备节点,让用户空间程序能通过标准Joystick API读取数据。

内容的提问来源于stack exchange,提问作者Nigel Redding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 14:24:54