ESP32蓝牙模拟键盘(工作笔记)

ESP32蓝牙键盘库的位置

https://github.com/T-vK/ESP32-BLE-Keyboard
https://www.arduino.cc/reference/en/language/functions/usb/keyboard/

蓝牙库诞生于USB的库中,所以keyboard全为blekeyboard

使用的时候调用的库

KEY_MEDIA_NEXT_TRACKKEY_MEDIA_PREVIOUS_TRACKKEY_MEDIA_STOPKEY_MEDIA_PLAY_PAUSEKEY_MEDIA_MUTEKEY_MEDIA_VOLUME_UPKEY_MEDIA_VOLUME_DOWNKEY_MEDIA_WWW_HOMEKEY_MEDIA_LOCAL_MACHINE_BROWSER // 在 Windows 上打开“我的电脑”KEY_MEDIA_CALCULATORKEY_MEDIA_WWW_BOOKMARKSKEY_MEDIA_WWW_SEARCHKEY_MEDIA_WWW_STOPKEY_MEDIA_WWW_BACKKEY_MEDIA_CONSUMER_CONTROL_CONFIGURATION // 媒体选择KEY_MEDIA_EMAIL_READER

ble的库是有一些媒体按键,就是播放暂停什么的

BleKeyboard bleKeyboard("Bluetooth Device Name", "Bluetooth Device Manufacturer", 100);

使用前需要写一下这个,你模拟的设备的名字以及设备制造商的名字,以及一个电量,当然是假的。

bleKeyboard.setDelay(10)

这个是设置延时时间,就是有的设备会丢掉输入快的字符。默认是8

如果真的要用,也可以设置一下这个,节省空间嗷

下面是更加数据化的内容

#define USE_NIMBLE#include <BleKeyboard.h>

使用的时候,把这个宏写上就好。

上面就是模拟按下一个按键,下面是模拟所谓的媒体键

注意一下,就是摁下去了。

release是对应的上面松开,后面是全松开

看下乱入的这个wirte,是个啥?

最后这个函数的参数有点没有看懂

就是按下+松开的结合体。组合按键及其有用,比如模拟各种快捷键。

去源码看看

press这不是就摁了吗?

接下来这不就释放了吗

我又去看看size_t是个啥,就当成一个int看

那对比的看就是相当于,后面的这个函数

传了好多的单独的这样的按键,以至于使用了一个缓冲的空间

一开始n=0

循环减去次数,每次循环里面都去判断缓冲里面的东西不等于

这个回车,因为就是一行一串命令嘛

里面循环的载调用write函数(有点递归的感觉),每次执行变量n+1

当没有可以执行的串就break,注意是全跳出循环

当size为0时,返回一个最终的计数值n。

注意这个代码是一串字符加一个回车,是一个要发送的命令列

Keyboard.write(65); // sends ASCII value 65, or AKeyboard.write('A'); // same thing as a quoted characterKeyboard.write(0x41); // same thing in hexadecimalKeyboard.write(0b01000001); // same thing in binary (weird choice, but it works)

写入的参数可以是这样的,返回值是一个字节数

还有一个这样的函数吗?

BleKeyboard bleKeyboard;
void setup(){ Serial.begin(115200); Serial.println("Starting BLE work!"); bleKeyboard.begin();}
void loop(){Hello world
if (bleKeyboard.isConnected()){ Serial.println("Sending 'Hello world'..."); bleKeyboard.print("Hello world");
delay(1000);
Serial.println("Sending Enter key..."); bleKeyboard.write(KEY_RETURN);
delay(1000);
Serial.println("Sending Play/Pause media key..."); bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);
delay(1000);
Serial.println("Sending Ctrl+Alt+Delete..."); bleKeyboard.press(KEY_LEFT_CTRL); bleKeyboard.press(KEY_LEFT_ALT); bleKeyboard.press(KEY_DELETE); delay(100); bleKeyboard.releaseAll(); }
Serial.println("Waiting 5 seconds..."); delay(5000);}

自带的demo不错子~

媒体按键的调用

快捷键的编组使用

我迷惑一点是,我都刷过这个程序了,居然现在屏幕还亮着。

https://github.com/arduino-libraries/Keyboard/

最后补一点,ble是从USB的库来的,所以大家可以看这个库掌握最初的设计思想。

(0)

相关推荐

  • 给Phyphox增加位移传感器(1)

    给Phyphox增加位移传感器(1) 做些准备工作,给Phyphox增加位移传感器,以便有多种方法实现运动学中的.离开实验室的实验. VL6180X是一款TOF飞行时间传感器,测量原理是通过芯片上的一 ...

  • Arduino Nano 33 BLE batteryLevel判断接触动作

    Arduino Nano 33 BLE batteryLevel判断接触动作 Phyphox BLE的扩展主推Ardoino的几款新发布的Nano 33,而ESP32是列在推荐最后的. 但是,目前来看 ...

  • Arduino 2560 esp8266控制LED(可不用USB转TTL)

    Arduino 2560+esp8266控制LED 真的不得不记录下这一刻,搞了好几天的esp8266终于能点亮LED了,我来给大家分享下. 通常,大家买来esp8266会先接USB转TTL用ssco ...

  • 多普勒传感器模块RCWL

    文章目录[隐藏] RCWL-0516微波雷达运动传感器模块 RCWL-0516模块的运用 无意中得到一块RCWL-0516微波雷达运动传感器模块也称RCWL-0516多普勒模块,RCWL-0516模块 ...

  • 3-1-4NodeMCU开发板的无线终端模式

    无线终端模式(Station) 1. 连接WiFI 如下图所示,ESP8266可通过WiFi连接无线路由器.这与用您的手机通过WiFi连接无线路由器的模式相同. ESP8266-NodeMCU无线终端 ...

  • 看看清朝公务员的工作笔记

    清内府小楷抄本<筹办夷务始末>卷之五,故宫博物院藏. <筹办夷务始末>共100卷,清宝鋆等12人奉敕编纂,内府朱丝栏抄本,板框24.9cm×16.3cm.朱口,双朱鱼尾,四周双 ...

  • 【工作笔记】关于三重一大

    前言 ERP行业是一个几乎可以渗透到全行业的产业,所以ERP实施顾问也是一个可以有机会可以深入了解到全行业知识的职业,如果每个顾问都在自己的项目所在的行业进行信息化角度的知识提炼.总结和解读,或许可以 ...

  • 超实用!简单一张图,让你学会高效工作笔记术

    文/职场逗伴匠 前两天,开完部门月度总结会议,我大致看了下属们的现场笔记概况,结果是千差万别. 有的人,从第一行写到最后一行,整个笔记本满满当当,似乎内容很丰富. 有的人,一页纸就寥寥几行字,内容呈现 ...

  • 思维导图PPT:《麦肯锡意识》工作笔记,146页PPT

    xiaoz   思维导图PPT  2019-04-17 文 | 明哥,前麦肯锡战略咨询顾问,埃森哲管理咨询顾问,一个喜欢用思维导图架构PPT的老司机,欢迎关注,一起成为职场精英. 文章字数:2500字 ...

  • 工作笔记 【K线就是那么简单】—K线时间。

    工作笔记 【K线就是那么简单】—K线时间。

  • 工作笔记 | 好记性不如烂笔头

    某个周日是父亲节, 那个周日我归档了年审的最后一个项目, 与客户爸爸共庆本次年审officially over. 升职转换角色后的第一个年审挺酸爽的, 往事一幕幕感慨万千后, 通常凝练成一句话: 握草 ...

  • 学用系列|Notion,一站式学习工作笔记

    如果你在寻找一款跨平台的全能笔记工作App,如果你是一个喜欢用知识库管理自己的各种笔记,如果你愿意接受一个全英文的操作界面,Notion是一个值得尝试的选择. 基本功能介绍 一站式解决文档.工作列表. ...

  • 一个专业网管的工作笔记(超级珍藏)

    第1章 故障处理方法 一.网络的复杂性 一般网络包括路由.拨号.交换.视频.WAN(ISDN.帧中继.ATM.-).LAN.VLAN.- 二.故障处理模型 1. 界定问题(Define the Pro ...

  • 打通手机电脑平板输入界限,双飞燕飞时代蓝牙多模键盘FBK 25评测

    在现在移动办公环境中,你可以不用台式主机甚至不用笔记本电脑,但你一定离不了键盘和鼠标. 但是现在我们往往手头都有多种办公设备,台式机.手机.平板.笔记本电脑,如果一套键盘只能适配一个设备的话,我们难道 ...