Microphone PTT for Pulseaudio
This tool helps you with many absolutely proprietary software which doesn't include proper push-to-talk key. I wrote this with Google Meet in mind but is also useful for many other browser based apps as well.
It works so that when Caps Lock is held down, the microphone is unmuted. If you want to toggle it (for example during a demonstration), just press Ctrl + Caps Lock.
In this example we use Caps Lock, but you can set your favourite key.
Like this? Support me at Github!
First, install requirements and symlink the configuration file.
sudo apt install xbindkeys ln -s `readlink -f xbindkeysrc` ~/.xbindkeysrc
If you already have xbindkeys setup, just concatenate the contents to your main config.
xbindkeys to autostart on login:
mkdir -p ~/.config/autostart-scripts/ ln -s /usr/bin/xbindkeys ~/.config/autostart-scripts
The script dedicates Caps Lock key for PTT, so you need to disable
regular Caps Lock behaviour. You can find it from keyboard
settings. In KDE just edit the file
~.config/kxkbrc and add
caps:none to the end of
Options of block
[Layout], like in this
To set it temporarily for the current session, run
setxkbmap -option ctrl:nocaps.
xbindkeysrc file to match your needs:
Default: Caps lock
c:66 to the key name you want to use as PTT key. To get name
of your key, run:
xbindkeys -k -f /dev/null
If you want to control a specific mic instead of default one, replace
@DEFAULT_SOURCE@ with Pulseaudio sink name. To get list input device
pactl list short sources | cut -f 2
I had to add
xset -r 66;before both of the commands in xbindkeysrc, to prevent it from toggling on and off very high frequency making it