Skip to content

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

License

Notifications You must be signed in to change notification settings

gamingrobot/push2talk

This branch is 3 commits ahead of cyrinux/push2talk:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e84a3da Β· Nov 4, 2024
Oct 29, 2023
Oct 28, 2023
Oct 31, 2024
Jun 13, 2024
Jun 12, 2024
Oct 31, 2024
Oct 31, 2024
Oct 28, 2023
Oct 28, 2023
Oct 31, 2024
Jun 12, 2024
Jun 15, 2024
Nov 4, 2024
Oct 28, 2023

Repository files navigation

Push-to-Talk Logo

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

Fork of cyrinux/push2talk but removes xkbcommon because it doesnt support F13+ function keys

πŸ₯… Quick Start

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

  • Suspend/resume functionality available via SIGUSR1.

⚠️ Prerequisites

Install depends

sudo dnf install rust-libudev-devel rust-input-devel

Setup UDEV rule

Get Vendor ID of input device via lsusb (should be in the format <vendorid>:<productid>)

lsusb 

Edit /etc/udev/rules.d/60-push2talk.rules replace <vendorid> with the ID from lsusb

KERNEL=="event[0-9]*", SUBSYSTEM=="input", ATTRS{idVendor}=="<vendorid>", MODE="0660", TAG+="uaccess"

Reload udev rules

sudo udevadm control --reload-rules && udevadm trigger

πŸ“¦ Installation Methods

  • Clone the repo and run
make build
sudo make install

🎀 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="68" push2talk. Here is a list of keycodes
  • 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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 87.4%
  • Makefile 7.0%
  • Nix 5.2%
  • Shell 0.4%