これは、私が動作させようとしているアダプターです。 Amazon-Mayflash Wii U Pro Controller usb adapter このアダプターには、xbox入力モードと汎用hidモードの2つのモードがあります。 xboxモードはUbuntuで正常に動作しますが、1つのコントローラーのみをサポートします。汎用コントローラーモードでは、4つのコントローラーがサポートされています。 Ubuntuでこのモードを使用するのは困難です。マウスが動き回っていて、コントローラーが接続されていることをゲームが認識しないためです。
最初に、マウスの動きを止めたいです。この問題を修正することで、2番目の問題を解決できることを期待しています。開始するための情報を次に示します。
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HJZ Mayflash WiiU Pro Game Controller Adapter id=8 [slave pointer (2)]
⎜ ↳ Logitech M310 id=9 [slave pointer (2)]
⎜ ↳ Logitech K520 id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=11 [slave keyboard (3)]
xinput list-props 8
Device 'HJZ Mayflash WiiU Pro Game Controller Adapter':
Device Enabled (143): 1
Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (276): 0
Device Accel Constant Deceleration (277): 1.000000
Device Accel Adaptive Deceleration (278): 1.000000
Device Accel Velocity Scaling (279): 10.000000
Device Product ID (260): 121, 6144
Device Node (261): "/dev/input/event2"
Evdev Axis Inversion (280): 0, 0
Evdev Axis Calibration (281): <no items>
Evdev Axes Swap (282): 0
Axis Labels (283): "Abs X" (264), "Abs Y" (265), "Abs Z" (266), "Abs Rotary Z" (267), "Abs Hat 0 X" (268), "Abs Hat 0 Y" (269), "Abs Hat 1 X" (270), "Abs Hat 1 Y" (271), "Abs Hat 2 X" (272), "Abs Hat 2 Y" (273), "Abs Hat 3 X" (274), "Abs Hat 3 Y" (275)
Button Labels (284): "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Wheel Up" (149), "Button Wheel Down" (150), "Button Horiz Wheel Left" (151), "Button Horiz Wheel Right" (152)
Evdev Scrolling Distance (285): 0, 0, 0
Evdev Middle Button Emulation (286): 0
Evdev Middle Button Timeout (287): 50
Evdev Third Button Emulation (288): 0
Evdev Third Button Emulation Timeout (289): 1000
Evdev Third Button Emulation Button (290): 3
Evdev Third Button Emulation Threshold (291): 20
Evdev Wheel Emulation (292): 0
Evdev Wheel Emulation Axes (293): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (294): 10
Evdev Wheel Emulation Timeout (295): 200
Evdev Wheel Emulation Button (296): 4
Evdev Drag Lock Buttons (297): 0
リストされていないため、マウスイベントプロパティを無効にできません。
Xserver-xorg-input-joystickを削除しようとし、それをインストールして、カスタムジョイスティック設定を/usr/share/X11/xorg.conf.d/50-joystick.confとして追加しようとしました。
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event*"
Driver "joystick"
Option "StartKeysEnabled" "False" #Disable mouse
Option "StartMouseEnabled" "False" #support
EndSection
これらはdmesgの関連する行だと思います。
[ 1.259673] usb 1-4.2: new full-speed USB device number 4 using xhci_hcd
[ 1.352076] usb 1-4.2: New USB device found, idVendor=0079, idProduct=1800
[ 1.352078] usb 1-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.352080] usb 1-4.2: Product: Mayflash WiiU Pro Game Controller Adapter
[ 1.352081] usb 1-4.2: Manufacturer: HJZ
[ 1.361980] input: HJZ Mayflash WiiU Pro Game Controller Adapter as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.2/1-4.2:1.0/0003:0079:1800.0006/input/input5
[ 1.362154] hid-generic 0003:0079:1800.0006: input,hidraw1: USB HID v1.11 Joystick [HJZ Mayflash WiiU Pro Game Controller Adapter] on usb-0000:00:14.0-4.2/input0
なぜhidraw1なのですか?
他に何ができますか?
以下の線に沿ったもの:
xinput set-prop 'HJZ Mayflash WiiU Pro Game Controller Adapter' "Device Enabled" 0
マウスとして動作を停止する必要があります。あなたも実行したいかもしれません
Sudo evtest /dev/input/event2 (or wherever your controller is)
そもそもなぜこれが起こっているのかを知るために。
マウスを制御するジョイスティックを停止することは実際には非常に簡単です。多くの検索がついに偶然見つけました。ubuntuの現在のバージョンではxorg.confは使用されず、代わりにファイルがあります。/usr/share/X11/xorg.conf .d /このフォルダにルートとして移動し、「50-joystick.conf」を編集する必要があります。
Sudo su
cd /usr/share/X11/xorg.conf.d/
nano 50-joystick.conf
ファイルは次のようになります。
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event*"
Driver "joystick"
Option "StartKeysEnabled" "False" # These Two Lines Disable
Option "StartMouseEnabled" "False" # The mouse emulation
EndSection
2つの「オプション」行を追加したら、ファイルを保存(Ctrl + O)して終了(Ctrl + X)します。 Linuxを再起動すると、ゲーム内でジョイスティックが機能しますが、画面上でマウスを動かしたり、左上隅に閉じ込めたりすることはなくなりました。
それでもこの問題が発生する場合は、解決策を見つけました。これはRaspberry Piで行われましたが、Ubuntuでも動作するはずです(Ubuntuでコマンドラインを編集する方法はわかりませんが、簡単に行う方法があると確信しています)。
Redditに関する私の投稿からコピー: https://www.reddit.com/r/RetroPie/comments/3drzqt/anyone_using_a_wii_u_pro_controller_adapter_with/
lsusb -v
を実行して、MayflashアダプターのidVendorとidProductを探します(私にとっては、それぞれ0x0079と0x1800でした)。
/ boot/cmdline.txtファイルの最後に次の文字列を追加します。
usbhid.quirks=idVendor:idProduct:0x40
IdVendorとidProductを以前に見つけた値に置き換えます。 「0x」プレフィックスを必ず含めてください。
Piを再起動します。
Sudo reboot
/ dev/inputにjs0、js1、js2、およびjs3が表示されます。