Simple project that creates a device capable of controlling MS teams. It can Mute, Decline a Call, Answer Audio, or Answer Video. This is using the Sparkfun Joystick Shield attached to a KL25Z, but can be easily modified to work with whatever buttons you want.

Dependencies:   mbed TSI USBDevice

Revision:
0:4621dca43078
Child:
1:b5afa5af13d5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Apr 11 05:10:40 2021 +0000
@@ -0,0 +1,63 @@
+#include "mbed.h"
+#include "USBKeyboard.h"
+#include "TSISensor.h"
+
+USBKeyboard keyboard;
+
+typedef enum 
+{
+    ACCEPT_VIDEO_CALL,
+    ACCCEPT_AUDIO_CALL,
+    DECLINE_CALL,
+    TOGGLE_MUTE,
+    TOGGLE_VIDEO
+}CommandList_e;
+
+
+DigitalIn button(PTB0);
+
+//PwmOut rled(LED_RED);
+//PwmOut gled(LED2);
+//PwmOut bled(LED3);
+
+void sendKeyboardCommand(CommandList_e command)
+{
+    switch(command)
+    {
+    case ACCEPT_VIDEO_CALL:
+        keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT); 
+        break;
+    case ACCCEPT_AUDIO_CALL:
+        keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT); 
+        break;
+    case DECLINE_CALL:
+        keyboard.keyCode('d',KEY_CTRL|KEY_SHIFT); 
+        break;
+    case TOGGLE_MUTE:
+        keyboard.keyCode('m',KEY_CTRL|KEY_SHIFT); 
+        break;
+    case TOGGLE_VIDEO:
+        keyboard.keyCode('o',KEY_CTRL|KEY_SHIFT); 
+        break;
+    default:
+        break;
+    };   
+}
+
+
+int main(void)
+{
+//    rled.period(0.001);
+    TSISensor tsi;
+    PwmOut rled(LED_RED);
+    
+    while(1)
+    {
+        rled = 1.0 - tsi.readPercentage();
+        wait(0.1);
+//        wait(1);
+//        keyboard.printf("Hello World\r\n");
+        
+    };
+}
+    
\ No newline at end of file