Skip to content

linux: add stem-press support (single/double/triple/long)#628

Open
rathko wants to merge 1 commit into
kavishdevar:mainfrom
rathko:linux-stem-press
Open

linux: add stem-press support (single/double/triple/long)#628
rathko wants to merge 1 commit into
kavishdevar:mainfrom
rathko:linux-stem-press

Conversation

@rathko

@rathko rathko commented Jun 11, 2026

Copy link
Copy Markdown

Linux: add stem-press support

Sends STEM_CONFIG (control 0x39, bitmask 0x0F) after FEATURES_ACK,
parses opcode 0x19 packets, dispatches via MPRIS.

Press Action
Single PlayPause
Double Next
Triple Previous
Long PlayPause *

* Android cycles noise control on long press; follow-up.

Tested

AirPods 4 ANC (A3056) firmware 81.x. Firmware 74.x silently no-ops
STEM_CONFIG, so this is harmless on incapable firmware.

Files

  • linux/airpods_packets.hSTEM_CONFIG_ENABLE + StemPress namespace
  • linux/main.cpp — send + parse + dispatch
  • linux/media/mediacontroller.{h,cpp}togglePlayPause/nextTrack/previousTrack

Out of scope

  • Per-action user mapping
  • Long-press cycle noise control
  • Model capability gating (packet is no-op on incapable firmware)

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