Loading...

Tutorial.KeyboardLogout History

Hide minor edits - Show changes to markup

October 31, 2012, at 04:49 PM by Scott Fitzgerald -
Changed lines 19-20 from:

Connect your Leonardo or Due board to your computer with a micro-USB cable.

to:

Connect your board to your computer with a micro-USB cable.

October 31, 2012, at 04:49 PM by Scott Fitzgerald -
Changed line 10 from:
  • Arduino Leonardo or Arduino Due board
to:
  • Arduino Leonardo, Micro, or Due board
Changed line 29 from:

Before you upload the program to your Leonardo, make sure to comment out any OS you are not currently using.

to:

Before you upload the program to your board, make sure to comment out any OS you are not currently using.

Changed lines 32-34 from:

(:source lang=arduino tabwidth=4:) /*

  Keyboard logout
to:

(:source http://github.com/arduino/Arduino/raw/master/build/shared/examples/09.USB/Keyboard/KeyboardLogout/KeyboardLogout.ino lang=arduino tabwidth=4:)

Deleted lines 34-119:
 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 or Arduino Due
 * wire to connect D2 to ground.

 created 6 Mar 2012
 modified 27 Mar 2012
 by Tom Igoe

 This example is in the public domain

 http://www.arduino.cc/en/Tutorial/KeyboardLogout
 */

  1. define OSX 0
  2. define WINDOWS 1
  3. 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);
  Keyboard.begin();

}

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.write(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.write(KEY_RETURN);
    break;
  }

// do nothing:

  while(true);

}

(:sourceend:)

October 22, 2012, at 05:20 AM by Federico -
Changed lines 4-5 from:

This example uses the Keyboard library to log you out of your user session on your computer when pin 2 on your Leonard is pulled to ground.

to:

This example uses the Keyboard library to log you out of your user session on your computer when pin 2 on your Leonardo or Due is pulled to ground.

Changed line 10 from:
  • Arduino Leonardo board
to:
  • Arduino Leonardo or Arduino Due board
Changed lines 19-20 from:

Connect your Leonardo board to your computer with a micro-USB cable.

to:

Connect your Leonardo or Due board to your computer with a micro-USB cable.

Changed line 48 from:
 * Arduino Leonardo
to:
 * Arduino Leonardo or Arduino Due
May 21, 2012, at 01:47 PM by Scott Fitzgerald -
Changed lines 32-121 from:

(:source http://github.com/arduino/Arduino/raw/master/build/shared/examples/9.USB(Leonardo)/Keyboard/KeyboardSerial/KeyboardSerial.ino lang=arduino tabwidth=4:)

to:

(:source lang=arduino tabwidth=4:) /*

  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
 modified 27 Mar 2012
 by Tom Igoe

 This example is in the public domain

 http://www.arduino.cc/en/Tutorial/KeyboardLogout
 */

  1. define OSX 0
  2. define WINDOWS 1
  3. 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);
  Keyboard.begin();

}

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.write(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.write(KEY_RETURN);
    break;
  }

// do nothing:

  while(true);

}

(:sourceend:)

May 02, 2012, at 10:13 AM by Scott Fitzgerald -
Changed line 32 from:

(:source http://github.com/arduino/Arduino/raw/master/build/shared/examples/9.Keyboard/KeyboardSerial/KeyboardSerial.ino lang=arduino tabwidth=4:)

to:

(:source http://github.com/arduino/Arduino/raw/master/build/shared/examples/9.USB(Leonardo)/Keyboard/KeyboardSerial/KeyboardSerial.ino lang=arduino tabwidth=4:)

April 27, 2012, at 12:52 PM by Scott Fitzgerald -
Changed lines 6-7 from:

NB: When you use the Keybaord.print() command, the Arduino takes over your computer's keyboard! To insure you don't lose control of your computer while running a sketch with this function, make sure to set up a reliable control system before you call Keyboard.print(). This sketch is designed to only send a Keyboard command after the Leonardo has received a byte over the serial port.

to:

NB: When you use the Keyboard.print() command, the Arduino takes over your computer's keyboard! To insure you don't lose control of your computer while running a sketch with this function, make sure to set up a reliable control system before you call Keyboard.print(). This sketch is designed to only send a Keyboard command after a pin has been pulled to ground.

Deleted line 22:
Added line 29:

Before you upload the program to your Leonardo, make sure to comment out any OS you are not currently using.

April 27, 2012, at 12:49 PM by Scott Fitzgerald -
Added lines 24-28:

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Changed line 39 from:

\\

to:

(:include LeonardoSeeAlsoInclude:)

April 17, 2012, at 06:52 PM by Scott Fitzgerald -
Added lines 1-34:

Examples > Keyboard Library

Keyboard Logout

This example uses the Keyboard library to log you out of your user session on your computer when pin 2 on your Leonard is pulled to ground.

NB: When you use the Keybaord.print() command, the Arduino takes over your computer's keyboard! To insure you don't lose control of your computer while running a sketch with this function, make sure to set up a reliable control system before you call Keyboard.print(). This sketch is designed to only send a Keyboard command after the Leonardo has received a byte over the serial port.

(:div class=BOM :) Hardware Required

  • Arduino Leonardo board
  • hookup wire

Software Required

  • none

(:divend:)

Circuit
Connect your Leonardo board to your computer with a micro-USB cable.

To run the sketch, connect a hook-up wire from pin 2 to ground.

Code

(:div class=code :) (:source http://github.com/arduino/Arduino/raw/master/build/shared/examples/9.Keyboard/KeyboardSerial/KeyboardSerial.ino lang=arduino tabwidth=4:) (:divend:)

See Also

\\




Bookmark and Share