Blame view

codecleusb 2.22 KB
06e78c20   mduquesn   add cle usb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  /*
    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 <string.h>
  
  // 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);
  }