- assembled Keybow 2040
- Python 3.6+ for the serial script
- Zoom app for Mac
- Hammerspoon
- Google Meet running in Chrome with
View > Developer > Allow JavaScript from Apple Events
enabled
- copy content of init.lua to Hammerspoon
- Copy
code.py
to theCIRCUITPYTHON
volume
- Open Zoom preferences and browse to Keyboard shortcuts
- Select the shortcut for "Mute/Unmute my audio" and press key 0 on the keypad
- Select Enable Global Shortcut
- Select the shortcut for "Start/stop" and press key 1 on the keypad
- Select Enable Global Shortcut
- Create a Shortcut called "Meeting on" that turns on Do Not Disturb
- Create a Shortcut called "Meeting off" that turns off Do No Disturb
- When Zoom is closed or no conference is in progress the LEDs will show white
- Key 0 controls the microphone, green for on red for off
- Key 1 controls the video, green for on red for off
The keybow is configured to do send specific keyboard shortcuts on press, these are registered as global shortcuts in Zoom allowing you to use them no matter what app is in the foreground.
The Hammerspoon script reads the Zoom menu and the Google Chrome DOM to determine if the audio and video are active, it then calls serial_script.py
which sends commands over serial to the 2040.
- AppleScript based on Dustin's Zoom Mute Indicator
- Logo is Camera And Microphone by AmruID from NounProject.com under CC-BY license