Oddly specific question that I have been trying to fix for weeks. I have a Beitong Asura pro 2 gamepad. It is the multi-mode variant. I can’t get Arch to recognize it as an Xbox controller (so it doesn’t rumble or have any haptic feedback). I have gone through the wiki and the instructions there only appear to apply to wired gamepads. Does anyone know how to get it working while using the 2.4ghz usb adapter?

  • nutbutter@discuss.tchncs.de
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 days ago

    I have a cheap controller that has 2 modes, xinput and dinput, which automatically gets selected. If I plug it into a Windows PC it gets detected as X input and the controller shows a blue light and everything works including the rumble motors and pressure sensitive triggers. If I connect it to a Linux PC or any Android device via an OTG or if I connect that dongle directly into my Android TV, the controller shows a purple light and it gets detected as D input.

    However, there is a small workaround that works for me is that when I connect that dongle into my PC when it is turned off and then I turn it on while the dongle is already connected. The controller shows a blue light and everything works normally. It is not detected as a D input device, it is detected as an X input device and everywhere, including steam, it is detected as an Xbox 360 controller.

    This workaround, I did not know before but it is available or written on arch wiki. Here is the link. There is another way to always connect that device as an xinput device rather than relying on turning the PC on or off. It requires sudo permissions but I never got it to work properly, I always have to rely on rebooting the PC.

  • tal
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    I can’t get Arch to recognize it as an Xbox controller (so it doesn’t rumble or have any haptic feedback).

    I’ve never needed to to anything to make a gamepad with rumble motors work on Linux, as long as it actually has the motors.

    I’m not sure what you mean when you say that “Arch” isn’t recognizing it as an Xbox controller or why that would prevent vibration. I assume that some software package that should vibrate isn’t? Some Steam game?

    fftest should make it vibrate using the old-style /dev/input/jsX interface. Dunno about the newer /dev/input/eventX interface, which is what you’re probably using. Maybe evtest can do that.

    kagis

    Okay, evtest can apparently dump a flag indicating whether rumble is supported. fftest apparently supports the /dev/input/eventX interface too.

    https://askubuntu.com/questions/1139960/how-to-enable-a-vibration-in-a-pc-gamepad-in-xubuntu-18-10

    A gamepad supports vibration if it supports the FF_RUMBLE event, which you can check with the evtest tool. Here’s the output for my Xbox One controller, which does support vibration.

    To test rumble, use fftest. You’ll need to provide the path to the evdev node for the gamepad, which is included in the output from evtest. For my Xbox controller this was /dev/input/event16:

    If you haven’t done that, I’d try that, as it cuts a bunch of variables out of the equation. If it works, then the issue is probably with the game you’re trying to play with, and if not, then the issue is probably going to be on the kernel side.

    • hondaguy97386@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      2
      ·
      2 days ago

      I will give that a shot. Yes, it has the motors and everything works on a windows (barf) machine so I am assuming it something I missed in the packages. Thanks for the direction to go in!