JS0 assignment
-
@fdrslegs said in JS0 assignment:
Is there a why to specifically assign a controller to be JS0 and 1 respectively
js number assignments happen at a system level and I believe are set based on USB port order. If you haven't already, you might try plugging you first controller in the top left port, followed by the second controller in the bottom left.
-
@mediamogul the usb order is the norm in most cases. I have three different controllers hooked up. One of them is an adapter that i want to be controller 0. No matter what it wont be. In emulationstation i can have it show up as js0 based on usb port. But not anywhere else. Everything else sees it as js2 no matter what.
Edit: after spending like the last hour trying to figure this out it was because the autosense mode was taking too long. I switched it to force genesis mode and to boots as js0. So linux itself cares about usb order but if one boots too slow linux will assign it to the next controller. Emulationstation just cares about the usb port only.
-
Hah! ...and if all that wasn't bad enough, a lot of the software completely ignores the jsX assignments in favor of joystick event order. All this combined is why I tend to favor key-mapping a controller above anything else. Seeing as how everything responds to a keyboard, it ends up being the only thing you can truly set your watch by.
-
@mediamogul so this adapter has an auto sense which has to have you tell it what controller it is by holding down a specific button on that controller on the first 3 seconds of usb boot up and it sets it to that controller. If it is set to a controller you dont have to do anything until you need a different controller. Then you have to hold down that controllers specific controller button on boot to change it. However, if you dont have the correct controller detected on boot then it will default to a coleco controller. I just tested and if i hold down the start button on my genesis controller (its button used to set it to genesis mode) while booting it detects as js0 in linux.
-
@fdrslegs Something i just realized you said. You dont press the "a" button. You press whichever button is button 0 on your controller.
-
What kind of adapter is it? I feel like maybe you've mentioned it in the past, but I can't remember.
-
@mediamogul this one is the vision-daptor. Like the 2600-daptor but for a lot of systems controllers. Its the single player one. The ultimate pc interface has 2 ports and can do a lot more. I dont have a upci anymore to test. I built my buddy a sweet ass new pc inside a 2600 and i gave him my upci adapter and wired it to the controller ports on the 2600. It came out really really good.
-
Nice!
-
@edmaul69 i read I believe in the wiki that this is true for the controller that is set to JS0. I've run jstest on my controller and found which button was zero and it still won't work.
I've also tried the port the USB cable is plugged into, however, I'm using it on Bluetooth. Could the Bluetooth itself be switching JS assignment ?
Edit: I do have the cable plugged into the top left port charging purposes, could this be the issue? Also, now when I connect my PS3 controller when I first boot up, my controller shows me I'm player 2 and after another reboot it's now showing player 3.
Do PS3 controllers just suck for this and I should use a different brand?
-
@fdrslegs if you have more than one controller, a wireless ps3 controller will always show up as the last controller. Luckily the joystick selection runcommand (if you install from retropie setup) allows you to set it as the first controller for retroarch emulators. (Wont set up as first controller for the menu) Many other emulators let you select what controller you want so it has never been much of an issue for me. You can use a keyboard and press x or m when it says press a button. Forget which one as i think now you can hit any key on the keyboard.
-
@edmaul69 is this what you are talking about ?
If so, I'll give this a go!
https://retropie.org.uk/forum/topic/1167/here-is-a-way-to-select-joystick-for-players-1-4-global-or-emu-specific/1 -
@fdrslegs yes. If you use that you can set the ps3 controller to player 1 for all retroarch emulaters.
-
@edmaul69 Sweet, I was looking for something like this before. After some testing I have noticed something. When turning on the Pi or rebooting it with cables plugged in for different controllers, I can have them set in their respective ports 0,1,2 etc and my PS3 controller will not become JS0 it will become whatever light is shown on the PS3 controller i.e. JS1 it will be player 1 on the controller light.
If I reboot and unplug every wire so the USB ports are empty and connect it to blue tooth as it's booting, my controller blinks for a bit then stops and shows no lights. I've had this happen before on macs and the controller still works even though it's not indicating a "player." When the controller is like this it is JS0.
So it appears that if you want your PS3 controller to be JS0 and not JS1-4 potentially, you need to connect it as it's booting through bluetooth with nothing else plugged in the USB ports.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.