7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Zoomをミュートする物理ボタンを作る

Last updated at Posted at 2021-02-11

Zoomのマイクミュートの切り替えがめんどくさい&今ミュートなのか不安になるので、
物理的に切替可能で、見た目にもわかりやすいボタンをATOM Matrixで作りました。

※仕組みはただのショートカットキーなので、切り替えられるか&本当に今ミュートかどうかは保証できません

できたもの

movie.gif

ソース

Arduino:Hoge.ino
#include "M5Atom.h"
#include <FastLED.h>
#include <BleKeyboard.h>

#define NUM_LEDS 25

#define LED_PIN 27

CRGB leds[NUM_LEDS];
BleKeyboard bleKeyboard("MUTE BUTTON");

const uint8_t cmd[] = {KEY_LEFT_SHIFT, KEY_RIGHT_GUI, 'a'};
bool isMute = true;

void sendCmd(){
    int length = sizeof cmd / sizeof cmd[0];
    for (int index = 0; index < length; index++) {
        bleKeyboard.press(cmd[index]);
    }
    delay(100);
    bleKeyboard.releaseAll();
}

void setColor(CRGB c){
    CRGB converted = CRGB(c.g, c.r, c.b);
    for (int index = 0; index < NUM_LEDS; index++){
        leds[index] = converted;
    }
    FastLED.show();
}

void setup() {
    M5.begin(true, false, true);
    bleKeyboard.begin();

    FastLED.addLeds<WS2812, LED_PIN>(leds, NUM_LEDS);
    FastLED.setBrightness(15);
}

void loop() {
    M5.update();
    if(bleKeyboard.isConnected()){
        if(M5.Btn.wasPressed()){
            sendCmd();
            isMute = !isMute;
        }
        setColor((isMute) ? CRGB::Red : CRGB::Lime);
    }else{
        setColor(CRGB::Black);
    }
    delay(10);
}

Bluetoothキーボードとして認識させるためにESP32-BLE-Keyboardを、
LEDの制御にFastLEDを使用します。
それぞれインストールしてください。

ボタン(正面のLEDマトリクスのところ)を押すたびに、⌘ + ⇧ + Aを入力し、Zoomのマイクミュートを切り替えます。

※Zoomを表示していないときにも切り替えるためには、Zoom側でグローバルショートカットを有効にする必要があります。
shot.png


USBで繋いでるのにBLE経由なのが悲しい…技術力が足りませんでした。
気づいたこと、気になったことをコメントしていただけると励みになります。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?