Idea to make Xbox 360 controllers enumerate in correct order #267
leecyrille
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Maybe ViGEm can create multiple players in the correct order if all are disconnected for 10 seconds, and then started sequentially with a delay.
Xbox 360 controllers can be added in a specific order if they are all disconnected first. I have done this at the hardware level using an arduino to kill power to 4 separate arduino xinput encoders on my arcade machine. It works as follows:
Hit button to set 4 players>
Turn off all 4 players
wait 10 seconds
turn on player 1
wait 2 seconds
turn on player 2
wait 2 seconds
turn on player 3
wait 2 seconds
turn on player 4
I found a delay is required to allow windows to forget the previous order of controllers. If you connect them again too quickly they will remember previous positions. The amount of time required for turning them all off (10 seconds) seems to be somewhat intermittent. The 2 seconds between players being plugged in was also somewhat intermittent, but this may be due to my Arduino Bootloaders running before switching to xinput mode. I suspect If this were implemented in software instead of hardware with Arduinos (which also must run through a bootloader delay), the timing could be tightened up. The 10 and 2 seconds used right now seems to work 99% of the time for me.
I don't have much experience programming outside of Arduino and PLCs, but I would love to dig around in this if anyone could even point me in a direction.
My code from Arduino with outputs wired to reset pins of 4 other arduinos to turn them off:
Beta Was this translation helpful? Give feedback.
All reactions