为什么我的游戏手柄可以通过蓝牙工作,但不能通过 USB 工作

为什么我的游戏手柄可以通过蓝牙工作,但不能通过 USB 工作

我有一个 XBOX ONE S 控制器,我想将其连接到运行 arch linux 的 PC。

我知道有一个名为 xpad 的驱动程序,它已默认安装。我的第一个问题是:据我所知,该驱动程序仅在您通过 USB 连接游戏手柄时才有效,这是正确的吗?

通过 USB 连接时,驱动程序 (xpad) 按预期工作。但我想通过蓝牙连接游戏手柄。这也很有效,但我不明白为什么!因此我的第二个问题是: 哪个驱动程序控制游戏手柄?由于xpad似乎不是通过蓝牙驱动gampad的驱动程序(我将其列入黑名单),那么它是哪个驱动程序?我的第三个问题是:我听说“bluez”将控制器作为 HID 设备来处理,这是某种标准化 - 这是正确的吗?

先感谢您!

顺便一提:我的最后一个问题:有人可以告诉我一本关于驱动程序编程和/或一般内核结构主题的好书吗 - 例如,我不太明白 evdec、joydev、xpad、bluez、input 等如何通信。我想确切地了解当我插入 USB 设备或通过蓝牙连接它时会发生什么。

相关内容