web-dev-qa-db-ja.com

コントローラーがマウスを動かさないようにするにはどうすればよいですか?

これは、私が動作させようとしているアダプターです。 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なのですか?

他に何ができますか?

6
DavidW

以下の線に沿ったもの:

xinput set-prop 'HJZ Mayflash WiiU Pro Game Controller Adapter' "Device Enabled" 0

マウスとして動作を停止する必要があります。あなたも実行したいかもしれません

Sudo evtest /dev/input/event2 (or wherever your controller is)

そもそもなぜこれが起こっているのかを知るために。

6
Grumbel

マウスを制御するジョイスティックを停止することは実際には非常に簡単です。多くの検索がついに偶然見つけました。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を再起動すると、ゲーム内でジョイスティックが機能しますが、画面上でマウスを動かしたり、左上隅に閉じ込めたりすることはなくなりました。

5
Erin

それでもこの問題が発生する場合は、解決策を見つけました。これは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が表示されます。

1
WilliamH