#include "Keyboard.h" int intputs[] = {5, 6, 7, 8}; //輸入腳的編號 int states[4] = {0}; //按鈕狀況 char keys[4] = {'d', 'f', 'j', 'k'}; //四個按鍵 void setup() { Serial.begin(9600); for(int i=0; i<4; i++){ //設定接腳模式 pinMode(intputs[i], INPUT); states[i] = LOW; } } void loop() { for(int i=0; i<4; i++){ int now = digitalRead(intputs[i]); //讀取按鈕輸入狀況 if ( now != states[i] ) { //當按鈕情況有改變的話,因為是定時讀取訊號,為了防止重複無意義的壓按鍵或放按鍵的動作所以加入這個判斷式。 if (now == HIGH){ //當按鈕按下去的時候 Keyboard.press(keys[i]); //按下對應的鍵盤按鍵 } else { Keyboard.release(keys[i]); //放開對應的鍵盤按鍵,這裡不用releaseAll(),因為會干擾到其他按鍵,未設這行,對應的按鍵會持續壓下去不會放掉。 } } states[i] = now; //更新按鈕狀況 } |