pioneerspacesim / pioneer

A game of lonely space adventure

Home Page:https://pioneerspacesim.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logitech/Saitek X-56 - need to filter out Button 33/34/35 or handle multi-button differently

kmunoz opened this issue · comments

Observed behaviour

Logitech/Saitek X-56 HOTAS devices (the throttle specifically) send a constant Button 33 press as part of the management of control sets. (Button 33 gets sent if the throttle is set to M1. M2 = Button 34, M3 = Button 35.) This does not interfere with setting up an axis, but it does create problems for setting up a button. Currently, when assigning a control (like Primary Fire), Pioneer reads Button 33 (or 34 or 35) always, then adds whatever button you intentionally depress on the X-56, and then also adds the left mouse button that you use when you click OK.

Expected behaviour

Pioneer should detect Button 33/34/35 and either ignore it or modify its multi-button assignment method so that the left mouse button click to OK the assignment does not get added to the end.

Steps to reproduce

Plug in a Logitech or Saitek X-56 and try to assign buttons.

My pioneer version (and OS):
20240203 Windows

My output.txt (required) and game save (optional, but recommended)

output.txt

Wouldn't it be an overkill to ignore button 33-35 beause of one hardware using them in this peculiar manner? I don't know if there are many joysticks with that many buttons, but it can easily happen with vjoy for example.

As a workaround you could either edit the bindings by hand in config.ini, or use Joystick Gremlin to get around the issue. Or maybe there's a setting for this in the joystick's driver? Are you runnig into the same issue with other games as well?

Wouldn't it be an overkill to ignore button 33-35 because of one hardware using them in this peculiar manner? I don't know if there are many joysticks with that many buttons, but it can easily happen with vjoy for example.

As a workaround you could either edit the bindings by hand in config.ini, or use Joystick Gremlin to get around the issue. Or maybe there's a setting for this in the joystick's driver? Are you running into the same issue with other games as well?

I've run into this issue with at least 2 other games, but most are able to handle the mode buttons. Both of those devs eventually found solutions but I don't know exactly what they were. (Specifically, it was Infinity: Battlescape and SpaceBourne 2. Both games now properly handle this HOTAS.)

There is no setting for this in the joystick's driver.

I think the more generalizable problem is how Pioneer handles any multiple button combos. From what I can see, the configuration screen is able to ignore the mouse click needed to click OK if only one button is pressed, but if more than one button is pressed, the configurator treats the mouse click as a third button press to add to the keybind. There is no way to save the keybind without including the mouse click.

If Pioneer could ignore the mouse click on a multi-button keybind in the same way that it does for a single-button keybind, that would resolve this issue. Alternatively, a checkbox could be included for "ignore mouse click" so that if a player does actually want the mouse click to be included in a multi-button keybind, the configurator would permit it when the ignore checkbox was off.