Skip to content

Instantly share code, notes, and snippets.

@houmei
Created May 23, 2012 14:57
Show Gist options
  • Save houmei/2775713 to your computer and use it in GitHub Desktop.
Save houmei/2775713 to your computer and use it in GitHub Desktop.
Arduino IDE1.0.1 Leonardo USB-HID Keyboard test
/* Button for Keyboard (Arduino Leonardo only) */
/*
Button
Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 2.
The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground
* Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Button
*/
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int keymacroPin = 3;
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
pinMode(keymacroPin, INPUT);
digitalWrite(buttonPin, HIGH);
digitalWrite(keymacroPin, HIGH);
Keyboard.begin();
}
void loop(){
if (digitalRead(keymacroPin)==LOW) {
// not implemented
}
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
delay(30);
while(buttonState == LOW){
buttonState = digitalRead(buttonPin);
// Keyboard.press(ctrlKey);
Keyboard.press(' ');
}
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
Keyboard.release(' ');
}
delay(100);
}
@ThatGuyBud
Copy link

This was a huge help! It was the clearest example of button states I could find.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment