我在 Ubuntu 上使用 xboxdrv 收集 Xbox 控制器的输入。使用有线控制器,我可以非常轻松地获得 4 个以上的控制器输入:
xboxdrv --daemon -i 0 --detach-kernel-driver \
--next-controller -i 1 --detach-kernel-driver \
--next-controller -i 2 --detach-kernel-driver \
--next-controller -i 3 --detach-kernel-driver \
--next-controller -i 4 --detach-kernel-driver \
--next-controller -i 5 --detach-kernel-driver
但使用无线控制器我最多只能获得 4 个
xboxdrv --daemon -w 0 --detach-kernel-driver \
--next-controller -w 1 --detach-kernel-driver \
--next-controller -w 2 --detach-kernel-driver \
--next-controller -w 3 --detach-kernel-driver \
--next-controller -w 4 --detach-kernel-driver \
--next-controller -w 5 --detach-kernel-driver
-- [ ERROR ] ------------------------------------------------------
wireless id must be within 0 and 3
我需要做什么才能从四个以上的无线控制器获取输入?我知道每个无线接收器只能处理 4 个控制器,但如果我有 2 个无线接收器和 8 个控制器,它不应该工作吗?
答案1
要查看可用的控制器,请使用:
xboxdrv --list-controller
它将告知 id 和 wid。要使用第二个无线接收器:
xboxdrv --daemon \
-i 0 -w 0 --detach-kernel-driver \
--next-controller -i 0 -w 1 --detach-kernel-driver \
--next-controller -i 0 -w 2 --detach-kernel-driver \
--next-controller -i 0 -w 3 --detach-kernel-driver \
--next-controller -i 1 -w 0 --detach-kernel-driver \
--next-controller -i 1 -w 1 --detach-kernel-driver
-i
是 USB 设备,-w
是该 USB 设备上的控制器。