You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// - **Samsung Galaxy S9 / S8 / Xiaomi Mi Note2**: remapped buttons (e.g., L1 → Y, R1 → Z)
173
+
/// - **NVIDIA Shield Console**
174
+
/// - The L2 and R2 triggers generate both `AXIS_BRAKE` / `AXIS_GAS` and `AXIS_LTRIGGER` / `AXIS_RTRIGGER` events.
175
+
/// - On most Android phones, only `AXIS_BRAKE` and `AXIS_GAS` are reported; `AXIS_LTRIGGER` and `AXIS_RTRIGGER` are not invoked.
176
+
/// - For consistency across devices, triggers are therefore mapped exclusively to `AXIS_BRAKE` and `AXIS_GAS`.
177
+
/// - The Shield also reports `KEYCODE_BACK` instead of `KEYCODE_BUTTON_SELECT`, causing the **Options** (Xbox), **View** (DualShock), or **Select** buttons to be non-functional.
178
+
///
179
+
/// - **PS4 Controller Compatibility**
180
+
/// - Official PS4 controller support is available starting from **Android 10 and later**
/// - On older Android versions, driver implementations vary by manufacturer. Some vendors have partially fixed DualShock support in custom drivers, leading to inconsistent mappings.
183
+
///
184
+
/// - **Driver-Dependent Behavior**
185
+
/// - Gamepad mappings may differ even between devices running the *same Android version*.
186
+
/// - For example, on **Android 8.0**:
187
+
/// - **NVIDIA Shield Console:** buttons map correctly according to `AndroidGameControllerState` (e.g., `L1 → ButtonL1`, `R1 → ButtonR1`).
188
+
/// - **Samsung Galaxy S9 / S8** and **Xiaomi Mi Note2:** mappings are inconsistent (e.g., `L1 → ButtonY`, `R1 → ButtonZ`).
189
+
/// - These discrepancies stem from device-specific **driver differences**, not the Android OS itself.
181
190
///
182
191
/// Because mapping inconsistencies depend on vendor-specific drivers, it’s impractical to maintain per-device remaps.
0 commit comments