Skip to content

Use the phone as a trackpad for an external display - #6

Merged
mister-teddy merged 10 commits into
mainfrom
feat/external-display-trackpad
Oct 31, 2026
Merged

mister-teddy merged 10 commits into
mainfrom
feat/external-display-trackpad

Conversation

@mister-teddy

@mister-teddy mister-teddy commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor
  • Connect a monitor (USB-C to HDMI, a dock, or a wireless display) and the desktop moves to it at the monitor's resolution and density
  • The phone becomes a trackpad drawn like Samsung DeX, with the app's icon in the top left corner to show which way is up: slide to move, tap to click, two-finger tap to right click, two fingers to scroll, touch and hold then slide to drag
  • Rotate turns the phone's screen a quarter per tap, trackpad and Android keyboard included, for a phone lying sideways while auto-rotate keeps it upright
  • Keyboard opens the Android keyboard on the phone and types into the desktop
  • The desktop draws the cursor Xwayland asks for
  • A mouse plugged into the phone moves the cursor on the monitor instead of the phone's, and clicks and scrolls there
  • Switching to another app keeps the desktop on the monitor, and a mouse or keyboard used on the monitor goes to it
  • Unplugging the monitor brings the desktop back to the phone
  • Scrolling works in X11 apps (the mouse wheel and two-finger trackpad scroll): the compositor now reports relative pointer motion, so Xwayland sends pointer motion and scrolling from the same input device and GTK no longer drops each scroll
  • Connecting a keyboard while the desktop is on the monitor offers the keyboard shortcuts service right away, so Alt+Tab and the Meta key reach the desktop instead of switching apps on the phone
  • Rotating the trackpad no longer shows patches of red: the background behind the desktop is black
  • sudo works for the desktop user: sudo, su, passwd and the other setuid programs get their setuid bit back, once, without unpacking the OS again
  • The launcher icon shows the whole logo instead of having its edges cut off by round icon masks
  • Fixes the black screen on phones whose firmware turns SVE off (OnePlus Open, Snapdragon 8 Gen 2): Gala kept dying with SIGILL even with the CPU model hidden from /proc/cpuinfo, until llvmpipe stopped running LLVM's optimisation passes (GALLIVM_PERF=nopt, Gala idles at about 1% of a core)
  • Port of Use the phone as a trackpad for an external display localdesktop.github.io#343

elementary OS on a 4K monitor, and the phone as its trackpad:

@mister-teddy mister-teddy added the release:feature Minor version bump and app release label Oct 29, 2026
github-actions Bot and others added 7 commits October 29, 2026 23:17
Gala died with SIGILL a few seconds after every start on a OnePlus Open
(Snapdragon 8 Gen 2), leaving a black screen. llvmpipe compiles shaders
for the CPU named in /proc/cpuinfo, LLVM assumes a Cortex-X3 has SVE,
and this firmware turns SVE off. The app now gives the guest a
/proc/cpuinfo without the CPU model when the kernel does not enable
SVE, so LLVM targets a generic Armv8 CPU.

- Restart Gala if it dies, after ending the panel, dock and daemons it
  leaves behind: with those still running, a new Gala respawns them
  every second.
- Lower the UI scale on dense screens that are small in pixels. The
  cover screen got 3x, 372 logical pixels wide, too narrow for the
  dock; both screens of a 520 dpi foldable now get 2x.
- Two processes fewer towards Android's limit of 32: zeitgeist starts
  without the shell that waits for it, and the keyring only when an
  app asks for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mister-teddy
mister-teddy merged commit 85582cb into main Oct 31, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:feature Minor version bump and app release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant