diff --git a/build/shared/examples/9.Keyboard/KeyboardLogout/KeyboardLogout.ino b/build/shared/examples/9.Keyboard/KeyboardLogout/KeyboardLogout.ino new file mode 100644 index 000000000..6234f3bca --- /dev/null +++ b/build/shared/examples/9.Keyboard/KeyboardLogout/KeyboardLogout.ino @@ -0,0 +1,93 @@ +/* + Keyboard logout + + This sketch demonstrates the Keyboard library. + + When you connect pin 2 to ground, it performs a logout. + It uses keyboard combinations to do this, as follows: + + On Windows, CTRL-ALT-DEL followed by ALT-l + On Ubuntu, CTRL-ALT-DEL, and ENTER + On OSX, CMD-SHIFT-q + + To wake: Spacebar. + + Circuit: + * Arduino Leonardo + * wire to connect D2 to ground. + + created 6 Mar 2012 + by Tom Igoe + + This example is in the public domain + + http://www.arduino.cc/en/Tutorial/KeyboardLogout + */ + +#define OSX 0 +#define WINDOWS 1 +#define UBUNTU 2 + +// change this to match your platform: +int platform = OSX; + +void setup() { + // make pin 2 an input and turn on the + // pullup resistor so it goes high unless + // connected to ground: + pinMode(2, INPUT_PULLUP); +} + +void loop() { + while (digitalRead(2) == HIGH) { + // do nothing until pin 2 goes low + delay(500); + } + delay(1000); + + switch (platform) { + case OSX: + Keyboard.press(KEY_LEFT_GUI); + // Shift-Q logs out: + Keyboard.press(KEY_LEFT_SHIFT); + Keyboard.press('Q'); + delay(100); + Keyboard.releaseAll(); + // enter: + Keyboard.type(KEY_RETURN); + break; + case WINDOWS: + // CTRL-ALT-DEL: + Keyboard.press(KEY_LEFT_CTRL); + Keyboard.press(KEY_LEFT_ALT); + Keyboard.press(KEY_DELETE); + delay(100); + Keyboard.releaseAll(); + //ALT-s: + delay(2000); + Keyboard.press(KEY_LEFT_ALT); + Keyboard.press('l'); + Keyboard.releaseAll(); + break; + case UBUNTU: + // CTRL-ALT-DEL: + Keyboard.press(KEY_LEFT_CTRL); + Keyboard.press(KEY_LEFT_ALT); + Keyboard.press(KEY_DELETE); + delay(1000); + Keyboard.releaseAll(); + // Enter to confirm logout: + Keyboard.type(KEY_RETURN); + break; + } +// do nothing: + while(true); +} + + + + + + + +