我买了一个街机控制器,这样我垂死的父亲就可以玩老式学校游戏。
但它不会显示在 xinput 下,而它会显示在 lsusb 下
Bus 003 Device 021: ID 0079:187c DragonRise Inc. FightStick
我试过了
xinput --reattached 0079:187c {various things}
但该 ID 不在 xinput 的列表中。
我的系统是:
OS: Manjaro Linux x86_64
Kernel: 5.10.70-1-MANJARO
Shell: bash 5.1.8
所以我的问题是:如何让这个设备正常工作?
或者 - 如何强制设备对 xinput 可见? (如果我知道应该是的话)
答案1
好的,感谢这里的评论:已整理并正常工作:
首先需要 python-pip
然后需要整理xboxdrv包:
克隆这个仓库
打开 PKGBUILD
然后进行两项更改:在 makedepends 和 build(){} 中
CHANGE:
makedepends=( 'scons' 'boost' 'pkg-config' 'libx11' 'python')
INTO:
makedepends=( 'boost' 'pkg-config' 'libx11' 'python')
AND
CHANGE:
build() {
cd ${pkgname}-${pkgver}
scons \
build() {
cd ${pkgname}-${pkgver}
python3 ~/.local/bin/scons \
然后确保 python 依赖项已安装:
pip install 'scons==4.1'
哇,xboxdrv 现在可以正确安装了
makepgk -si
现在已安装:我们需要通过黑名单使 modprobe 看不到 xpad::
sudo nano /etc/modprobe.d/blacklist.conf
(如果你不将xpad列入黑名单,则会出错)
然后插入以下内容:
blacklist xpad
一旦完成,我们就可以强制 xboxdrv 通过 ID 使用设备。
lsusb
Bus 005 Device 009: ID **0079:187c** DragonRise Inc
(设备 ID:与 3 年前的 Reddit 帖子相同)
现在施展魔法
xboxdrv --type xbox360 --device-by-id 0079:187c &
优化是如何做到这一点,以便此命令在检测到设备连接时自动运行:但我很高兴能够在脚本中使用此命令来启动模拟器,并且在 :) bin 调用它模拟器或其他名称并调用一天。
感谢您的帮助。