/push2talk

Push-to-Talk: Seamless Integration with Wayland, X11, PulseAudio & PipeWire for linux 🎤

Primary LanguageRustISC LicenseISC

Push-to-Talk Logo

Push-to-Talk: Seamless Integration with Wayland, X11, PulseAudio & PipeWire

🥅 Quick Start

Upon initialization, the application mutes all microphones. To unmute, press Control_Left+Space, and release to mute again.

  • Suspend/resume functionality available via SIGUSR1.

⚠️ Prerequisites

Membership in the input or plugdev group may be necessary. Check /dev/input/* for your specific distribution.

sudo usermod -a -G plugdev $USER
sudo usermod -a -G input $USER

📦 Installation Methods

🎤 Usage

  • Start push2talk binary.
  • Systemd unit provided: systemctl --user start push2talk.service.

🎤 Advanced Configuration

  • Trace mode for key and source device identification: env RUST_LOG=trace push2talk.
  • Custom keybinds via environment variables: env PUSH2TALK_KEYBIND="Control_L,Space" push2talk.
  • Debug logging: RUST_LOG=debug push2talk.
  • Specify a particular audio source: env PUSH2TALK_SOURCE="OpenComm by Shokz" push2talk.
  • Systemd unit provided: systemctl --user start push2talk.service.

😅 Additional Information

  • Excludes Easy Effects sources to prevent unintentional "push-to-listen" scenarios.

👥 How to Contribute

Contributions are highly welcome.

💑 Acknowledgments

Made with love by @cyrinux and @maximbaz.