This project utilizes the Adafruit NeoKey Trinkey to mute your computer's microphone. Simply plug the USB into the computer, and press the button to mute or unmute yourself! No more hurriedly mousing to the mute/unmute button or trying to remember the hotkey for a specific chat applicaton.
There's two ways that this program can be setup:
- System level microphone toggle (Recommended)
- Application hot-key pusher
The project originally started as just a way to select a specific chat application, and push its specific microphone hotkey, but evolved to instead utilize a system level control over the microphone.
- Windows
- MacOS
- Linux
You can also enable a global microphone toggle in your computer. This will let you toggle at the system level instead of the application level. Basically, you don't have to be looking at the chat to mute/unmute yourself.
The keycombo used in this code is WIN+SHIFT+A
, like the MS PowerToys default. It can be changed in profiles.py
- Zoom
- MS Teams
- Google Meet
- Slack
- Jitsi
It'll basically act as a hotkey specific to those applications.
Note: That window must be active, otherwise nothing will happen, and you will not actually be muted.
Project originally forked from https://github.com/jfurcean/CircuitPython-MuteButton
I wanted to have to have the functionality of jfurcean's Zoom mute button, but on the NeoKey Trinkey, and with some more chat profiles and on Windows.
With the Trinkey there's no need to 3d print an enclosure.
Then I also realized that there were some limitations in just using one chat application's hotkeys (ie, CTRL+D
), since the window has to be active, and you have to reconfigure the hotkey if you switch to a different program. If you're looking at a different tab or window, then you don't actually mute yourself. So I found some quick and accessible ways to disable the system microphone instead, which is the recommended way to use this program.
- 1x NeoKey Trinkey
- 1x Kalih Mechanical Key
- You can pick a different type of key if you want
- 1x Keycap
- You can pick a different keycap as well.
All that's required is soldering the two pins on the mechanical key to the corresponding holes on the NeoKey Trinkey and putting on the keycap.
I recommend following the steps in the NeoKey Learning Guide. There's a nice overview of the hardware, and simple instructions on where to download the correct UF2 file from as well. Once you have a working CIRCUITPY
drive then you are ready to move on!
There are three files from this repo that will need to be downloaded.
code.py
config.py
profiles.py
They can be configured before or after you load them onto the NeoKey.
As mentioned previously, you can configure this software to be used in two main different ways. Be default, it's going to try to push a system level hot key.
In config.py
you can select which type of OS the NeoKey is plugged into, what profile(s) the button will be using, and whether to DEBUG
the code. Be default, it's assuming a Windows device, and not to debug. Debugging will display information to a REPL and drastically slow down the main loop.
In profiles.py
you can change the hotkeys (system or specific chat application), modify the active/mute colors, or add new profiles.
Drag and drop code.py
, config.py
and profiles.py
onto the CIRCUITPY
drive. The program should automatically start running and display the profile color listed in config.py
.