universal_gamepad 1.5.8
universal_gamepad: ^1.5.8 copied to clipboard
Cross-platform Flutter plugin providing unified gamepad input (connect/disconnect, buttons, axes, triggers).
1.5.8 #
- Web: fix broken web builds — the plugin's
WebGamepadclass was not reachable from the entry point declared inpubspec.yaml, soflutter build webfailed in consuming apps. The web entry point is nowuniversal_gamepad_web.dart. - Windows:
resume()now re-enumerates gamepads that stayed connected duringpause()(previously they were never re-detected until physically re-plugged). - Windows: fix a rare wedge where events sent before the window handle was captured were queued but never flushed.
- Android: holding a button no longer emits repeated
pressedevents (auto-repeat key events are filtered). - Android: process batched historical motion samples and apply the device-reported flat region (deadzone) to stick axes, per the Android game-controller guidance; trigger press threshold unified to 0.5 to match other platforms.
- Android: input events are no longer emitted for devices that fail the gamepad check; disconnect events now carry the real device name/vendor/product.
- Linux: Xbox-family controllers driven by
xpadno longer report the X and Y face buttons swapped (xpad maps them by label; PlayStation and spec-compliant drivers by location — detected via the sysfs driver link). - Linux: fix duplicate connect events when the Dart side subscribes right after startup, and stop invoking the engine callback while holding an internal lock.
- iOS: guard against duplicate connect notifications (matching macOS behavior).
- iOS/macOS: gamepad names now use the same precedence on both platforms (
vendorName, thenproductCategory); events already on the main thread are delivered without an extra runloop hop and can no longer hit a cancelled sink. - Removed the unconditional
dart:ioimport from the shared Dart code. - Podspec versions now track the package version.
1.5.7 #
- Fix Linux gamepad reconnect detection after controller sleep or disconnect.
1.5.6 #
- Add Android support for
pause()andresume()by detaching and reattaching native input listeners.