Insert title here

arduino虚拟键盘开发环境及对应键盘按键代码

今天的stm32系列的开发先断更一天,来玩玩淘宝卖的虚拟键盘的硬件(oled屏幕坏了,等一个新屏幕)

不知道小伙伴有没有见过下图这几款淘宝买的标题叫硬件虚拟键盘的设备

 

 

上图这几款虚拟键盘其实都是用的同一个IC,多的ESP8266和内存卡插槽啊都是这个IC功能的扩展

如果想了解ESP8266远程控制键盘或者内存卡提取写好脚本控制键盘可以上github找到他们的对应开源代码

之后有空我也会更新一下我在github上面使用开源代码的效果

 

那么这篇就介绍一下虚拟键盘的开发环境的搭建以及简单的使用方法

介绍硬件设备:

虚拟键盘IC:atmega32u4

我使用的是下图这款,当然没有上面淘宝卖的好看,但是功能一样嘛

上面卖的要50到70之间,我这个只花15块钱,多找找就有这种惊喜价格,这IC自己购买的话也要13块钱左右

 

开发环境搭建

1、先从arduino官网下载arduino IDE,下载地址:https://www.arduino.cc/en/Main/Software
这里我用的系统是win10,下载的IDE也是win10免安装版,直接解压找到exe文件就可以使用了,我jio得比较方便

 

2、下载完成以后打开arduino IDE--文件--首选项,在附加开发板管理器网址填入http://www.arduino.cn/thread-5838-1-1.html,点击好

 

 

3、打开项目–加载库中选择点击Keyboard,会将#include <Keyboard.h>自动添加到代码中

 

 

4、在工具–开发板中选择arduino Leonardo,这个开发板的IC就是atmega32u4,配置好这几部以后就可以开始测试一下硬件虚拟键盘了

 

 

来进行使用实战测试

我们先弄一个打开windows下的cmd

过程就是:按下win+R然后填入cmd后点击回车

 1 #include <Keyboard.h>
 2 //为什么加入延时
 3 //每个按键按下和释放都需要一个短暂的时间间隔
 4 //避免按下和释放间隔时间太短电脑还没识别到按下
 5 void setup() {
 6   delay(1000);
 7   Keyboard.press(KEY_LEFT_GUI);
 8   Keyboard.press('r');  
 9   delay(100);
10   Keyboard.releaseAll();
11   Keyboard.print("cmd");
12   delay(1000);
13   Keyboard.press(KEY_RETURN); 
14   delay(100);
15   Keyboard.release(KEY_RETURN);
16   
17 }
18 
19 void loop() {
20  
21 }
打开cmd

这里没有过程视频,不过确实是打开了cmd界面

注意一下要关闭输入法,不然打到输入法里面去了

 

我们在看一下windows下的设备显示

未接入开发板时

这个是笔记本自带的键盘来的

 

接入开发板时

 然后就可以看到多了一个HID键盘啦

 这个端口COM5是因为这款IC自带串口,不仅方便直接写入重新,还剩下了一个USB转串口芯片

真的很好用!!!

 

 注意事项:

按下必须和释放配合使用

按下Keyboard.press()

释放Keyboard.release()

 

另外咱整理了一些代码中对应的硬件虚拟键盘键位的定义

也可以在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
 9 方向键上        ---   KEY_UP_ARROW
10 方向键下        ---   KEY_DOWN_ARROW
11 方向键左        ---   KEY_LEFT_ARROW
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还可以模拟鼠标的移动,真是多功能

有空的话我做一个硬件的外挂来玩一下,之后也会更新一下鼠标移动的开发

 

今天也是充满希望的一天

 

 

 

 

posted @ 2020-02-06 23:26  这一切足够了  阅读(8440)  评论(0编辑  收藏  举报
复制代码