nakkyi が 2023年02月12日14時23分48秒 に編集
コメント無し
本文の変更
## ショートカットキーボード 自分だけのショートカット、3キーの自作キーボードを作ってみました。
マイコンは、Arduino Leonardo互換のマイコン「Beetle」をつかいました。
マイコンは、[Arduino Leonardo互換のマイコン「Beetle」](https://www.switch-science.com/products/4284)をつかいました。
アクリルのケースに入れて、巻取り式のUSBケーブルを付けました。  ## 使用したもの |部品名|型式|メーカー|数量| |---|---|---|---| |マイコン|Beetle|TOKYO FLIP-FLOP|1| |キー|ボタンスイッチ|不明|3| |ユニバーサル基板|3cm×7cm|不明|1| |ケース|105mm×43mm|セリア|1| |USBケーブル|巻取り式|不明|1| ## 製作方法  1,TOKYO FLIP-FLOPのショートカットを持ち運べる[「ワンボタンキーボード」](https://www.one-button-key.com/)自作キットのマイコン「Beetle」を使いました。 2,ユニバーサル基板に、ボタンスイッチ3個と、マイコン「Beetle」をハンダ付けします。配線を行いました。  3,ケースはセリア(百均ショップ)で見つけたものを、穴あけ加工しまして、ボルト止めしました。 4,巻取り式のYSBケーブルを取り付けて完成です。丁度コネクターも中に納まりました。 5、ソースコードは、KEY_SWを3個にして、 ①漢字変換:(半角/全角) ②コピー:(Ctrl+C) ③ペースト:(Ctrl+V) にしました。 ## 回路図 配線はこれだけです。  ## ソースコード ```[code] #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部を書き換えるだけで、自分だけのショートカットキーボードになります。