123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #include "Arduino.h"
- #include "Keyboard.h"
- #include "HID.h"
- struct Key {
- int pin;
- char keyCode;
- boolean wasPushed;
- };
- const int NUM_OF_KEYS = 4;
- Key keys[NUM_OF_KEYS];
- void setup() {
- keys[0] = { 5, KEY_LEFT_CTRL , false };
- keys[1] = { 4, KEY_LEFT_ALT, false};
- keys[2] = { 3, KEY_LEFT_SHIFT, false };
- keys[3] = { 2, KEY_LEFT_GUI, false };
- // 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() {
- for(int i = 0; i < NUM_OF_KEYS; i++) {
- if((digitalRead(keys[i].pin) == LOW) && (keys[i].wasPushed == false)) {
- Keyboard.press(keys[i].keyCode); // Send key down
- keys[i].wasPushed = true;
- }
- else if ((digitalRead(keys[i].pin) == HIGH) && (keys[i].wasPushed == true)) {
- Keyboard.release(keys[i].keyCode); // Send key up
- keys[i].wasPushed = false;
- }
- }
- delay(10);
- }
|