设置非品牌 USB 操纵杆

设置非品牌 USB 操纵杆

我刚刚购买了一个非品牌操纵杆“Esperanza”,并且在过去的一个小时里一直在尝试设置它。

每次插入时,xpad模块都会启用。这是针对 Xbox 支持的控制器的,但这个控制器肯定不是 Xbox 控制器。

在 中lsusb,该控制器甚至被命名为 Xbox 控制器:

Bus 001 Device 006: ID 045e:028e Microsoft Corp. Xbox360 Controller

当我运行evtest并选择控制器时,它无法识别任何按键。

我尝试查看它是否通过 USB 端口传输任何数据。我启用了模块usbmon并运行:

sudo cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out | tail -f /tmp/1.mon.out

(记录所有 USB 输入)然后...什么都没有。只有当我插入或拔出 USB 时才会显示一些内容,但当我按下某些键时什么也没有发生。

不过,我可能知道为什么...当我运行时cat /var/log/syslog,它显示以下内容:

Apr 27 22:48:53 banana-pc systemd-udevd[24319]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1.
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0/0003:2563:0575.0016
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0/0003:2563:0575.0016
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0
Apr 27 22:48:53 banana-pc upowerd[1615]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4
Apr 27 22:48:53 banana-pc kernel: [40974.817229] usb 1-4: new full-speed USB device number 36 using xhci_hcd
Apr 27 22:48:54 banana-pc kernel: [40974.987630] usb 1-4: New USB device found, idVendor=045e, idProduct=028e, bcdDevice= 1.10
Apr 27 22:48:54 banana-pc kernel: [40974.987635] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 27 22:48:54 banana-pc kernel: [40974.987638] usb 1-4: Product: Controller
Apr 27 22:48:54 banana-pc kernel: [40974.987640] usb 1-4: Manufacturer: SHANWAN
Apr 27 22:48:54 banana-pc kernel: [40975.007946] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0/input/input55
Apr 27 22:48:54 banana-pc mtp-probe: checking bus 1, device 36: "/sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4"
Apr 27 22:48:54 banana-pc mtp-probe: bus: 1, device: 36 was not an MTP device
Apr 27 22:48:54 banana-pc systemd-udevd[24329]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1.
Apr 27 22:48:54 banana-pc upowerd[1615]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4/1-4:1.0
Apr 27 22:48:54 banana-pc upowerd[1615]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:08.1/0000:02:00.3/usb1/1-4

有任何想法吗?

编辑 所以,我想问题可能出在这upowerd: unhandled action 'bind'上面。但我的 Akai MPK Mini 也显示同样的消息,但运行正常。

答案1

嗯,解决方案其实非常简单。

这段时间控制器里有些东西被禁用了。我按住“ANALOG”按钮 5 秒钟,它神奇地开始工作了。这没有在任何地方记录下来……

所以如果你也遇到了同样的问题,而且你使用的是廉价的中国操纵杆,那就试试这个吧。谁知道呢,也许它能解决问题。

答案2

可能是 jscal 错误出现,导致设备被控制

在网上查找,jscal-restore 是 Ubuntu 的操纵杆配置设置器,它似乎是在插入时由 udev 规则启动的。您可能需要设置配置jscal-restore 才能顺利运行。

还值得确保插入时/dev/input/js0指向硬件设备,因为ls -lgajscal 正在尝试在其上运行。您可能需要将其设为实际硬件的符号链接才能欺骗它

它看起来也被设置为 udev 规则,所以如果这个软件与你的硬件冲突,你可以尝试找到并禁用它的 udev 规则,看看 Linux 是否可以很好地处理它,而无需 jscal,或者在最坏的情况下卸载它,看看是否有其他方法可行

答案3

当我尝试连接 Microsoft XBox 360 无线控制器时,我也遇到了同样的错误。通常我可以找到操纵杆设备/dev/input/js0,但它突然消失了。

在 中/var/log/syslog,我发现了这些错误。

Feb 15 16:05:06 dudley kernel: [  631.355686] input: Xbox 360 Wireless Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.2/1-11.2:1.0/input/input29
Feb 15 16:05:06 dudley systemd-udevd[3040]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1.
  • 重新启动电脑并没有解决。
  • 拔下并插入无线接收器(USB)并未解决。
  • 通过取出并重新安装电池来重新启动控制器,然后按住模拟按钮几秒钟重新启动它,但这并没有解决问题。
  • 最后,我可以通过将接收器和控制器配对来解决这个问题

相关内容