Turranius Posted February 23, 2016 Posted February 23, 2016 File Name: Tur-Game Controller Order 1.5 File Submitter: Turranius File Submitted: 23 Feb 2016 File Category: Other Credits: Turranius --[ Purpose ]-------------------------------------------------Controls the order the controllers appear in the "Game Controllers" list in Windows. --[ Reason ]-------------------------------------------------- The order they appear in are used in some emulators and games to define the order they should be used.For example, the top one in the list is Joy1. Second one Joy2 etc. Problem here is threefold.1: The list is not always the same after a restart so you have to remap all your controllers in the emulatorsthat use this setup.2: If you plug in another controller, it will (most of the time) not go to the end of the list but in themiddle somewhere, messing up the order of the other controllers.3: Even if everything is as you think it should be, your first joystick might be called Joy3 in thegames/emulators and it just looks ugly =) --[ Usage ]--------------------------------------------------- Connect all the controllers that you want to have a permanent location in the list.Run "Tur-Game_Controller_Order.exe" as administrator and it will list all the controllers and askyou, one by one which location it should have in the list (basically, where you want it to appear. 1 = top) That will create a Settings.ini file. If that file exists the next time you run it, it will simplygo through the controllers and reorder them, silently. Remove or rename Settings.ini to get it to runagain. You can also create more then one Settings.ini file if you have different setups. Simply specify which.ini file it should work with when running it, for example "Tur-Game_Controller_Order.exe Settings2.ini" By default, when you run it with a Settings.ini present, it will just run once and exit, but you can haveit running all the time, checking the order every few seconds or so. This is good if you have some controllersplugged in some of the time but want to be able to plug in others without them appearing in the middle of thelist. Edit Settings.ini and change DaemonMode=False to True.DaemonModeDelay= is how many seconds to wait between each check. 5-10 seconds is a good value IMO. --[ Notes for BlissBox users ]-------------------------------- If you own a BlissBox you must update the firmware first so the ports get unique HIDs and names.See here: http://atarigalore.wix.com/4playThey should appear as 4-Play_port1 to port4 (at least at the time of writing. As long as they are uniqueits OK.) --[ Limitations ]--------------------------------------------- One big limitation is this. Say you have 3 controllers connected that are Joy1, Joy2 and Joy3 in theemulators/games. If you unplug the first controller in the list (Joy1), the others will shift up and Joy2will become Joy1 etc. There is no way around that at the moment, except for creating a dummy Joy1 controllerto put at the top of the list. I have yet to figure that one out easely.Always keep your permanetly connected controllers at the top of the list to overcome this. --[ Other hints ]--------------------------------------------- You must set UAC to "Never Notify" if you want this program to run on startup automatically as itsrunning as a local administrator. You also can not just make a shortcut to your Startup folder for itas windows will not allow it. In the "Extras" folder you'll find a small VBS script that just runs itfrom the same location as the exe, so copy the VBS to where you have Tur-Game_Controller_Order.exeand make a shortcut to the VBS file to your Startup folder in Windows. Any controllers connected that are NOT in the Settings.ini file when you run it will automatically goto the end of the list. I include a program called "List_Controllers.exe" as well. This only lists all the connected controllersand the HID for it. You can use this if you want to add a controller to an already existing Settings.inifile. Just copy the HID shown into Settings.ini. When manually editing Settings.ini, make sure the ports start with Port1, Port2 and there are no gaps in thenumbering. Click here to download this file Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
ChrisKant Posted February 23, 2016 Posted February 23, 2016 That Sounds awesome. Hopefully this will Solve my Problems with the joyIDs on Windows 10[emoji5]
JayC Posted February 23, 2016 Posted February 23, 2016 Sounds great! I have always had problems with controller mapping in xpadder when I have 2 usb nes controllers always connected and a two DS3 contorllers that always get mapped as controller #1 when I power it on.
Turranius Posted February 23, 2016 Author Posted February 23, 2016 It works just fine =). Just plug in any controllers you want to use and let it run for the first time (No Settings.ini file exists) so you can define where you want your joysticks. Of course, if you have, for example, Controller 1 Controller 2 Controller 3 in your Game Controllers list and unplug Controller 1, Controller 2 will become Joy1 instead of Joy2. The only way to solve that would be to create a fake "Controller 1" joystick to take the place of the one you disconnected, but I've yet to find out how to do that... As far as the "Windows 10 puts the controllers in random order on each startup" problem, that seems to be solved in the big update last year that brought Windows 10 to Version 1511 (Check winver) but I've yet to verify that 100% yet. Also, this program only sorts the controllers when you run it right now. I'm playing with letting it run all the time and every <definable> seconds, check if any game controllers have been plugged in or out. If it has, run the reordering again. That way, if you have permanent joysticks connected and plug in or out anything else, they will never take the spot of the joysticks that you have defined in Settings.ini. That is, without having to rerun the program again (which you'd have to do with 1.4) Hope I can get that into 1.5 =) Example config for next version (hopefully) [Game Ports] Port1=VID_16D0&PID_0A60&COL01 Port2=VID_16D0&PID_0A61&COL01 Port3=VID_16D0&PID_0A62&COL01 Port4=VID_16D0&PID_0A63&COL01 Port5=VID_046D&PID_C218 [Daemon Settings] DaemonMode=FALSE DaemonModeDelay=10 Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
Turranius Posted February 24, 2016 Author Posted February 24, 2016 Got a 1.5 beta 1 if anyone care to test it. When creating the Settings.ini, it will add the new daemon mode settings. Its False by default so just change to True to try that.http://grandis.nu:81/software/Tur-Game_Controller_Order/Beta Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
Turranius Posted February 27, 2016 Author Posted February 27, 2016 Not much response, so I guess 1.5 is either working fine or nobody cares =) Here it is in any case. Edit: Grab 1.5 again if you were quick. Sneaky little update... Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
mikty Posted February 27, 2016 Posted February 27, 2016 sorry, I would like to test it surely but i need to reinstall my htpc before. thank you for your work
Turranius Posted February 27, 2016 Author Posted February 27, 2016 Hehe, thats OK. No rush. I fixed a little more errors that crept into version 1.5, so if you've downloaded it already, check the .exe properties and make sure the File version is 1.5.0.3. Download again if not. No big things so you'll probably not notice anyway, but still. Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
mikty Posted February 27, 2016 Posted February 27, 2016 thanks a lot, i hope I could use it in the next 3 weeks
Turranius Posted March 2, 2016 Author Posted March 2, 2016 I made a sneak update to 1.5 again. I just added a small VBS file that runs the exe file. If you plan on having it autostart with windows, you need to run the VBS file instead of the exe directly as Windows does no allow you to run programs "as administrator" in the windows startup... Readme updated You must set UAC to "Never Notify" if you want this program to run on startup automatically as itsrunning as a local administrator. You also can not just make a shortcut to your Startup folder for itas windows will not allow it. In the "Extras" folder you'll find a small VBS script that just runs itfrom the same location as the exe, so copy the VBS to where you have Tur-Game_Controller_Order.exeand make a shortcut to the VBS file to your Startup folder in Windows. Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
mikty Posted March 2, 2016 Posted March 2, 2016 I made a sneak update to 1.5 again. I just added a small VBS file that runs the exe file. If you plan on having it autostart with windows, you need to run the VBS file instead of the exe directly as Windows does no allow you to run programs "as administrator" in the windows startup... Readme updated thanks for the tip. i hope my system will be ok soon
maks Posted June 23, 2016 Posted June 23, 2016 Hello Turranius. I've been using this and your Tur-matcher program for the last couple weeks. Great stuff. I do have a couple issues to report. 1. Controllers are not enabled until maybe 1minute after power on. My computer boots in 8 seconds so it is quite a wait. 2. The controller order still gets switched around for me randomly every few power cycles. I noticed your config file names my controllers as follows... @USB\VID_045E&PID_028E&IG_00 @USB\VID_045E&PID_028E&IG_03 I don't know what the 'IG_00' portion refers to and was wondering if its possible that it gets switched around? Below is another unique ID for my controllers which always stays static. I think they are parent IDs, or bus ids...I don't have my computer in front of me to check. Would these work instead? I tried manually editing your config file but it still switched my controller order so im not sure if that simple config edit is supposed to work. @USB\VID_045E&PID_028E\0D7539E @USB\VID_045E&PID_028E\0D75227 My setup: *Windows 8.1 *SSD hard drive *Two xbox 360 wired controllers
Turranius Posted June 23, 2016 Author Posted June 23, 2016 Thanks for the feedback! 1: Hm, There are no delays in the startup of the program. There is a delay in daemon mode of course (since you can specify this in the ini file), but it still does one check at startup... No idea right now to be honest. Does it start and just sit there for a minute at boot? You say "Controllers are not enabled", but do you mean "Controllers are not reordered"? It does not enable/disable controllers. If you do not see your controllers within the first minute of startup, it has nothing to do with this program =) Are any of your harddrives powered down during boot? I've noticed that the rescanning of hardware that the devcon program uses sometimes halt while it powers on all the powered down harddrives, which takes a few seconds longer. 2: That is strange. Not noticed it myself but I do not have xbox360 controllers. Yes, just changing the Settings.ini should be all you need. In either case, if you want to use other values then the ones the program finds automatically, you'll need to follow the section in the readme for setting up your own settings.ini. Look for "Manual creation of Settings.ini (advanced)" Basically, when running "devcon64 status *game*", you need to find something unique in the output to use for each controller. Hopefully it shows @USB\VID_045E&PID_028E\0D7539E or the other which you know are unique. If it does not, then devcon does not see those values and can't use them.. I am forced to use what devcon provides. But try reading the Readme for that section and it should be pretty self explaining. Regarding what IG_00 refers to, that is what the program read when running "devcon64 status *game*" for the first time so I guess you will see the same thing when running it manually... Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
Turranius Posted June 24, 2016 Author Posted June 24, 2016 While playing around with it today and rewriting some parts, I noticed that some controllers does not reappear when I issue a rescan from devcon. Seems some controllers require a restart when removed. This is my Saitek X52 Pro Flight Control System. devcon64.exe remove "*VID_06A3&PID_0762*" HID\VID_06A3&PID_0762\6&27412FC9&7&0000 : Removed on reboot USB\VID_06A3&PID_0762\5&DC4A972&0&5 : Removed on reboot The 2 device(s) are ready to be removed. To remove the devices, reboot the system. I actually have to disconnect it and reconnect it for it to come back, or restart.My "Controller (Xbox One For Windows)" controller does not say it needs a reboot, but it still does not come back on a rescan. devcon64.exe remove "*VID_045E&PID_02FF*" HID\VID_045E&PID_02FF&IG_00\7&2B4916A7&3&0000 : Removed USB\VID_045E&PID_02FF&IG_00\00&00&00006B65CA8BED7E : Removed 2 device(s) were removed. The Logitech Rumblepad 2 USB controller and the 4 ports on the Blissbox does come back as they should on a remove and rescan. Also PS3 controllers works fine.This causes a whole new load of headache for this program. If you have a controller connected that does not like to come back after being removed and hardware re-scanned, you can not use this program at all. Very annoying. I might have to put i a little test procedure the first time you run it to remove all ports and add them all back to make sure your controllers are compatible. Feels like I should just toss it in the trash though. I'm too dependent on what Microsoft's devcon command can do. The only reason I wrote this crap was because I noticed I could rearrange the controllers order by removing them and re-scanning hardware with devcon.. Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
Turranius Posted June 24, 2016 Author Posted June 24, 2016 I've put 1.6 in the beta folder ( http://grandis.nu:81/software/Tur-Game_Controller_Order/Beta ). On first run, it will verify that it can remove and readd all controllers. It also allows you to specify your own HID etc during setup and is a bit more explained on how you can test this yourself. Also, if it can not find a name for a controller in the registry, it will now use the name that the devcon command uses (which is usually not the same as is displayed in the Game Controllers window). Looks a lot better then "Unknown" which is was previously called. Mame related stuff: FTP: grandis.nu, port 21, user:misc, pass:misc http://grandis.nu/software Tur-Matcher - Match your roms/media/XML files. Another Idle Volume Adjuster - Automatically control the volume. How to: Use MAME Extras as material for HyperPause How to: Use eXoDOS 2.0 as material for HyperPause
Bish777 Posted October 23, 2018 Posted October 23, 2018 Ninja2bceen just posted a good walk through of your program.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.