archimage Posted August 19, 2017 Share Posted August 19, 2017 (edited) Hello, I have multiple controllers in my setup connected through an usb hub (nes pad, gamecube pad, joystick, etc...) I mainly use 8bitdo controller for retro consoles, x360 for everything with analog, and a joystick for arcade games. My main emulators are Retroarch, Mame, Demul etc... My problem is everytime I have to configure the controllers because they change the order. Is there an easy way to set player 1-2-3-4 and get all the other emulators understand which controller is the primary ? I tried joy2key and setup all emulators with keyboard keys, but mame seem to not support this. Best regards Edited August 19, 2017 by archimage Quote Link to comment Share on other sites More sharing options...
fromlostdays Posted August 19, 2017 Share Posted August 19, 2017 You're not going to like the answer to this. It's windows that's messing this up. It assigns priority on a first come first serve basis in terms of what you plug in. You were right to try joy2key, because unlike controllers the keyboard will stay plugged in and should keep the bindings. However, I think joy2key will still assign controllers based on how windows prioritizes them so ultimately even this won't work. As far as I know, and I'm not an expert here, but I do use controllers at all times, the only solutions (both tentative, neither ideal) is to never unplug any controller ever, OR bind all your emulators to the SAME keys for the same things. So for every emulator the W key might be up for instance, then use joy2key or xpadder to make profiles for all your controllers that are as similar as possible. Meaning no matter what controller you plug in, and or emulator you're using, it doens't matter because the keys are the same. Of course, considering the variety of systems and native controllers this is actually more difficult than you might think. You'll also have to get this working in MAME. I'm not sure why it wouldn't be. Are you using the latest version? Quote Link to comment Share on other sites More sharing options...
madpossum Posted August 19, 2017 Share Posted August 19, 2017 (edited) Fromlostdays is right, it's a Windows issue with assigning priority to controllers. Plus, never unplugging your controllers would only work if you never turned off your system, it prioritizes them randomly if the they are all plugged in when you turn it back on. I would think that there would be a way in Retroarch to assign certain controllers to certain systems and games but not sure. Good news is that there is a way to assign certain controllers in MAME using device IDs. So if you always use the same controllers for MAME you can assign to always be player 1 controller and player 2 controller, etc. The guy in this video pretty much walks you through it (though I think it's easier to just use device manager to get the controller IDs instead of using command line like he does in the vid). Edited August 19, 2017 by madpossum Quote Link to comment Share on other sites More sharing options...
damageinc86 Posted August 19, 2017 Share Posted August 19, 2017 I leave all my controllers plugged in the same USB port, and I've only had to re-map them a few times when one of the xbox360 controllers got unplugged accidentally. That shifted everything around on restart. But I've shut down a million times and the wired controllers have stayed mapped. Quote Link to comment Share on other sites More sharing options...
archimage Posted August 20, 2017 Author Share Posted August 20, 2017 I tried also with Xpadder, it's the same problem with Joy2Key. I have configured all my attached gamepads to the same layout (All player 1 on keyboard mapping). It works on everything except Mame. Yes it's the latest version. I have read somewhere it's a problem with raw inputs. Mame don't seem to recognize Joy2Key and Xpadder inputs, only direct keyboard inputs and joystick inputs. Quote Link to comment Share on other sites More sharing options...
damageinc86 Posted August 20, 2017 Share Posted August 20, 2017 Oh I think my MAME has always worked because it was the one compiled with dinput from back in the hyperspin days...I forget who used to release them, but they always would compile that for the then new release. Quote Link to comment Share on other sites More sharing options...
archimage Posted August 20, 2017 Author Share Posted August 20, 2017 I am using Groovymame, is it complicated to compile it directinput ? or is there a workaround without compiling everything ? Quote Link to comment Share on other sites More sharing options...
fromlostdays Posted August 20, 2017 Share Posted August 20, 2017 I don't think there is a workaround, except maybe just updating to the newest version of mame. Quote Link to comment Share on other sites More sharing options...
archimage Posted August 20, 2017 Author Share Posted August 20, 2017 Is the newest version compatible with direct input ? Quote Link to comment Share on other sites More sharing options...
archimage Posted August 21, 2017 Author Share Posted August 21, 2017 Problem solved : I have to launch mame with this option -keyboardprovider dinput 1 Quote Link to comment Share on other sites More sharing options...
Traffik Posted April 1, 2018 Share Posted April 1, 2018 Just wanted to say that I had all sorts of problems with Windows reassigning my IPAC and Aimtrak Guns and I found this little gem: https://github.com/briankendall/devreorder it works perfectly with MAME and Retroarch and the guy who coded this deserves a frikkin medal if you ask me Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.