How to build a Free Touch Deck to control Microsoft Teams

I’ve being thinking about acquiring a Stream Deck for quite some time but always thought it was a bit pricy, so when I saw the Free Touch Deck project promising a similar solution for just $20 I immediately jumped into it.

Even though the it requires the manual wiring of the hardware, Dustin Watts the creator of the project has it very well explained in the online tutorial making the entire assembly a breeze.

Microsoft Teams Free Touch Deck

If you are planning to build your own Free Touch Deck to control Microsoft Teams, I recommend you have a look to the article I wrote about my building experience here.

This is how my Free Touch Deck looks like, I promise you it will look a lot better once I put it inside a 3D printed case.

Microsoft Teams Free Touch Deck

After assembling the hardware and installing the software you must configure the buttons for your Free Teams Deck, the device has 7 screens with a total of 42 buttons, 30 of each can be programed with your own functions.

In my Free Touch Deck I used one of the screens to control Microsoft Teams while in a meeting, the other 4 are used to control other Windows functions. The configuration is made through the definition of keyboard short cuts that are sent to the application in focus when you press a button in the deck.

If you are not familiar with the Microsoft Teams keyboard shortcuts, you can get access to them by clicking in your profile picture in the Teams application and then in keyboard shortcuts, alternatively you can check the available shortcuts here.

To make it more integrated with the Microsoft Teams I’ve created the custom icons to the deck using the native Teams icons that you can find below. Icons in the stream deck must be 24bits BMP files with a resolution of 75×75 pixels.

As you can see there is an icon for the mute/unmute, video on/off and open/close share tray, in the Free Touch Deck these icons do not represent the status of the microphone and camera in the Teams application. All of them start off and when you push the button the status changes to on.

If the devices were already on in the Teams application, you will notice that the function in the Teams application will not be aligned with the icon in the Deck, nothing that affects the functionality of the solution.

A major limitation with Free Touch Deck and Microsoft Teams

After using the Free Touch Deck in a couple meetings I immediately found a major limitation to control Microsoft Teams, any of the shortcuts were useful if the Teams application where not in focus!!!

This limitation would not make me give up so I decided to modify the Free Touch Deck source code to make it work with Microsoft Teams when the application is not in focus.

To overcome this roadblock, I have modified the code running in the ESP32 to send a message to a custom application running in Windows that is responsible to bring Microsoft Teams to focus and then send the keyboard short cuts.

Control Microsoft Teams using Free Teams Deck

Even though it sounds complex, the Free Teams Deck application is ready for you to download and install in your computer to bring the Free Touch Deck to the next level, the installation packages, the source code and the instructions are available here.

Free Teams Deck

To be able to control Microsoft Teams using the deck while the application is not in focus you must have the Free Teams Deck application running in your system, in case you don’t the deck will continue to work but just if the Teams window is in focus.

Curious to see all of this in action? Have a look to the video below and let me know your comments and thoughts about the solution.


2 Responses to “How to build a Free Touch Deck to control Microsoft Teams”

  1. Steve

    February 23, 2021

    The link for the teams deck is down I think?

    Reply

Leave a Reply


I've been working with Microsoft Technologies over the last ten years, mainly focused on creating collaboration and productivity solutions that drive the adoption of Microsoft Modern Workplace.