MCPcopy Index your code
hub / github.com/cyrinux/push2talk

github.com/cyrinux/push2talk @1.3.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.3.3 ↗ · + Follow
32 symbols 52 edges 3 files 0 documented · 0% updated 8mo ago1.3.3 · 2025-09-24★ 623 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Core symbols most depended-on inside this repo

run_in_thread
called by 3
src/main.rs
parse_keybind
called by 3
src/libinput/mod.rs
run
called by 2
src/libinput/mod.rs
send_pause_signal
called by 1
src/main.rs
take_lock
called by 1
src/main.rs
setup_logging
called by 1
src/main.rs
register_signal
called by 1
src/main.rs
handle
called by 1
src/libinput/mod.rs

Shape

Function 19
Method 9
Class 4

Languages

Rust100%

Modules by API surface

src/libinput/mod.rs19 symbols
src/main.rs7 symbols
src/pulseaudio/mod.rs6 symbols

For agents

$ claude mcp add push2talk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page