Arduino - Keyboard Logout

    0

    0

    Sohail Gulam

    unoarduino

    This example uses the Keyboard library to log you out of your user session on your computer when pin 2 on the ARDUINO UNO is pulled to ground. The sketch simulates the keypress in sequence of two or three keys at the same time and after a short delay, it releases them.

    Warning βˆ’ When you use the Keyboard.print() command, Arduino takes over your computer's keyboard. To ensure you do not lose control of your computer while running a sketch with this function, 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.

    #include "Keyboard.h"
    
    #define OSX 0
    #define WINDOWS 1
    #define UBUNTU 2
    // change this to match your platform:
    int platform = WINDOWS;
    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);
    	  
          // 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-l:
          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);
    }
    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-l:
          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);
    }
    
    Codiga Logo
    Codiga Hub
    • Rulesets
    • Playground
    • Snippets
    • Cookbooks
    Legal
    • Security
    • Privacy Policy
    • Code Privacy
    • Terms of Service
    soc-2 icon

    We are SOC-2 Compliance Certified

    G2 high performer medal

    Codiga – All rights reserved 2022.