PTT Keypress v0.2.0 · Android 8+

A real PTT button for VoxDMR.

Those small Bluetooth push-to-talk buttons made for Zello are cheap, light and clip to anything. PTT Keypress makes one of them key VoxDMR on Android. Hold the button and you are transmitting. Let go and you are not. That is the whole app.

Why it exists

VoxDMR turns an Android phone into a DMR talkgroup client, and it can be keyed from outside by a plain Android broadcast. What was missing was something that understood the buttons. They sleep the moment you let go, only advertise while held, and the first workarounds all needed root, Shizuku, or an ADB command after every reboot. PTT Keypress is the piece in the middle, and it needs none of those.

What it does

Stays armed while the button sleeps

A paired button is kept on Android's own auto-connect, so the phone reconnects the instant the button wakes. A sleeping button shows as Ready, not Disconnected, because that is what it is.

Keys VoxDMR directly

Press and release become VoxDMR's external PTT broadcasts. No fake keyboard, no accessibility service, and it works from the lock screen or with another app in front.

Never leaves you stuck on air

If a button drops off before it manages to send its release, the disconnect itself sends the matching PTT up. Short-lived presses that barely wake the button still register.

Survives a reboot

Once a button is paired the bridge starts itself again after a restart and sits in a quiet notification, ready before you have unlocked the phone.

More than one button

Pair a couple of them. Overlapping holds keep VoxDMR keyed until the last button is let go.

Pairing does not key up

You hold the button to make it visible while pairing, so that hold is ignored. Adding a button never transmits.

Setting up

  1. Install VoxDMR and connect to your network as usual.
  2. Install PTT Keypress and grant the nearby devices permission when asked.
  3. Tap Pair PTT, then press and hold the physical button until it appears in the list.
  4. Select it, let go of the button, and the status flips to Ready.
  5. Press the button. VoxDMR keys up for as long as you hold it.

Supported buttons

Anything built on the common HM-10 style Bluetooth LE profile that the Zello-compatible buttons use. The Focket PTT-Z01 is the one on my desk, and the PRYME BT-PTT-Z and the DIY 100pct-ptt design speak the same protocol.

Service
FFE0
Characteristic
FFE1, notify
Pressed
0x01
Released
0x00
Talks to
VoxDMR (com.jcalado.voxdmr) via its PTT_DOWN and PTT_UP broadcasts

Get PTT Keypress

v0.2.0 · Android 8 and up · direct APK · about 16 MB

Sideload it. There is no store listing and no updater, and each build installs straight over the last. It is an early hardware-test build, so please tell me on GitHub which phone and button you tried it with.