Bannerlator 2.9-pre1
Pre-releaseBannerlator 2.9-pre1 — test build
⚠️ This is a pre-release, not a stable buildIt exists so the two changes below can get real testing on real devices. Expect rough edges. The headline feature — the rebuilt virtual controls editor — is in-progress work from an open pull request that hasn't been merged or fully reviewed yet.
- Stable users are not affected.
2.8remains the Latest release; nobody is offered this unless they ask for it.- To get it in-app: Settings → enable "Include pre-releases" in the updater. Otherwise just sideload the APK below.
- If it misbehaves, install 2.8 back over the top. It's app-side only, so nothing about your containers is at risk either way.
- Please report what you find — that's the entire point of this build. Open an issue with logs where you can.
Like the last several releases this is entirely app-side — no ImageFS reinstall. Containers, themes, custom accent and per-game settings all carry over. Install straight over 2.8.
✨ What's in this build
🕹️ Virtual controls editor — rebuilt in Compose (in progress)
The whole on-screen controls editor has been rewritten, replacing the old Fragment/XML settings interface with a Compose one — and a large set of new capabilities along with it.
- New control types — Dynamic Stick, Mouse Area, Button Grid, Expandable Button, and an Android Keyboard control.
- A real editing UI — Compose toolbar, visual control-type picker, and a sliding settings panel that opens automatically when you add an element.
- Per-element tuning — dead zones for Stick / Dynamic Stick / D-Pad, sensitivity, hold bindings, detection-area styling and grid cell shapes.
- Better bindings — category-filtered binding selector, multi-key combos, binding presets, and custom icons.
- Control groups — name a group, toggle its visibility, and move its members together.
- Reference background images with adjustable opacity, so you can lay controls out against a screenshot of the actual game.
- Live in-game profile editing — adjust a profile without leaving the Wine session.
- Versioned ICPx import/export — embedded icons, legacy
.icpcompatibility, validation and atomic writes. - Input hardening — fixes for stuck and conflicting buttons, sticks, and duplicate bindings.
⚠️ This is the part that most needs testing. It is a very large change to the input system, it is not yet merged, and it has not had a full review. Please exercise your existing control profiles and report anything that regressed — especially profiles created in an older version.
This work is entirely by @arro000 in PR #156, published here as a test build so it can get device coverage before merge. Thank you.
🖱️ Cursor to Touch — fixed, and given real gestures
Cursor to Touch (in-game drawer → Controls → Mouse) moves the pointer to wherever your finger lands. Two long-standing bugs are fixed and the mode has been built out.
Fixes
- The toggle never showed as on. The chip stayed dark no matter how many times you tapped it, even though the mode was actually working — the drawer was reading a value nothing ever wrote to.
- The setting was silently lost on every launch. The preference persisted, but was never re-applied when the touchpad view was created, so it quietly reverted to off each session until you toggled it again.
- The three Mouse chips no longer close the drawer when tapped, so you can see the state change where you tapped it.
New gestures — shown under the toggle whenever Cursor to Touch is on, each independently switchable, applied instantly and saved:
- Drag to box-select — drag past the tap threshold and the left button is held while the cursor tracks your finger, giving you a real selection rectangle. This is what makes strategy, tactics and point-and-click games playable by touch.
- Hold for right click — hold in place and the right button fires where your finger is, with an adjustable 150–800 ms delay and a haptic tick so you can feel it land.
- Two-finger drag still scrolls the wheel, which in most strategy games is your camera zoom.
Gesture set modeled on the RTS touch controls in Producdevity/gamehub-lite #73 by @Nightwalker743 — the behaviour and thresholds are theirs; the implementation here is written against Bannerlator's own touch path. Thank you.
🐞 Known issues
- Occasional ANR ("Bannerlator isn't responding") during input. The UI thread can block on a socket write and stall touch delivery for 5+ seconds. This is pre-existing — it reproduces on 2.8 and earlier, and is not caused by anything new here — but you may well meet it while testing, so it's listed rather than left as a surprise. Reports with a timestamp are still useful.
- The virtual controls editor is unmerged, in-progress work. Treat anything it does as provisional.
📥 Downloads
| Variant | File |
|---|---|
| Standard | Bannerlator-2.9-pre1-standard.apk |
| PUBG | Bannerlator-2.9-pre1-pubg.apk |
| Ludashi | Bannerlator-2.9-pre1-ludashi.apk |
ℹ️ Updating in-app? Turn on "Include pre-releases" in the updater — without it you'll stay on 2.8. This build is entirely app-side: there's no ImageFS reinstall, and your containers, themes, accent, per-game settings and control colours all carry over. Install over 2.8.
🙏 Credits
- @arro000 — the entire virtual controls editor rebuild (#156): the Compose editor, the new control types, per-element tuning, control groups, background images, live in-game profile editing and the ICPx format. Published here as a test build with the work still in progress.
- @Nightwalker743 and Producdevity/gamehub-lite — the RTS touch-control design (#73) the Cursor to Touch gestures follow.
- Everything 2.8 stands on — full credits in the 2.8 release notes and the repo README.
🔗 Notes
2.8is still the Latest release. This pre-release is invisible to the default updater; only the "Include pre-releases" opt-in surfaces it.- Everything from 2.8 — gyro motion aim, the rebuilt Big Picture, PC-accurate vibration — is included here unchanged. See the 2.8 release notes for that feature list.
- Nothing about your existing containers or settings changes on update.
