|
@@ -1,9 +1,44 @@
|
|
|
+// #include "Keyboard.h"
|
|
|
+// #include "HID.h"
|
|
|
+
|
|
|
+// https://www.arduino.cc/en/Reference/KeyboardBegin
|
|
|
+// https://www.arduino.cc/en/Tutorial/KeyboardMessage
|
|
|
+// https://www.arduino.cc/en/Tutorial/KeyboardReprogram
|
|
|
+
|
|
|
+// http://www.cplusplus.com/doc/tutorial/structures/
|
|
|
+struct Key {
|
|
|
+ int pin;
|
|
|
+ char keyCode;
|
|
|
+ boolean wasPushed;
|
|
|
+};
|
|
|
+
|
|
|
+const int NUM_OF_KEYS = 4;
|
|
|
+Key keys[NUM_OF_KEYS];
|
|
|
+
|
|
|
void setup() {
|
|
|
- // put your setup code here, to run once:
|
|
|
+ // Initialize key data
|
|
|
+ // { buttonPin, keyCode }
|
|
|
+ keys[0] = { 2, KEY_LEFT_CTRL };
|
|
|
+ keys[1] = { 3, KEY_LEFT_ALT };
|
|
|
+ keys[2] = { 4, KEY_LEFT_SHIFT };
|
|
|
+ keys[3] = { 5, KEY_BACKSPACE };
|
|
|
+
|
|
|
+ // make pins inputs and turn on the
|
|
|
+ // pullup resistor so they go high unless
|
|
|
+ // connected to ground:
|
|
|
+ for(int i = 0; i < NUM_OF_KEYS; i++) {
|
|
|
+ pinMode(keys[i].pin, INPUT_PULLUP);
|
|
|
+ }
|
|
|
|
|
|
+ Keyboard.begin();
|
|
|
}
|
|
|
|
|
|
void loop() {
|
|
|
- // put your main code here, to run repeatedly:
|
|
|
-
|
|
|
+ for(int i = 0; i < NUM_OF_KEYS; i++) {
|
|
|
+ if(digitalRead(keys[i].pin) == LOW) { // If the key is pressed...
|
|
|
+ Keyboard.press(keys[i].keyCode); // Send the key
|
|
|
+ delay(100);
|
|
|
+ Keyboard.releaseAll();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|