11 March 2017, 05:02 | #1 |
Posts: n/a
|
Xbox One gamepads and Xbox 360 gamepads as one combined controller entity in WinUAE
I recently found out that my Xbox One gamepads had to be mapped in each and every config-file I have for my games in WinUAE, even though they are previously mapped to my Xbox 360 gamepads. It seems like the Xbox One gamepads and Xbox 360 gamepads are registered as separate entities in the Input settings of WinUAE.
Is there any way to somehow make all xinput devices (Xbox One / Xbox 360 gamepads) viewed as the same entity in the Input menu in WinUAE? If that's not the case, I would personally love having an option to combine those controllers as a single entity in the Input menu, maybe even by clicking a checkbox for enabling doing so. (Btw, I have to use the -norawhid launch-command to get the Xbox One controllers to work in WinUAE 3.4.0 as of now). |
11 March 2017, 17:35 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,575
|
It is by design to keep all game controllers separate, even if they are same models (and have unique id) to enable separate config for two+ player games.
Problem with xinput is that there is no way (at least I haven't found any) how to match xinput device with rawinput device. (Yes, there is way to detect device type but not uniquely identity that _this_ xbox one controller is _this_ rawinput controller if you have more than one connected.) I'd like to support it but I refuse to add any even more confusing options to select input mode. Xbox pad not working (at least in Windows 10) is Windows bug, it reports device as rawinput capable but it never sends any events. It is already fixed in current Windows 10 preview versions. (Was fixed about 2 months ago) |
19 March 2017, 16:41 | #3 |
Posts: n/a
|
Thanks for very informative reply.
I have some issues when it comes to mapping individual key-commands via the input-panel in 2 player games. I can use the game Blues Brothers as an example. I prefer having the jump button mapped to one of the controller buttons on the gamepad, instead of pressing d-pad up for jumping. Thereby pressing both button 1 and d-pad up triggers the jump function in this game. I also use button 4 on the gamepads for the F7 function, switching players in 2 player mode. All is well and done as long as I have two controllers plugged in, but as soon as I want to start Blues Brothers in 1 player mode (only connecting one controller), the config somehow forgot that I used button 1 as jump/up as well as up on the d-pad, and I'm forced to jump using d-pad up while playing in 1 player mode. If I start the game again with two controllers attached however, WinUAE remembers that I use button 1 as up and button 4 as F7 on both controllers. Starting the game without a secondary controller makes the game forget the "special" keymappings for button 1 & button 4. If I then only use one controller, and remap the then unmapped button 1 as up and the unmapped button 4 as F7, it messes up the config the next time I start 2 player mode with two controllers connected. Then button 1 and button 4 are un-mapped in 2 player mode with two controllers connected. |
19 March 2017, 19:13 | #4 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,575
|
Quote:
|
|
19 March 2017, 23:55 | #5 |
Posts: n/a
|
Here you go
|
27 March 2017, 18:41 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,575
|
Do you mean Gameports panel custom config? (Not Input panel custom config)
It looks like GamePorts may not support this fully. |
30 March 2017, 02:24 | #7 |
Posts: n/a
|
I'll guess by firstly mapping the gamepad buttons in the "GamePorts" menu, then map the remaining "special" buttons in the "Input" panel for each of the two Xbox One gamepads (special buttons = button 1 for jump/d-pad up and button 4 for F7).
I select "Joystick" as devices for both the controllers in the "GamePorts" menu. So the game config it's a hybrid/mix of both the GamePorts and the Input panels while mapping the buttons of this particular game. |
30 March 2017, 09:56 | #8 |
Registered User
Join Date: Aug 2014
Location: Zagreb / Croatia
Posts: 302
|
If you use custom settings in "Input", put port that you configure in "Input" to "<none>" in "GamePorts".
|
08 April 2017, 07:07 | #9 |
Posts: n/a
|
Hi; sorry for late reply.
I've done some testing now, and this is how it all went: It works; to some extend. What I mean by that, is that configuring the GamePorts to "none" and rather map all the keys in the Input section, it finally made all the assigned buttons work with both a single- and two controllers connected. Even the special assigned keys for d-pad up/jump (button 1) and F7 (button 4) in Blues Brothers works with either one or both controllers connected now. There's a catch, however. For the player 1 in any Amiga game (as I know of), the buttons assigned for that player has to be the Joy2-keys. Thereby player 1 has the Joy2-keys, while player 2 (the secondary Xbox One gamepad in the input menu) has to have the inputs of the Joy1-keys. The first connected Xbox One gamepad then gets player 1 in-game, and the secondary connected Xbox One gamepad gets the player 2 key-commands. It all works fine and all as long as two controllers are connected, but when you close WinUAE and disconnect the secondary controller, and start the game once more, the first (and only connected) Xbox One controller gets the button mapping from the secondary controller all of a sudden. It seems like it works like this: After mapping a game with two controllers connected; Xbox One gamepad [1] = Joy 2-keys Xbox One gamepad [2] = Joy 1-keys Closing the emulator, and disconnecting the secondary controller. Launching the game config via WinUAE, thereby starting the game again; Xbox One gamepad = Joy 1-keys Ok; I would try to fix this by remapping the Xbox One gamepad to the Joy 2-keys again, and see what happens; Xbox One gamepad = Joy 2-keys I'll start the emulator once more, but now with two controllers connected; Xbox One gamepad [1] = Joy 2-keys Xbox One gamepad [2] = unmapped, I also have to enable the gamepad Fine, I'll remap everything again, so it looks like this; Xbox One gamepad [1] = Joy 2-keys Xbox One gamepad [2] = Joy 1-keys Seems fine, now exit the emulator and disconnect the secondary controller, and see what happens; Xbox One gamepad = Joy 1-keys This is what happened. My workaround as of now is to assign the Joy 2-keys to the secondary controller, and the Joy 1-keys to the first one. Thereby I play as player 1 with the first connected gamepad if it's the only powered on gamepad, and I play as player 2 with the first connected gamepad if both gamepads are connected. The game I tested was Blues Brothers this time too, the newest configuration file is attached to this post. |
08 April 2017, 13:20 | #10 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,575
|
I need to think about this situation more, too long since I worked with input system deeply enough
|
13 April 2017, 15:03 | #11 |
Posts: n/a
|
I tried WinUAE again this day, and I just found out that I was wrong when I talked about the Xbox One gamepad where I previously assumed this:
One controller connected; Xbox One gamepad = Joy 2-keys Two controllers connected; Xbox One gamepad [1] = Joy 1-keys Xbox One gamepad [2] = Joy 2-keys Well, this still holds up, but I assumed that when two wireless Xbox One gamepads are powered on, that the controller that has the [2] symbol was the last powered on Xbox controller. I was wrong; the "Xbox One gamepad [2]" is the first powered on gamepad when two controllers are connected. I found out by powering up both Xbox One gamepads, starting Blues Brothers, entering the WinUAE menu by pressing F12, entering the Input section and pressing the Test-button. Then I pressed a button on the first powered-on Xbox One gamepad, and to my surprise that gamepad went under the name "Xbox One gamepad [2]", and not "Xbox One gamepad [1]" as I was so sure of on my previous post. Now it seems like WinUAE works as intended with Xbox One gamepads, and controller support seems to be working way better than only a year ago |
14 April 2017, 12:34 | #12 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,575
|
Identical device's are ordered by its unique name or ID.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Having a hard time mapping multiple Xbox One gamepads in WinUAE | ReL0aDed | support.WinUAE | 4 | 26 July 2016 17:26 |
Xbox 360 controller problems | kep | support.WinUAE | 16 | 11 June 2015 19:47 |
XBOX 360 controller disappointment | Zak | Retrogaming General Discussion | 20 | 20 December 2013 15:07 |
XBox 360 controller support (hat switch) | sulaco | support.WinUAE | 6 | 13 April 2012 16:50 |
Problems with an XBox 360 Controller? | JohnnyWalker | support.WinUAE | 7 | 25 June 2011 18:46 |
|
|