It's an undocumented feature of xinput, and i was not skilled enough to implement this directly in C# (if someone read this, and have the skill to do it, i would love to have a POC) XinputEx.dll is a dll i make from some C++ code to get some extra info about xinput devices, the ProductID and VendorID. I could probably make an option to have some timer on boot to reassign player number (like 5 seconds on start when you press start on the controller you want as P1) but that's not my priority right now.įor the second point, that's really annoying. If you plug your wheel as xinput 3 and the game have wheel support, it will just use your wheel regardless of the xinput number. So, if you have two gamepad, one in xinput 1, and one in xinput 2, if you disconnect the gamepad 1, it will use the xinput2 as player 1. Then, i take arcade stick as priority (if there is an arcade layout available for the game)Īnd for each of them, i take the first available xinput slot. If the game have wheel layout, i take wheel as priority, regardless of their xinput number. Right now I had two controllers, 1)arcadestick 2) joypad, both are seen as xinput by windowsįor the first point, in my app i do not simply take Xinput1 = player1, i use a priority order. Now we come to my real problem, if I click on 'Show Xinput Devices Data' it gives me this error : For example, if I disconnect player 1 and end up with only one xbox360 joypad connected, and windows doesn't assign the correct id1 but keeps the id2, launchbox should also see only one joypad connected but marked as player2, and at this point one can know in advance what to do before starting the game. If Launchbox with a plugin would detect the controller ide, that would be great, so that a person could see which player is connected. Windows always assigns an id number to the connected xinput controller, often even if you disconnect the first controller, it doesn't turn the second controller into id number 1, sometimes it does, sometimes it doesn't, so you are forced to disconnect them all and reconnect them, and then start the game. There has already been one person who has started to do this, unfortunately it is not yet completed, have a look here if you think it might be an idea to create an un plugin for launchbox It would be nice to have a test of the controllers directly in launchbox, that way a person can start teknoparrot safely by choosing the correct controller. I have several xinput controllers, considering that windows often keeps the controller position in memory even if you disconnect it, I often have to disconnect all of them in order to get back to the correct player 1. TeknoparrotAutoXinput_alpha_v0.08.zip Edited January 11 by Nixx You are very good, congratulations nice work. Supported game list can be listed here : I will make a command line argument later. To differentiate between gamepad and arcade stick, i use the Arcade xinput subtype, but some arcade stick just mimic a 360 controller, so i will not be able to determine that's an arcade stick. The launcher will not mess with your existing config, your xml file in UserProfile will never be altered, it's a new one that's created. The option, to enable Binding to Test, Service1, Service2 needs ViGEm Bus Driver ( ) because to make it work, i create a virtual 360 controller that i bind to keyboard keys. This will maybe change in the future where some options will be set, but for now, i only focus on the controller settings. The app will manage the controller setup, not the game settings ! Be sure the game is able to run and configured as xinput. 1- Run the exe, it will popup the config.Ģ- You can now just run something like TeknoparrotAutoXinput.exe "C:\teknoparrot\UserProfiles\Daytona3.xml" and that's it.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |