Skip to content

Allow remapping Home, behind a confirmation - #1

Open
anned20 wants to merge 2 commits into
fivefold3:mainfrom
anned20:allow-home-remap
Open

anned20 wants to merge 2 commits into
fivefold3:mainfrom
anned20:allow-home-remap

Conversation

@anned20

@anned20 anned20 commented Oct 13, 2026 •

Copy link
Copy Markdown

I'm building a custom launcher for my TV, and Home is the thing in the way. It can't be remapped, so pressing it always opens LG's app bar and there's no way to make it return to my launcher instead.

This lets you remap Home, but only behind a warning and only to two actions: keep the normal press, or launch an app. The other options for Home (do nothing, act as another button, switch to an input, run a command) are hidden, so it can never be mapped onto itself and end up in an "acts as" loop that leaves it doing nothing.

Because a Home whose press is mapped to something else would otherwise lose LG's app bar for good, Home's hold action also gains an Open the stock launcher option. It just launches com.webos.app.home, so: tap Home for your own launcher, hold Home for LG's. Stored as a plain launch action, it stays inside the same pass-or-launch guard.

Pressing Home in the button picker now shows a confirmation instead of the "can't be remapped" message. Cancel returns to the picker, and capture stays on while the warning is up so a second Home press can't pull the app bar over the top of it.

The guard is in the UI only, the same as the rest of EXCLUDED. The daemon and config validation are untouched, so a bad Home mapping can still be undone by editing config.json over a root shell.

Tested on an LG C4 running webOS 26 (SDK 11). Mapped Home to launch an app, checked cancel returns to the picker, re-saved an existing Home mapping, and held Home to reach the stock launcher.

The README now documents the exception, the two allowed press actions and the hold-to-stock-launcher option. If you'd rather this was gated some other way, I'm happy to change it.

Home opens the app bar and is the usual way back into this app, so it was
blocked as a mapping source. Let the user make it an exception: pressing it
in the picker now asks for confirmation, and its action menu only offers
pass or launch an app (no disable/replace/input/command), so it can never
end up in an "acts as" loop that leaves it dead. Assigning the key happens
before the confirmation, so the edit menu and hold action of an existing
Home mapping keep working.

Capture stays live on the warning screen so a stray Home press cannot throw
the app bar over it. Cancel (or Back) restarts the picker. The guard stays
in the UI, like the rest of EXCLUDED; a hand-written config can still be
edited over the root shell to recover.
A Home remapped to a custom launcher loses LG's own app bar. Add an "Open
the stock launcher" choice to Home's hold action menu that launches
com.webos.app.home, so a long press still reaches it. It is stored as a
plain launch action, so it stays within Home's pass-or-launch guard and
the daemon and config validation are untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant