Skip to content

noopman/Stream-Deck-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stream Deck → Microsoft Teams control

Control your Microsoft Teams meetings from an Elgato Stream Deck — mute, camera, raise hand, leave, and more — even after Microsoft deprecated the Teams integration APIs that apps (including the official Stream Deck Teams plugin) used to control Teams externally.

Sample Stream Deck buttons for controlling Microsoft Teams

This is a small "sort of hack" that works surprisingly well: a tiny AutoHotkey v2 script finds the live Teams meeting window and sends it a keyboard shortcut. Each Stream Deck button just runs that script with a different shortcut.

How it works

  1. A Stream Deck button runs AutoHotkey64.exe teams-hotkey.ahk "^+m" via the System → Open action.
  2. teams-hotkey.ahk enumerates all ms-teams.exe windows, skips the ones that aren't a meeting (main window, chat, calendar, sharing control bar, etc.), activates the meeting window, and sends it the keyboard shortcut passed as the argument.
  3. Teams receives the shortcut as if you'd typed it, and acts on it.

What works and what doesn't (full disclosure)

This approach relies on Teams keyboard shortcuts, so it only covers actions that have a working shortcut. Based on my own use:

Working well:

  • Microphone (mute / unmute)
  • Camera (on / off)
  • Raise hand
  • Hang up / leave call
  • Share (screen share)

Not working:

  • Accept call
  • Decline call
  • Blur / change background
  • Closed captions

The non-working buttons either have no reliable keyboard shortcut or don't target the right window state, so they're included here only for completeness — don't expect them to work.

Setup

1. Install AutoHotkey v2

Download and install AutoHotkey v2. The default install path for the interpreter is:

C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe

2. Place the script

Copy teams-hotkey.ahk somewhere stable, e.g. C:\Tools\StreamDeck\teams-hotkey.ahk. Note the full path — you'll reference it from each button.

3. Configure Stream Deck buttons

For each button, add a System → Open action and set the command to:

"C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe" "C:\Tools\StreamDeck\teams-hotkey.ahk" "^+m"

Change the final quoted argument to the shortcut for that button. See button-mappings.md for the full list of Teams shortcuts and their AHK notation.

Icons

The icons shown in the original setup are the Microsoft Teams Icons from Vivre Motion:

https://vivre-motion.com/products/microsoft-teams-icons

Specifically, this setup uses Variant D in colour 25.

Example of the Vivre Motion Microsoft Teams icon set

Image above: a screen capture of Vivre Motion's public product preview from https://vivre-motion.com/products/microsoft-teams-icons, shown here for reference and attribution only. The artwork is © Vivre Motion.

The icon files themselves are not included in this repository because they are not mine to redistribute. To recreate the look:

  1. Buy the Microsoft Teams Icons from Vivre Motion under their own license/terms, and pick Variant D / colour 25 to match the screenshot above.
  2. Assign each icon to the matching Stream Deck button in the Stream Deck app.

Please respect Vivre Motion's licensing — this repo only covers the script and configuration, not the icon artwork.

Other buttons on my deck

Besides the Teams controls, my deck has a few buttons that aren't part of the Teams hack but round out the setup:

  • Sun button — Key Lights on/off. Toggles my three Elgato key lights — one Key Light and two Key Light Air — on and off (via the Elgato Control Center / Stream Deck Key Light action).
  • Two hang-up buttons. One simply hangs up the call. The other is a Stream Deck Multi Action that hangs up the call and turns off the Key Lights (handy when I've left them on).
  • Lock the computer. Locks the workstation.
  • Timer buttons. Stream Deck Timer buttons.
  • Terminal button. Opens the Windows Terminal.

Known limitation

Meeting reaction emojis (👏 😃 ❤️ 😯) have no keyboard shortcut in Teams, so they can't be triggered with this method.

Background

This started as a "challenge accepted" reaction to Teams deprecating its integration APIs. The discontinuation shut out external controllers like the Stream Deck Teams plugin; this script restores most of that control through plain keyboard automation.

License

MIT — use, copy, modify, and share freely. The Vivre Motion icons are not covered by this license; see the Icons section above.

About

A setup and some tricks for Stream Deck configurations. Please add to it if you wish!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors