KeyboardLogout

Bu örnek, Leonardo, Micro veya Due üzerindeki pim 2 toprağa çekildiğinde bilgisayarınızdaki kullanıcı oturumunuzdaki oturumunuzu kapatmak için Klavye kitaplığını kullanır. Çizim, aynı anda iki veya üç tuş sırasıyla tuş basımını simüle eder ve kısa bir gecikmeden sonra onları serbest bırakır.

NB: Keyboard.print () komutunu kullandığınızda, Arduino bilgisayarınızın klavyesini devralır! Bu işlevle bir çizim çalıştırırken bilgisayarınızın kontrolünü kaybetmemenizi sağlamak için Keyboard.print () öğesini aramadan önce güvenilir bir kontrol sistemi kurduğunuzdan emin olun. Bu çizim, yalnızca bir iğne toprağa çekildikten sonra bir Klavye komutu göndermek için tasarlanmıştır.

Gerekli Donanım

  • Arduino Leonardo, Micro veya Due board
  • butona basınız
  • bağlantı telleri
  • breadboard

Devre

büyütmek için resme tıklayın

Şematik

büyütmek için resme tıklayın

Kod

Programı kartınıza yüklemeden önce, şu anda kullandığınız doğru işletim sistemini platform değişkenine atadığınızdan emin olun.

Çizim çalışırken, düğmeye basmak pim 2'yi toprağa bağlar ve kart çıkış sırasını USB'ye bağlı bilgisayara gönderir.

/*
  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:egitim.aspx?e=KeyboardLogout
*/


#define OSX 0
#define WINDOWS 1
#define UBUNTU 2

#include "Keyboard.h"

// change this to match your platform:
int platform = OSX;

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 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-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);
}
[Kodu Al]

See Also