Skip to content
/ ptt Public

Small and independent, but very opinionated push-to-talk helper application.

Notifications You must be signed in to change notification settings

TheBoctor/ptt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Push-to-Talk Helper

Small utility I cobbled together using sample source code from various projects, designed to suit my personal preferences and use case. This is NOT production software for the general public, but may be useful to others.

This utility allows using push-to-talk to control sources via libinput events, so long as you add your user to the input group. XTEST/xdo is not used, there is no requirement for XWayland or any specific display server. Xlib is only used to resolve human-readable hotkey names.

This will allow push-to-talk behavior even on things like the Discord web client or Vencord, no XTEST or XWayland shims required. Simply set your application's mic policy to passive/auto and set a relatively low activation threshold. In Discord web clients, your microphone may be quieter and require extra amplification. The desktop version seems to have core modules to boost the mic in-application, but the web client does not.

Sound cues for mute toggle via SDL2 (SDL_mixer) are supported, though their paths are currently hardcoded.

Roadmap:

  • Config file/parser, standard XDG user .config dir
  • Ability to list audio sources when the preferred one is unset or unavailable
  • Keyboard binding support
  • Keyboard binding support for more chords
  • Argument to show a "push a button" prompt, show the result and confirm, and write it to config

Deps:

  • Cmake
  • Udev (in systemd-devel on Red Hat distros)
  • Libinput
  • Xlib
  • Xkbcommon
  • Pipewire
  • SDL2
  • SDL_mixer
  • Rohrkabel
  • Libconfig

About

Small and independent, but very opinionated push-to-talk helper application.

Topics

Resources

Stars

Watchers

Forks