M5StickCPlusでZoomのミュート&ビデオのON/OFFボタンを作る


Zoomでミーティングしてますか?
デゥアルデスプレイで作業するときミ―ティングしながら仕事をしていると音声入れたり切ったりビデオを入れたり切ったり、ショートカットキーを覚えてれば、キーボードへの入力で済みますが、画面からアイコンを探してクリックするのは煩わしいと思いませんか?

Zoomのホットキーとキーボードショートカット

できたもの

開発環境

Windows10
Arduino 1.8.13
M5StickC Plus

追加したライブラリ

Keyboard 1.0.2

コード

//#include <M5Stack.h>
//#include <M5StickC.h>
#include <M5StickCPlus.h>
#include <BleKeyboard.h>

BleKeyboard bleKeyboard(""M5Zoomcontroller"");
bool blestate = false;

//Alt+V: ビデオのON / OFF
//Alt+A: ミュートのON / OFF
//int btnA = M5.BtnA.isPressed(); // ホームボタン
//int btnB = M5.BtnB.isPressed(); // 右ボタン

void showstate(char *txt) {
  M5.Lcd.setCursor(0, 120);
  M5.Lcd.fillRect(0, 120, 320, 20, BLACK);
  M5.Lcd.printf(txt);
}

void setup() {
  M5.begin();

  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleKeyboard.begin();

  //    M5.Lcd.clear(BLACK);
  M5.Lcd.setTextSize(2);
  M5.Lcd.println("zoom");
  M5.Lcd.println("A:meet");
  M5.Lcd.println("B:video");
   showstate("Disconnected");
}

void loop() {
  M5.update();

  if (bleKeyboard.isConnected()) {
    if (!blestate) {
      blestate = true;
      showstate("Connected");
    }
    delay(100);
    if (M5.BtnA.isPressed()) {
      Serial.println("Sending Enter key...");
      bleKeyboard.press(KEY_LEFT_ALT);
      bleKeyboard.write('a');
        delay(100);
        bleKeyboard.release(KEY_LEFT_CTRL);
      //            bleKeyboard.press(KEY_LEFT_CTRL);
      //            bleKeyboard.press('c');
      //            bleKeyboard.press(KEY_HOME);
      //            bleKeyboard.release(KEY_HOME);
    } else if (M5.BtnB.isPressed()) {
      //          bleKeyboard.press('a');
      //          bleKeyboard.press(KEY_PAGE_UP);
      //          bleKeyboard.release(KEY_PAGE_UP);
      bleKeyboard.press(KEY_LEFT_ALT);
      bleKeyboard.write('v');
        delay(100);
        bleKeyboard.release(KEY_LEFT_CTRL);
    }
  } else {
    if (blestate) {
      blestate = false;
      showstate("Disconnected");
    }
  }
}

PCと接続

PCのbluetoothをONにしてください。以下の一行で書いたたM5Zoom remote controller が選択肢で出ていると思います。

BleKeyboard bleKeyboard(""M5Zoomcontroller"");

参考記事

大変参考になりました、ありがとうございました。

キーボードを遠隔操作するデバイスは簡単に作れるらしい

使い勝手

いい感じです。M5StickCを手元に持っていれば少し離れていても消音できてビデオも消せます。急に名前を呼ばれても慌てることなくボタンを押せば音声をONできるので使えそう。