Search Issue Tracker

Feature Request

Votes

0

Found in [Package]

1.4.2

Issue ID

ISXB-299

Regression

No

Input System not recognizing HOTAS arrangements as seperate inputs

Package: Input System

-

Under the new Input System, there is an interactive rebind demo. That rebind demo button uses RebindActionUI, which then uses InputActionRebindingExtensions. If user uses a controller setup like a 2x USB HOTAS (Logitech X56), The stick and throttle both have the same input axis name, and they both are discovered by the Input System as <Joystick>. Because of this, InputActionRebindExtensions finds the controller, but then incorrectly writes the path to the Joystick, not the throttle, doubling the input to throttle and joystick concurrently.

Steps:
# Connect Logitech HOTAS X56 or any other dual-usb HOTAS to computer
# Open user’s attached project “UnityRaymarching-master.zip”
# Enter Play mode
# Click to bind “Move” and move Logitech HOTAS stick
# Click to bind “Look” and move Logitech HOTAS throttle

Expected: InputSystem binds different names for different axis and names are different.

Actual: InputSystem binds the same name for both stick and throttle.

 

Workarounds:

Option 1:
# Copy Input system package to Assets folder
# In _InputActionRebindingExtensions.cs_ comment out lines “{_}path = GeneratePathForControl(selectedControl);{_}"

Option 2:
# Use .WithoutGeneralizingPathOfSelectedControl() 

 

Reproduced with: Input System 1.4.2 (2020.3.39f1, 2021.3.10f1, 2022.1.16f1, 2022.2.0b8, 2023.1.0a10).

Tested with: Windows 10, Logitech HOTAS X56.

  1. Resolution Note:

    This needs us to write specific support for hotas controllers

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.