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