nakkyiのアイコン画像
nakkyi 2023年02月05日作成 (2023年02月14日更新)
製作品 製作品 閲覧数 1564
nakkyi 2023年02月05日作成 (2023年02月14日更新) 製作品 製作品 閲覧数 1564

3ボタン ショートカットキーボード【超小型Arduino 互換ボードBeetle】

3ボタン ショートカットキーボード【超小型Arduino 互換ボードBeetle】

ショートカットキーボード

自分だけのショートカット、3キーの自作キーボードを作ってみました。
マイコンは、Arduino Leonardo互換のマイコン「Beetle」をつかいました。
アクリルのケースに入れて、巻取り式のUSBケーブルを付けました。
キャプションを入力できます

使用したもの

部品名 型式 メーカー 数量
マイコン Beetle TOKYO FLIP-FLOP
キー ボタンスイッチ 不明
ユニバーサル基板 3cm×7cm 不明
ケース 105mm×43mm セリア
USBケーブル 巻取り式 不明

製作方法

キャプションを入力できます
1,TOKYO FLIP-FLOPのショートカットを持ち運べる「ワンボタンキーボード」自作キットのマイコン「Beetle」を使いました。
2,ユニバーサル基板に、ボタンスイッチ3個と、マイコン「Beetle」をハンダ付けします。配線を行いました。
キャプションを入力できます
3,ケースはセリア(百均ショップ)で見つけたものを、穴あけ加工しまして、ボルト止めしました。
4,巻取り式のYSBケーブルを取り付けて完成です。丁度コネクターも中に納まりました。
5、ソースコードは、KEY_SWを3個にして、
①漢字変換:(半角/全角)
②コピー:(Ctrl+C)
③ペースト:(Ctrl+V)
にしました。

回路図

配線はこれだけです。
キャプションを入力できます

ソースコード

#include "Keyboard.h"

#define PIN_KEYSW1 (9)
#define PIN_KEYSW2 (10)
#define PIN_KEYSW3 (11)

int prevKeyState1;
int currKeyState1;
int prevKeyState2;
int currKeyState2;
int prevKeyState3;
int currKeyState3;

void setup() {
  pinMode(PIN_KEYSW1, INPUT_PULLUP);
  pinMode(PIN_KEYSW2, INPUT_PULLUP);
  pinMode(PIN_KEYSW3, INPUT_PULLUP);
  
  prevKeyState1 = HIGH;
  prevKeyState2 = HIGH;
  prevKeyState3 = HIGH;
  currKeyState1 = HIGH;
  currKeyState2 = HIGH;
  currKeyState3 = HIGH;

  Keyboard.begin();
}

void loop() {

// かな/漢字変換のショートカット
  currKeyState1 = digitalRead(PIN_KEYSW1);
  if ((prevKeyState1 == HIGH) && (currKeyState1 == LOW)) {
    Keyboard.press(KEY_LEFT_ALT);
    Keyboard.press('`');
    delay(10);                      // 10ms待つ
    Keyboard.releaseAll();          // すべて放す
  }

// コピーのショートカット
  currKeyState2 = digitalRead(PIN_KEYSW2);
  if ((prevKeyState2 == HIGH) && (currKeyState2 == LOW)) {
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press('C');
    delay(10);                      // 10ms待つ
    Keyboard.releaseAll();          // すべて放す
  }

// ペーストのショートカット
  currKeyState3 = digitalRead(PIN_KEYSW3);
  if ((prevKeyState3 == HIGH) && (currKeyState3 == LOW)) {
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press('V');
    delay(10);                      // 10ms待つ 
    Keyboard.releaseAll(); // すべて放す
  }

  prevKeyState1 = currKeyState1;
  prevKeyState2 = currKeyState2;
  prevKeyState3 = currKeyState3;
  delay(10);
}

制御キー名一覧表

CTRL KEY_LEFT_CTRL または KEY_RIGHT_CTRL
SHIFT KEY_LEFT_SHIFT または KEY_RIGHT_SHIFT
ALT KEY_LEFT_ALT または KEY_RIGHT_ALT
WIN KEY_LEFT_GUI または KEY_RIGHT_GUI
スペース 0x20
上 KEY_UP_ARROW
下 KEY_DOWN_ARROW
左 KEY_LEFT_ARROW
右 KEY_RIGHT_ARROW
BACKSPACE   KEY_BACKSPACE
TAB KEY_TAB
RETURN KEY_RETURN
ESC KEY_ESC
INSERT KEY_INSERT
DELETE KEY_DELETE
PAGE UP KEY_PAGE_UP
PAGE DOWN   KEY_PAGE_DOWN
HOME KEY_HOME
END KEY_END
CAPS LOCK   KEY_CAPS_LOCK
F1 KEY_F1
F2 KEY_F2
F3 KEY_F3
F24 KEY_F24

まとめ

ワンボタンキーボードのマイコン「Beetle」を使って、3ボタンのショートカットキーボードを作ってみました。ソースコードの1部を書き換えるだけで、自分だけのショートカットキーボードになります。

ログインしてコメントを投稿する