diff --git a/build/shared/examples/09. USB (Leonardo only)/KeyboardAndMouseControl/KeyboardAndMouseControl.ino b/build/shared/examples/09. USB (Leonardo only)/KeyboardAndMouseControl/KeyboardAndMouseControl.ino new file mode 100644 index 000000000..bdd722ca2 --- /dev/null +++ b/build/shared/examples/09. USB (Leonardo only)/KeyboardAndMouseControl/KeyboardAndMouseControl.ino @@ -0,0 +1,94 @@ + +/* + KeyboardAndMouseControl + + Controls the mouse from five pushbuttons on an Arduino Leonardo. + + Hardware: + * 5 pushbuttons attached to D2, D3, D4, D5, D6 + + + The mouse movement is always relative. This sketch reads + four pushbuttons, and uses them to set the movement of the mouse. + + WARNING: When you use the Mouse.move() command, the Arduino takes + over your mouse! Make sure you have control before you use the mouse commands. + + created 15 Mar 2012 + modified 27 Mar 2012 + by Tom Igoe + + this code is in the public domain + + */ + +// set pin numbers for the five buttons: + +// set pin numbers for the five buttons: +const int upButton = 2; +const int downButton = 3; +const int leftButton = 4; +const int rightButton = 5; +const int mouseButton = 6; + +void setup() { // initialize the buttons' inputs: + pinMode(upButton, INPUT); + pinMode(downButton, INPUT); + pinMode(leftButton, INPUT); + pinMode(rightButton, INPUT); + pinMode(mouseButton, INPUT); + + Serial.begin(9600); + // initialize mouse control: + Mouse.begin(); + Keyboard.begin(); +} + +void loop() { + // use serial input to control the mouse: + if (Serial.available() > 0) { + char inChar = Serial.read(); + + switch (inChar) { + case 'u': + // move mouse up + Mouse.move(0, -40); + break; + case 'd': + // move mouse down + Mouse.move(0, 40); + break; + case 'l': + // move mouse left + Mouse.move(-40, 0); + break; + case 'r': + // move mouse right + Mouse.move(40, 0); + break; + case 'm': + // move mouse right + Mouse.click(MOUSE_LEFT); + break; + } + } + + // use the pushbuttons to control the keyboard: + if (digitalRead(upButton) == HIGH) { + Keyboard.write('u'); + } + if (digitalRead(downButton) == HIGH) { + Keyboard.write('d'); + } + if (digitalRead(leftButton) == HIGH) { + Keyboard.write('l'); + } + if (digitalRead(rightButton) == HIGH) { + Keyboard.write('r'); + } + if (digitalRead(mouseButton) == HIGH) { + Keyboard.write('m'); + } + +} +