Kijelentkezteti az aktuális felhasználót billentyűparancsokkal.
Utolsó felülvizsgálat: 2022.02.04 16:50
Ez a példa a Keyboard könyvtárat használja arra, hogy kijelentkezzen a felhasználói munkamenetből a számítógépén, amikor a Leonardo, Micro vagy Due készülék 2. kivezetése lehúzásra kerül. A vázlat szimulálja a két vagy három billentyű egyidejű lenyomását, majd kis késleltetés után elengedi azokat.
Megjegyzés: Amikor a Keyboard.print() parancsot használja, az Arduino átveszi a számítógép billentyűzetét! Annak érdekében, hogy ne veszítse el az uralmat a számítógépe felett, miközben vázlatot futtat ezzel a funkcióval, győződjön meg arról, hogy egy megbízható vezérlőrendszert állít be, mielőtt meghívja a Keyboard.print() parancsot. Ezt a vázlatot úgy tervezték, hogy csak akkor küldjön billentyűzetparancsot, ha egy kivezetést a földre húztak.
Hardver szükséglet
Arduino Leonardo, Micro vagy Due kártya
nyomógomb
összekötő vezetékek
dugdosós próbapanel (breadboard)
Az áramkör

Vázlat

A kód
Mielőtt feltölti a programot a kártyára, győződjön meg arról, hogy a jelenleg használt, megfelelő operációs rendszert rendeli hozzá a platformváltozóhoz.
Amíg a vázlat fut, a gomb megnyomásával a 2-es kivezetés a földhöz kapcsolódik, és a kártya elküldi a kijelentkezési szekvenciát az USB-hez csatlakoztatott számítógépre.
/*
Keyboard logout
Ez a vázlat a Keyboard könyvtárat mutatja be.
Amikor a 2. kivezetést a földhöz csatlakoztatja, kijelentkezik.
Ehhez billentyűzetkombinációkat használ, az alábbiak szerint:
Windows rendszeren: CTRL-ALT-DEL, majd ALT-l
Ubuntu esetén CTRL-ALT-DEL és ENTER
OSX-en CMD-SHIFT-q
Ébresztés: szóköz.
Az áramkör:
- Arduino Leonardo vagy Micro
- vezeték a D2 földhöz csatlakoztatásához
created 6 Mar 2012
modified 27 Mar 2012
by Tom Igoe
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/usb/KeyboardLogout
*/
#define OSX 0
#define WINDOWS 1
#define UBUNTU 2
#include "Keyboard.h"
// módosítsa ezt, hogy megfeleljen a platformnak:
int platform = WINDOWS;
void setup() {
// tegye a 2-es érintkezőt bemenetté, és kapcsolja be a felhúzó ellenállást,
// hogy magasra menjen, hacsak nincs földelve:
pinMode(2, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
while (digitalRead(2) == HIGH) {
// ne csináljon semmit, amíg a 2. kivezetés LOW-ra nem megy
delay(500);
}
delay(1000);
switch (platform) {
case OSX:
Keyboard.press(KEY_LEFT_GUI);
// Shift-Q kijelentkezés:
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 a logout megerősítéséhez:
Keyboard.write(KEY_RETURN);
break;
}
// ne csinálj semmit:
while (true);
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.