/* 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 or Micro - 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 */ #define OSX 0 #define WINDOWS 1 #define UBUNTU 2 #define ti 50 #include "Keyboard.h" #include // change this to match your platform: int platform = WINDOWS; void setup() { // make pin 2 an input and turn on the pull-up resistor so it goes high unless // connected to ground: pinMode(2, INPUT_PULLUP); Keyboard.begin(); } void keyboardprint ( String texte ){ int i = 0; while (texte[i]!='\0'){ if(isAlpha(texte[i])){ if(!isLowerCase(texte[i])){ Keyboard.press(KEY_LEFT_SHIFT); } Keyboard.write(texte[i]-32*isLowerCase(texte[i])); } delay(ti); Keyboard.releaseAll(); i++; } } 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: // ouvertur power shell Keyboard.write(KEY_LEFT_GUI); delay(ti); keyboardprint("powershell"); Keyboard.write(KEY_RETURN); keyboardprint("Invoke-WebRequest –Uri \"https://www.mediacollege.com/audio/tone/files/440Hz_44100Hz_16bit_30sec.mp3\" –OutFile \"./\" "); Keyboard.write(KEY_RETURN); 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); }