Skip to content

Instantly share code, notes, and snippets.

@BjoernSchilberg
Forked from zouppen/README.md
Created May 5, 2020 08:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BjoernSchilberg/19f0608ae44baef121dbd26c63135919 to your computer and use it in GitHub Desktop.
Save BjoernSchilberg/19f0608ae44baef121dbd26c63135919 to your computer and use it in GitHub Desktop.
Push to talk microphone with Pulseaudio

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.

Like this? Support me at Github!

Installation

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

Customization

Edit attached xbindkeysrc file to match your needs:

PTT button

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

Microphone

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
# -*- shell-script -*-
#
# To use this, make xbindkeys start on login and symlink this file to
# ~/.xbindkeysrc
"pactl set-source-mute @DEFAULT_SOURCE@ 0"
c:66
"pactl set-source-mute @DEFAULT_SOURCE@ 1"
release+c:66
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment