arduino虚拟键盘开发环境及对应键盘按键代码今天的stm32系列的开发先断更⼀天,来玩玩淘宝卖的虚拟键盘的硬件(oled屏幕坏了,等⼀个新屏幕) 不知道⼩伙伴有没有见过下图这⼏款淘宝买的标题叫硬件虚拟键盘的设备
上图这⼏款虚拟键盘其实都是⽤的同⼀个IC,多的ESP8266和内存卡插槽啊都是这个IC功能的扩展
如果想了解ESP8266远程控制键盘或者内存卡提取写好脚本控制键盘可以上github到他们的对应开源代码之后有空我也会更新⼀下我在github上⾯使⽤开源代码的效果
那么这篇就介绍⼀下虚拟键盘的开发环境的搭建以及简单的使⽤⽅法
介绍硬件设备:
虚拟键盘IC:atmega32u4
我使⽤的是下图这款,当然没有上⾯淘宝卖的好看,但是功能⼀样嘛
上⾯卖的要50到70之间,我这个只花15块钱,多就有这种惊喜价格,这IC⾃⼰购买的话也要13块钱左右开发环境搭建
3、打开项⽬–加载库中选择点击Keyboard,会将#include <Keyboard.h>⾃动添加到代码中
4、在⼯具–开发板中选择arduino Leonardo,这个开发板的IC就是atmega32u4,配置好这⼏部以后就可以开始测试⼀下硬件虚拟键盘了
来进⾏使⽤实战测试
我们先弄⼀个打开windows下的cmd
过程就是:按下win+R然后填⼊cmd后点击回车畸胎
1 #include <Keyboard.h>
2//为什么加⼊延时
4//避免按下和释放间隔时间太短电脑还没识别到按下
5void setup() {
6 delay(1000);
7 Keyboard.press(KEY_LEFT_GUI);
8 Keyboard.press('r');
9 delay(100);
10 leaseAll();
11 Keyboard.print("cmd");
12 delay(1000);
13 Keyboard.press(KEY_RETURN);
14 delay(100);
15 lease(KEY_RETURN);
16
17 }
18
19void loop() {
20
21 }
打开cmd
这⾥没有过程视频,不过确实是打开了cmd界⾯
注意⼀下要关闭输⼊法,不然打到输⼊法⾥⾯去了
许昆源我们在看⼀下windows下的设备显⽰
未接⼊开发板时
这个是笔记本⾃带的键盘来的
接⼊开发板时
然后就可以看到多了⼀个HID键盘啦
这个端⼝COM5是因为这款IC⾃带串⼝,不仅⽅便直接写⼊重新,还剩下了⼀个USB转串⼝芯⽚真的很好⽤
注意事项:
按下必须和释放配合使⽤
按下Keyboard.press()
释放lease()
另外咱整理了⼀些代码中对应的硬件虚拟键盘键位的定义
也可以在Keyboard.h的库中查看
1键盘左边ctrl --- KEY_LEFT_CTRL
2键盘左边shift --- KEY_LEFT_SHIFT
3键盘左边alt --- KEY_LEFT_ALT
4键盘左边win --- KEY_LEFT_GUI
5键盘右边ctrl --- KEY_RIGHT_CTRL
6键盘右边shift --- KEY_RIGHT_SHIFT
7键盘右边alt --- KEY_RIGHT_ALT
8键盘右边win --- KEY_RIGHT_GUI
cdn服务9⽅向键上 --- KEY_UP_ARROW
10⽅向键下 --- KEY_DOWN_ARROW
11⽅向键左 --- KEY_LEFT_ARROW
d825
12⽅向键右 --- KEY_RIGHT_ARROW
13空格键 --- KEY_BACKSPACE
14 tab键 --- KEY_TAB
15回车键 --- KEY_RETURN
16 esc键 --- KEY_ESC
17 insert键 --- KEY_INSERT
18 delete键 --- KEY_DELETE
19 page up键 --- KEY_PAGE_UP
20 page down键 --- KEY_PAGE_DOWN
21 home键 --- KEY_HOME
22 end键 --- KEY_END
23 capslock键 --- KEY_CAPS_LOCK
24 F1 --- KEY_F1
25 F2 --- KEY_F2
26 F3 --- KEY_F3
27 F4 --- KEY_F4
28 F5 --- KEY_F5
29 F6 --- KEY_F6
键盘映射30 F7 --- KEY_F7
31 F8 --- KEY_F8
32 F9 --- KEY_F9
33 F10 --- KEY_F10
居民收入十年翻一番
34 F11 --- KEY_F11
35 F12 --- KEY_F12
键盘按键定义
结束
这款IC还可以模拟⿏标的移动,真是多功能
有空的话我做⼀个硬件的外挂来玩⼀下,之后也会更新⼀下⿏标移动的开发
今天也是充满希望的⼀天