English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.WinUAE (https://eab.abime.net/forumdisplay.php?f=5)
-   -   Having a hard time mapping multiple Xbox One gamepads in WinUAE (https://eab.abime.net/showthread.php?t=83570)

ReL0aDed 25 July 2016 20:10

Having a hard time mapping multiple Xbox One gamepads in WinUAE
 
Hi, new user here.

I've been using WinUAE for ages; maybe even half my life more or less.

Until recently I used Xbox 360 gamepads, and even PS3 gamepads with a hacked bluetooth driver to make it work as a xinput-device. I use WinUAE with the Kodi (earlier XBMC) app on my Windows 10 PC to quick-launch the roms while sitting on the couch with a gamepad in my hands.

Somehow I'm having some issues while using my new Xbox One gamepads /w wireless receiver while using WinUAE. If I custom bind one of the controllers (I prefer to custom bind via the Input menu instead of using the Game Ports menu, since I like to jump with a button instead of the d-pad), all is well and good until I turn off the emulator and use one of the other identical Xbox One controllers the next time.

While booting up WinUAE with one of the other Xbox One gamepads I have to remap the entire controller again (and enable it in the Input menu), just because it's not the very same controller I used the last time. I have been fiddeling with the old game Blues Brothers for a while now, trying to make it work both with a single controller and while having two controllers connected.

Sure, I can make it all work seamlessly if I choose Game Ports > Port 1: Xbox One [1] and Port 2: Xbox One [2], but then I'm forced to use the A-button on the Xbox One gamepad to fire/left mouse button. I'm not even allowed to change the button actions while selecting both the controllers in the Game Ports menu; in the Remap/Test menu all the buttons have assigned a specific action, and I can neither remap or delete the predefined button actions there.

That's a shame really, because while using the game ports menu and selecting the Xbox One gamepads there, the game jumps back to the mouse/gamepad combo while playing a rom with a single controller. Using the custom 1-6 options in the game ports menu makes all kinds of issues while using different controllers than those you recently mapped in the emulator.

Is this a problem with the emulator itself regarding the Xbox One xinput version? I made it all work as it should using two ps3 controllers before I had the Xbox One gamepads, without issues.

I have tried for hours to get it all working again, with no solution in sight. I want the emulator to use two controllers if two controllers are connected, use one when one is connected with the controller/mouse combo, with custom bindings on the player 1 and player 2 buttons.

Toni Wilen 25 July 2016 20:41

Version? It is by design to separate identical controllers. It would be very annoying when playing 2 player games.

Game Ports remap does not allow editing any built-in configs, you need to select custom slot first (3.3.0+ only) and then click remap.

EDIT: describe in detail what happens when you use custom slots. (I have tested it with multiple xbox360 pads and I didn't notice anything too weird)

EDIT2: I forgot that there is bug in custom slots that cause them to lose their config very easily..

ReL0aDed 26 July 2016 01:16

Hi, and thanks for the reply.

I have run some tests with all my four wireless Xbox One gamepads now, and this is how it all went:

It does not seem that the controller that is first powered on, becomes Port 2 in the game port menu at all times (Port 2 so the first powered controller becomes player 1). It depends. Two of my controllers can work together in that way (the first controller powered on becomes Port 2, and the other one Port 1). It all depends on which one that is powered on first. The other two controllers (also different combinations between all my four Xbox One gamepads) does not apply to the rule that the first powered on controller becomes Port 2, thereby there is very little consistency here. Thereby it get's kind of messy and clunky.

If you take an emulator such as libretro/RetroArch, Project 64 and Dolphin, those emulators does not take note of the exact identity of each of the controllers. Those emulators applies the rule that the first controller that is powered on always becomes player 1, the second one player 2 and so on. Somehow it seems that WinUAE have a different ruleset regarding just that, and thereby having more xinput devices connected really makes handling multiple xinput devices a hassle. I had to enable each and every controller in the Input menu (and also map them), because the emulator did not recognize the identity of that specific controller. Now it's like a trainwreck in my setup.

If you ask me, it would be more practical if WinUAE dropped the "controller identity" ruleset and went for the more traditional "the first controller powered on always becomes player one" ruleset from most emulators.

Does WinUAE have native xinput support by the way?

Toni Wilen 26 July 2016 09:21

XInput is not used, all input is read using rawinput (which is lower level than xinput). XInput is not generic enough.

"Remembering" devices is very important in supporting on the fly insertion/removals, device automatically gets matched with correct config.

Also your use case is a bit special, multiple (more than 2) identical controllers. If user has different controllers, it can get annoying when config from other type of controller gets matched with different controller.

And finally, I rarely care what other emulators do (or not do, too many of them have lowest common denominator feature set which is my most biggest issue with many multi platform emulators), in this case it is really easy to do it by order of controllers that OS returns. In my opinion it is simply missing feature, not a feature.

Anyway, I think this can be solved, without breaking anything.

For example what about:

Configure each controller using game ports custom (each uses different slot), then extend autoswitch function to select match custom list controller. (button #1 press = select the controller from custom list that has its button #1 pressed to joystick port, button #2 = mouse port)

Or

Optionally same type of controllers (same usb product and manufacturer id and/or same name, ignore uniquely identifiable data) always share same config.

Or combination of both. Or something.

ReL0aDed 26 July 2016 17:26

I got it all working again as I did before; in other words by only using two wireless PS3 controllers with xinput via a hacked bluetooth driver. If I switch to one or two of my Xbox One gamepads before starting WinUAE, I suppose the gamepads may or may not work. It would depend on the controller identity. Sticking to my old setup (two PS3 controllers) is my only option for now.

My recommendation to users of Media Center software (Kodi /w Advanced Launcher as I personally use) configured for emulators that also have 4 Xbox One gamepads available, is to have two of them dedicated to WinUAE. Preferably numbering them with a sticker for player 1 and 2 on the back.

Again thanks for taking the time to reply to these posts :great


All times are GMT +2. The time now is 21:52.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.04282 seconds with 11 queries