mirror of
https://github.com/ARMSX2/ARMSX3.git
synced 2026-08-24 16:58:52 -07:00
Rumble always went to the phone's own motor: the vibrator lookup asked the system service and never considered the connected pad. On a handheld that is the wrong motor outright, and on a phone-plus-controller setup it buzzes the device sitting in a dock while the pad in hand stays still. Prefer the first connected gamepad or joystick reporting a working motor, falling back to the phone. The target is resolved per state change rather than cached for the pump's lifetime, so connecting or disconnecting a pad mid-session moves rumble with it; the motor that was last started is tracked separately so unplugging mid-rumble cannot leave one buzzing. Add a 'Vibrate the phone' toggle gating only that fallback, so playing on a pad need not mean the phone rumbles along with it. Touch haptics stay on the phone deliberately -- the finger is on the phone's screen. Closes #89