USB: Add Hori FlightStick controller emulation#13636
USB: Add Hori FlightStick controller emulation#13636sonik-br wants to merge 1 commit intoPCSX2:masterfrom
Conversation
| case FLIGHTSTICK_FS2: | ||
| { | ||
| //interrupt input data | ||
| FlightStickConData out = {}; |
There was a problem hiding this comment.
You can store FlightStickConData_VR00 vendordata_00{};, FlightStickConData_VR01 vendordata_01{}; and FlightStickConData out{}; in FlightStickDeviceState and then update these structures directly from SetBindingValue to avoid making the fourth copy of the same data.
| { | ||
| FLIGHTSTICK_FS1, // HP2-13 (FlightStick) | ||
| FLIGHTSTICK_FS2, // HP2-217 (FlightStick 2) | ||
| FLIGHTSTICK_COUNT, |
There was a problem hiding this comment.
FLIGHTSTICK_COUNT is unused
|
@Florin9doi On a related note, I've started to implement Logitech Flight Force too. Makes sense to move the hori flight stick to that same file? Or keep it separated? For the logitech ffb one, I've added more input bindings here: Appended to the end to not break existing input map. |
You can move ParseFFData from PadState to FFDevice and use it from usb-flightstick.cpp |
|
@Florin9doi FFB is untested. |
| SettingInfo::Type::IntegerList, // type | ||
| "Mode", // name | ||
| TRANSLATE_NOOP("USB", "Mode switch"), // display name | ||
| TRANSLATE_NOOP("USB", "Set the stick mode switch position"), // description |
There was a problem hiding this comment.
| SettingInfo::Type::IntegerList, // type | |
| "Mode", // name | |
| TRANSLATE_NOOP("USB", "Mode switch"), // display name | |
| TRANSLATE_NOOP("USB", "Set the stick mode switch position"), // description | |
| .type = SettingInfo::Type::IntegerList, | |
| .name = "Mode", | |
| .display_name = TRANSLATE_NOOP("USB", "Mode switch"), | |
| .description = TRANSLATE_NOOP("USB", "Set the stick mode switch position"), | |
| (...) |
Description of Changes
Emulates the two models of Hori Flight Stick controllers, HP2-13 and HP2-217.

Rationale behind Changes
Provides a standardized way to play supported games using a FlightStick or HOTAS device.
I believe some games will not apply any dead zone when the input device is a FlightStick, as opposed to a standard DualShock2.
HP2-217 features rumble and more buttons than HP2-13.
HP2-217 should be compatible with any game that supports HP2-13. Hori listed it as being backwards compatible.
Suggested Testing Steps
Test in some compatible games:
Did you use AI to help find, test, or implement this issue or feature?
No