Announcement

Collapse
No announcement yet.

Weird issue maybe? RetroArch and xinput/dinput

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Weird issue maybe? RetroArch and xinput/dinput

    Not sure if this is an actual issue, or what, I'm sorta working around it, but I thought others might benefit from at least hearing about it. So i've got RetroArch and ReWASD installed on an Aya Neo (one of those gaming devices) and have it set to use the triggers and right analog to emulate a mouse. When I load up RetroArch, it detects the ReWASD virtual control as an XBox 360 controller, as intended, but it only accepts input from it when using the dinput driver...xinput won't register with it at all. I would think ReWASD would be emulating xinput, wouldn't it? Or could it be the mouse mapping causing some confusion? I need that to make something else work right. Anyway, thought it might be interesting, not sure why this behavior is happening.

  • #2
    We would appreciate it if you could send us the screenshot of reWASD window with the mappings that you assign to it, so we can better understand what is going on.
    Thank you in advance.

    Comment


    • #3
      Sure, here you go. Let me know if this has got everything you need or if you need anything else

      Click image for larger version

Name:	20210821_215044.jpg
Views:	1348
Size:	140.4 KB
ID:	227224

      Comment


      • #4
        Hello,
        Probably the fact is that you have two different inputs at once. Try to use it simply as a controller without mouse mapping.

        Comment


        • #5
          Originally Posted by RAM Stealer View Post
          Hello,
          Probably the fact is that you have two different inputs at once. Try to use it simply as a controller without mouse mapping.
          Works the same when I change it to that.
          Attached Files

          Comment


          • #6
            Originally Posted by npaladin2000 View Post

            Works the same when I change it to that.
            Then we don't quite understand what result you want to achieve with reWASD. And how should it interact with RetroArch?
            If you select the virtual Xbox 360 controller type and apply the config, you just create a virtual Xbox 360 in the system. That way, you get Xinput.
            If you need to emulate Dinput, you need to change the virtual controller type to Dualshock 4 in reWASD.
            We need more details to see how we can help you.

            Comment


            • #7
              Originally Posted by 1ncorrect View Post

              Then we don't quite understand what result you want to achieve with reWASD. And how should it interact with RetroArch?
              If you select the virtual Xbox 360 controller type and apply the config, you just create a virtual Xbox 360 in the system. That way, you get Xinput.
              If you need to emulate Dinput, you need to change the virtual controller type to Dualshock 4 in reWASD.
              We need more details to see how we can help you.
              Ok, what's happening is that I've set it to be the virtual X-Box360 controller in reWASD, but RetroArch does not pick it up when using the xinput driver, only the dinput driver. So it may be that reWASD is not behaving as it's supposed to be. I've been messing around with some other software that will actually show me the difference also (thinking it might be RetroArch rather than reWASD), and reWASD is definitely exposing itself as a dinput device rather than an xinput one.

              Ultimately I would prefer that reWASD be exposing the virtual controller as X-input. If possible I would also like to maintain using the right analog as a mouse control.

              Comment


              • #8
                reWASD creates a virtual Xbox 360 controller, which is the same as the physical one, which is detected as X-Input. Which other apps you are referring to? Have you tried to use Xbox One virtual controller in reWASD?

                As for the mouse on the stick, still not sure how the mouse is connected to the type of the virtual controller. It may not work only because the emulator doesn't detect both inputs at once.

                Comment


                • #9
                  Originally Posted by reWASDer View Post
                  reWASD creates a virtual Xbox 360 controller, which is the same as the physical one, which is detected as X-Input. Which other apps you are referring to? Have you tried to use Xbox One virtual controller in reWASD?

                  As for the mouse on the stick, still not sure how the mouse is connected to the type of the virtual controller. It may not work only because the emulator doesn't detect both inputs at once.
                  Both Xbox360 and Xbox One configs screenshotted above are showing up as dinput in every app I try (PPSSPP indicates an input differently depending on whether it's xinput or dinput so I'm using that to test also). When I take reWASD out of the equation, my local controller works as xinput. I think it might be a bug of some sort, not sure. I did create a new Xbox360 profile to use to test the virtual controller configured without any mouse inputs. I'm not seeing any config options in reWASD that might affect this.

                  Maybe I should try wiping the ReWASD config out completely and start from scratch, see if it does it again? I'd swear it used to work through xinput but I couldn't point to a specific time when it stopped.

                  Just to confirm, I'm on 5.8.0.4512

                  Comment


                  • #10
                    After a bit of consulting with a team, I should say that my previous answer was not correct, Xbox controller do report both XInput an DirectInput.

                    Then, other apps, games and testers should decide which standard to use. We are not sure why RetroArch reads DirectInput instead of the XInput. But just to confirm: it detects the controller and it is working, right?

                    You could also check this website — https://gamepad-tester.com/ Which standard you see there? Normally, it should be XInput.

                    Comment


                    • #11
                      Originally Posted by reWASDer View Post
                      After a bit of consulting with a team, I should say that my previous answer was not correct, Xbox controller do report both XInput an DirectInput.

                      Then, other apps, games and testers should decide which standard to use. We are not sure why RetroArch reads DirectInput instead of the XInput. But just to confirm: it detects the controller and it is working, right?

                      You could also check this website — https://gamepad-tester.com/ Which standard you see there? Normally, it should be XInput.
                      It actually detects the Xbox360 controller when set to either xinput or dinput drivers but it only gets input via dinput.

                      The site is showing an Xinput standard gamepad.

                      Comment


                      • #12
                        Another tester that should work via XInput is Game Controller Tester (free testing app from Microsoft's Store). You could check how the triggers work there: with XInput, the triggers are reported separately. Do you see the same?

                        One more thing: it may be a chance that you have several XInput devices, and the emulator detects only the first one as XInput, it also could cause this behavior.

                        Comment


                        • #13
                          Originally Posted by reWASDer View Post
                          Another tester that should work via XInput is Game Controller Tester (free testing app from Microsoft's Store). You could check how the triggers work there: with XInput, the triggers are reported separately. Do you see the same?

                          One more thing: it may be a chance that you have several XInput devices, and the emulator detects only the first one as XInput, it also could cause this behavior.
                          I'll grab the tester and take a look. The one sticky part might be that the controller on this device is hardwired, so it might be being detected before reWASD loads and sets up the virtual controller in front of it? I haven't had a chance to do any experimentation with my bluetooth controller that's also a part of the group yet, I'll do that today and see if that one gets detected/read as Xinput, get some more data on what's going on.

                          Comment


                          • #14
                            Yes, if you do not restart the emulator after applying a config, it may be a chance that the first controller that was detected is your physical one, and then app may try to read the new controller via another standard.

                            Appreciate some testing from our side, please let us know how it goes.

                            Also, do you have any other remapping tools, drivers, etc.?

                            UPD: XInput is limited to 4 devices. Thus, in case if you have created a few virtual ones, it may be a chance that this one goes as the fifth one. I would suggest that you check whether you have applied anything to the other group you have.

                            Also, it is recommended to restart the game (app, emulator, everything related), so we are sure that it re-scanned all the controllers (both virtual and physical).

                            Comment


                            • #15
                              I used to have HIDHide installed but I removed it, didn't like it and it didn't work right anyway. The Steam controller infrastructure is still enabled, but that seems to actually detect the virtual controller properly.

                              Comment

                              Working...
                              X