nefarius / XInputHooker

XInput reverse-engineering tools and documentation
MIT License
31 stars 7 forks source link

Heh. I found a way how to make Xbox360 Gamepad's LT and RT separate axis via HID API! #10

Closed nefarius closed 3 months ago

nefarius commented 3 months ago
          Heh. I found a way how to make Xbox360 Gamepad's LT and RT separate axis via HID API!

There is xusb22 driver option for that:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\xusb22\Parameters]
"GamepadTriggerUsage"=dword:00003532
"GamepadStickUsage"=dword:31303433

Make it report LT/RT on Rx/Ry (0x33/0x34 usage) and RStick on Z/Rz (0x32/0x35 usage) HID Axis - just like DualShock4

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\xusb22\Parameters]
"GamepadTriggerUsage"=dword:00003334
"GamepadStickUsage"=dword:31303532

char __fastcall XenonBusInformation::Initialize(XenonBusInformation *this, struct WDFDRIVER__ *a2, struct WDFDEVICE__ *a3) image

HidGamepad *__fastcall HidGamepad::HidGamepad(HidGamepad *this, GamepadInformation *a2) image

__int64 __fastcall HidGamepad::GetHidDescriptor(HidGamepad *this, unsigned __int8 *outBuf, unsigned __int16 outSize) image

image

Originally posted by @DJm00n in https://github.com/nefarius/ViGEmBus/issues/40#issuecomment-619889180

nefarius commented 3 months ago

Copied over here for reference.