English Amiga Board

Go Back   English Amiga Board > Support > support.WinUAE

Thread Tools
Old 25 July 2016, 21:10   #1
Posts: n/a
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.
Old 25 July 2016, 21:41   #2
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,339
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..

Last edited by Toni Wilen; 25 July 2016 at 22:34.
Toni Wilen is online now  
Old 26 July 2016, 02:16   #3
Posts: n/a
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?
Old 26 July 2016, 10:21   #4
Toni Wilen
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,339
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)


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.
Toni Wilen is online now  
Old 26 July 2016, 18:26   #5
Posts: n/a
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

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mapping multiple USB devices to one "gameport" in WinUAE? isamu support.WinUAE 7 22 March 2013 11:55
Xbox console hard modded, Xbox Crystal soft modded blast MarketPlace 0 23 May 2010 20:22
Problem with custom keyboard mapping in WinUAE Snark support.WinUAE 8 05 October 2006 16:37
Dynablaster with 4 usb gamepads in winuae 1.2 Lars support.WinUAE 2 10 April 2006 11:54
winuae cd32 and keyboard mapping ? bytheway support.WinUAE 1 18 January 2004 15:57

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 23:41.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.08656 seconds with 13 queries