![PXN-0082 コントローラ - xinputには表示されませんが、lsusbには表示されます - 接続方法](https://linux33.com/image/196898/PXN-0082%20%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%20-%20xinput%E3%81%AB%E3%81%AF%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81lsusb%E3%81%AB%E3%81%AF%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%20-%20%E6%8E%A5%E7%B6%9A%E6%96%B9%E6%B3%95.png)
私は死んでいる父親が昔のゲームを楽しむためにアーケードコントローラを購入しました。
しかし、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パッケージを構成する必要があります。
このリポジトリの複製
OpenPKGBUILD
次に、makedependentsとbuild(){}で2つのことを変更します。
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
これでインストール済み:ブラックリストを介してxpadをmodprobeに見えないようにする必要があります。
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エミュレータなどから呼び出すことができてうれしいです。 :)ある日。
ご協力ありがとうございます。