键盘注销
编辑教程键盘注销
本示例使用键盘库将你在计算机上的用户会话注销,此时ARDUINO UNO上的引脚2被拉至接地。草图同时按两个或三个按键的顺序模拟按键,并在短暂的延迟之后释放它们。
警告 - 当你使用 Keyboard.print()命令时,Arduino接管你的计算机键盘。为确保在使用此功能运行草图时不会失去对计算机的控制,请在调用Keyboard.print()之前设置可靠的控制系统。此草图旨在在引脚被拉至接地后才发送键盘命令。
必需的组件
你将需要以下组件:
- 1 × Breadboard 面包板
- 1 × Arduino Leonardo, Micro, 或Due板
- 1 × 按钮
- 1 × 跳线
程序
按照电路图连接面包板上的组件,如下图所示。
草图
在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的草图文件。
对于本例,你需要使用Arduino IDE 1.6.7
注意 - 你必须在Arduino库文件中包含键盘库。将键盘库文件复制并粘贴到名为libraries的文件(下图高亮显示)中,如以下屏幕截图所示。
Arduino代码
/\*
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.
\*/
#define OSX 0
#define WINDOWS 1
#define UBUNTU 2
#include "Keyboard.h"
// 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);
}
代码说明
在将程序上传到你的板之前,请确保将正在使用的正确操作系统分配给平台变量。
在草图运行时,按下按钮将引脚2接地,而板将发送注销序列发送到USB连接的PC。
结果
当将引脚2接地时,它将执行注销操作。
它使用以下键盘组合注销:
- 在 Windows 上,按CTRL-ALT-DEL,然后按ALT-l
- 在 Ubuntu ,CTRL-ALT-DEL和ENTER
- 在 OSX 上,CMD-SHIFT-q
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟