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.
Then make 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
example:
[Layout]
Options=terminate:ctrl_alt_bksp,nbsp:level3,caps:none
To set it temporarily for the current session, run
setxkbmap -option ctrl:nocaps
.
Edit attached xbindkeysrc
file to match your needs:
Default: Caps lock
Change 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
names, run:
pactl list short sources | cut -f 2
Interesting suggestion. I updated
.xbindkeysrc
above and added control + caps lock to the configuration which toggles the microphone muting.