今天的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界面
注意一下要關閉輸入法,不然打到輸入法里面去了
我們在看一下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還可以模擬鼠標的移動,真是多功能
有空的話我做一個硬件的外掛來玩一下,之后也會更新一下鼠標移動的開發
今天也是充滿希望的一天

