//-------------------------------------------------- // ヘッダ //-------------------------------------------------- //HID keyboard(OS起動後のみ利用可) #include "Keyboard.h" //-------------------------------------------------- // 定義:処理 //-------------------------------------------------- #define LOOP_WAIT 10 //メインループのウェイト //-------------------------------------------------- // 定義:キーボード //-------------------------------------------------- #define PinCopy 3 //pin番号:コピーキー #define PinPaste 5 //pin番号:ペーストキー #define WAIT_CONT 100 //キー入力毎のウェイト:ms指定 //-------------------------------------------------- // 処理:セットアップ //-------------------------------------------------- void setup() { //スイッチを繋げるDピンヘッダ pinMode(PinCopy, INPUT_PULLUP); //コピーキー用 pinMode(PinPaste, INPUT_PULLUP); //コピーキー用 Keyboard.begin(); } //-------------------------------------------------- // 処理:メインループ //-------------------------------------------------- void loop() { //==== //キーの説明(a-zなどと違う特殊キーの一覧) // KEY_LEFT_CTRL コントロール キーボードの左側 // KEY_LEFT_SHIFT シフト キーボードの左側 // KEY_LEFT_ALT アルト mac はオプション キーボードの左側 // KEY_LEFT_GUI コマンド キーボードの左側 // KEY_RIGHT_CTRL コントロール キーボードの右側 // KEY_RIGHT_SHIFT シフト キーボードの右側 // KEY_RIGHT_ALT アルト mac はオプション キーボードの右側 // KEY_RIGHT_GUI コマンド キーボードの右側 // // KEY_UP_ARROW カーソルキー上 // KEY_DOWN_ARROW カーソルキー下 // KEY_LEFT_ARROW カーソルキー左 // KEY_RIGHT_ARROW カーソルキー右 // KEY_BACKSPACE バックスペース // KEY_TAB タブ // KEY_RETURN リターン // KEY_ESC エスケープ // KEY_INSERT インサート // KEY_DELETE デリート // KEY_PAGE_UP ページアップ // KEY_PAGE_DOWN ページダウン // KEY_HOME ホーム // KEY_END エンド // KEY_CAPS_LOCK キャップスロック // KEY_F1 ファンクションキー1 // ~ // KEY_F12 ファンクションキー12 //==== //コピーキー if(digitalRead(PinCopy) == LOW) { //キーを押す // Keyboard.press(KEY_LEFT_GUI); //CMDキー(Macなら) Keyboard.press(KEY_LEFT_CTRL); //Ctrlキー Keyboard.press('c'); //Cキー delay(WAIT_CONT); while(digitalRead(PinCopy) == LOW); //キーが離されるまで待つ //キーを離す Keyboard.releaseAll(); } //ペーストキー if(digitalRead(PinPaste) == LOW) { // Keyboard.press(KEY_LEFT_GUI); //CMDキー(Macなら) Keyboard.press(KEY_LEFT_CTRL); //Ctrlキー Keyboard.press('v'); //Vキー delay(WAIT_CONT); while(digitalRead(PinPaste) == LOW); Keyboard.releaseAll(); } delay(LOOP_WAIT); }