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

main.cpp

Committer:
Fratink
Date:
2021-04-11
Revision:
1:b5afa5af13d5
Parent:
0:4621dca43078
Child:
2:4097fa431680

File content as of revision 1:b5afa5af13d5:

#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 up(D4);
DigitalIn down(D5);
DigitalIn left(D6);
DigitalIn right(D3);


//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;
    up.mode(PullUp);
    down.mode(PullUp);
    left.mode(PullUp);
    right.mode(PullUp);
    
    while(1)
    {
//        rled = 1.0 - tsi.readPercentage();
        wait(0.1);
        if(!up)
            keyboard.printf("Hello World\r\n");
//        wait(1);
//        keyboard.printf("Hello World\r\n");
        
    };
}