Forums » Windows

Selecting joy1 and using it ?

Nov 03, 2024 Captain86 link
I've read the pinned post about dual joysticks etc.

The joy1 gets demoted to joy0 as expected but as soon as I plugin another device it demotes back to joy1 again and the new device becomes joy0.

Not really what I expected.

NOTE: I'm only trying this because I want to select a single joystick to use but after I bind things and dock again then that selection does not remain but joy0 becomes the selection as soon as I launch again.

It is strange IMO.
Nov 03, 2024 Luxen link
I mean, that post basically says "don't plug in joysticks WHILE the game is running" and I agree with that. Unless i'm not understanding something here?

Also, what joysticks are you using?
Nov 04, 2024 Captain86 link
It literaly says:
You can replicate this by doing the following:

So it's directing you to attempt to configure the assignment while the game is running and while the joystick tab is open etc.

I don't intent to plug and unplug things but I'm attempting to plug them in and assign my joystick as joy0 in order to keep it that way.

However, this doesn't work with a joystick and logitech wheel. Everytime I plug the wheel back in it takes over joy0 and demotes the joystick that is joy0 back to joy1.

I really can't explain it any simpler and not sure what the solution is other then to keep the logitech wheel unplugged while playing vendetta.

Or some suggested editing files and if no other choice then I guess I will toy around with it, but I didn't really want to mess with anything and hoped to just plug everything in and make my selection of whatever device I want to use.
Nov 05, 2024 incarnate link
I'm not really understanding the problem, I guess?

If you have multiple devices plugged in, no matter what they're assigned to ("joy1" or "joy0" or whatever), as long as that device name is static, you should be able to choose and select it in the game's input configuration.

The "problems" I related in that other thread were related to people dynamically unplugging and re-plugging and changing USB ports and other things and expecting their configuration to somehow stay "static".

As far as I know, if you can get Windows to present a "static" list of input devices (Wheel vs Joystick), with their associated naming assignments, I think you should be able to choose which one you want within the game.

You probably can do more hacking around with the config file directly, because the game UI is a pain in the ass. I.. don't remember how I did the thing with the dual sticks, that was awhile ago. I might have been editing the config manually.

But, the game should be able to technically deal with a fixed device-name (joy0, joy1) just fine, once it is configured properly.

However, the game has no control whatsoever over those naming assignments, or whether Windows chooses to change them (re-order them, whatever). So, if your device is NOT static in its naming, and is swapping device-names around randomly, then yes.. you may need to unplug one of them. But that's not really the game's fault.

Joysticks are a bit of a trainwreck (in general). There is no real standardized API, no "standard" at all. It's just a wild-west free-for-all of weird crap made by a zillion electronics companies over 40 years, and Microsoft kind of "phoning it in" on how software can access the devices.
Nov 08, 2024 Captain86 link
Thanks for the reply,

I read this thread because it was pinned and seemed related at the time, but I guess not really after further review.

I don't unplug things, but was sort of hoping to make the joystick binds for that device persitent.
They seem to get lost or reset somehow when I launch or restarting the game.

I'll try unplugging everything but the 3 game devices and toy with that a bit first and see.
Thanks
Nov 10, 2024 incarnate link
I don't unplug things, but was sort of hoping to make the joystick binds for that device persitent.
They seem to get lost or reset somehow when I launch or restarting the game.


We occasionally hear this from people, and it would be really useful if you could post your exact hardware where you're seeing this (specific input devices, what hardware/firmware revision if possible, what driver versions, what Windows OS version, etc).

I haven't been able to create a case (internally, in testing) where the game loses joystick binds without Windows itself remapping the device onto a different device ID, which is usually caused by unplugging devices or some other activity that results in internal (or external) USB hubs being reinitialized (rebooting, etc).

Here's a question from Microsoft's forums on the exact type of problem.

"Windows will randomly reassign the joystick IDs even if I don't unplug any USB devices. This forces me to reconfigure controls for about five different programs. Is there a way to set permanent Joystick IDs in Windows 10? Or to change ID assignments after startup?"

To which they receive the response:

You cannot assign permanent ID’s for Joystick in windows 10, windows will automatically assign ID’s for Joystick.

There are also a lot of discussions on Reddit (here, and here, and here) about the same issue, relating to Star Citizen. Some of those people appear to use various third-party software and tools and techniques to remap joystick IDs and try to keep their order consistent.

People have historically gotten really upset at us about their joystick bindings being lost, but we have yet to come up a concrete, universal solution to this (it shouldn't be something we "have" to fix, it should be built into the OS, but obviously that's not the case).

We don't have a robust way to generate a unique device ID of our own for a joystick, especially given the cases when people are using multiple of the same joystick (as in the pinned thread mentioned above). So, we cannot differentiate between the "physically Left joystick" and the "physically Right joystick", when Windows is flipping their order and we don't have enough low-level device access to get anything unique about them (like a serial number or whatever). There may be some hacky way of doing this with USB HID, effectively writing our own USB driver for some aspects; but not with the standard Microsoft joystick API (at least, that we're aware of?).

This problem plagues HOTAS users and.. I don't have a solution. So, more information on your specific case is helpful, if it sheds light on cases where Windows is re-ordering devices across multiple game runtimes, even within a single boot.