github chasem-dev/sms-launcher android-pr-107-v14
Android ARM64 tester v14: controller and keyboard input monitor

pre-release2 hours ago

Android tester v14 adds Input test (controllers and keyboards) under Saves and diagnostics. Use it to investigate the generic controller/C3tech adapter's no-input report and wireless keyboard input before changing game mappings.

The landscape screen shows connected Android input devices with names, VID/PID, sources and axis ranges, plus USB enumeration. It displays key/button down/up/repeats, unknown-key scan codes, modifiers, held keys and stick/trigger/hat axes. Both panes scroll. Hotplug refreshes Android devices; Refresh also updates USB-only adapters. Clear resets the sample, Done returns to the launcher, and controller Back/B is captured instead of navigating away. Android system Back exits.

Test and export:

  1. Confirm footer 0.1.57-android-preview.14 / Android version code 15714.
  2. Open Input test (controllers and keyboards). Connect the adapter/controller or wireless keyboard; press Refresh.
  3. Press/release buttons and keys, move both sticks and triggers. Look for live input and the device's name/source list.
  4. Choose Export to save sunshine-input.log, including build/phone/device metadata and the last 256 events. This distinguishes an adapter not exposed as an Android input device from one producing events that the game does not map. The monitor does not guess or fix an unknown layout.

Capture/listeners run only while the test screen is active. Held state clears on focus loss/disconnect/pause. Motion history is rate-limited while live axes remain current; history is bounded. Export uses the Android document picker and background IO. No new permissions, USB device opening or background key monitoring.

Validation: Android debug/release builds, launcher host tests 228/228 and pure-Java input-history checks passed (independent devices/scan codes, key release, disconnect, motion state/throttling, bounded history, focus loss and clear). APK monitor activity/version/source strings, signature, ARM64-only packaging, 16 KiB ELF/APK alignment and no ROM/save/self-test payload verified.

No Android runtime/container/emulator test was run, as requested. Actual UI, C3tech/wireless keyboard events, hotplug and document export need a physical tester. This is diagnostic support; controller compatibility is not yet confirmed. The native game is the v13 revision, with its existing widescreen/pacing work.

Install over v13 with the same development signing key to keep disc/save data. Uninstalling removes both; export saves first. Android 10+, ARM64, GLES 3.1+; no game data bundled. Separate prerelease; no merge or desktop Stable/Beta changes.

Sources: launcher 00b55baede6bd41f8b43e977a5da0d3529332fdf, game 5bcba187aecb39a0406b333bd386a9bb1e3b3ece. Launcher branch pushed; native branch remains current. Companion PRs #107 and chasem-dev/sms-pc-port#98.

Native libraries are byte-identical to v13.

SHA256: 564d27ccc8be25714375f22ef2f9123fffa1ec5d509593ca0697b3a902bf6ecf

Don't miss a new sms-launcher release

NewReleases is sending notifications on new releases.