Fork of cyrinux/push2talk but removes xkbcommon because it doesnt support F13+ function keys
Upon initialization, the application mutes all microphones. To unmute, press F10, and release to mute again.
- Suspend/resume functionality available via
SIGUSR1
.
sudo dnf install rust-libudev-devel rust-input-devel
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
- Clone the repo and run
make build
sudo make install
- Start
push2talk
binary. - Systemd unit provided:
systemctl --user start push2talk.service
.
- 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
.
- Excludes Easy Effects sources to prevent unintentional "push-to-listen" scenarios.
Contributions are highly welcome.
Made with love by @cyrinux and @maximbaz.