目录

前言

硬件环境

环境配置

1. 下载Teensy烧录程序

2 下载TeensyDuino

使用方法

1 模拟键盘

1.1 Keyboard库函数介绍:

1.2 Keyboard键码表:

1.3 示例

2 模拟鼠标

1.1 Mouse库API介绍

1.2 宏介绍

1.3 示例

官方示例


前言

理论知识可以参考这篇文章:什么是Arduino?Arduino的起源与架构简述_17岁boy的博客-CSDN博客

Arduino 虚拟键盘方面的可以参考这篇:详解如何基于Arduino兼容板Digispark实现虚拟键盘与鼠标_17岁boy的博客-CSDN博客

硬件环境

开发板名称

MCU

FLASH闪存大小

TEENSY LC

MKL16Z32VFM4

62KB

外观

环境配置

1. 下载Teensy烧录程序

下载地址:Teensy Loader Application - available for Windows, Linux and Macintosh systems

选择一个合适的版本下载

2 下载TeensyDuino

下载地址:Teensyduino: Download and Install Teensy support into the Arduino IDE

安装路径需要选择Adrduino的根目录才能安装

安装完成后打开Adruino在Tools中Board中就可以看到Teensy板子相关的类型

使用方法

1 模拟键盘

模拟键盘可以直接使用Arduino中的Keyboard库就可以了,Teensy是Arduino的兼容板可以直接使用Arduino中的支持库。

这里需要将设备类型选为Keyboard才能使用Keyboard库且才能被识别为输入键盘设备

1.1 Keyboard库函数介绍:

函数名

作用

begin(void) 开启键盘通信
end(void) 结束键盘通信
print  模拟键盘输入字符
press(uint8_t k) 按下键盘某一键
release(uint8_t k) 松开键盘某一键
releaseAll(void) 松开所有键
write(uint8_t k) 模拟键盘输出ASCII码或Hex值对应的按键

1.2 Keyboard键码表:

#define KEY_LEFT_CTRL   0x80
#define KEY_LEFT_SHIFT    0x81
#define KEY_LEFT_ALT    0x82
#define KEY_LEFT_GUI    0x83
#define KEY_RIGHT_CTRL    0x84
#define KEY_RIGHT_SHIFT   0x85
#define KEY_RIGHT_ALT   0x86
#define KEY_RIGHT_GUI   0x87#define KEY_UP_ARROW    0xDA
#define KEY_DOWN_ARROW    0xD9
#define KEY_LEFT_ARROW    0xD8
#define KEY_RIGHT_ARROW   0xD7
#define KEY_BACKSPACE   0xB2
#define KEY_TAB       0xB3
#define KEY_RETURN      0xB0
#define KEY_ESC       0xB1
#define KEY_INSERT      0xD1
#define KEY_DELETE      0xD4
#define KEY_PAGE_UP     0xD3
#define KEY_PAGE_DOWN   0xD6
#define KEY_HOME      0xD2
#define KEY_END       0xD5
#define KEY_CAPS_LOCK   0xC1
#define KEY_F1        0xC2
#define KEY_F2        0xC3
#define KEY_F3        0xC4
#define KEY_F4        0xC5
#define KEY_F5        0xC6
#define KEY_F6        0xC7
#define KEY_F7        0xC8
#define KEY_F8        0xC9
#define KEY_F9        0xCA
#define KEY_F10       0xCB
#define KEY_F11       0xCC
#define KEY_F12       0xCD
#define KEY_F13       0xF0
#define KEY_F14       0xF1
#define KEY_F15       0xF2
#define KEY_F16       0xF3
#define KEY_F17       0xF4
#define KEY_F18       0xF5
#define KEY_F19       0xF6
#define KEY_F20       0xF7
#define KEY_F21       0xF8
#define KEY_F22       0xF9
#define KEY_F23       0xFA
#define KEY_F24       0xFB

1.3 示例

void setup() {// put your setup code here, to run once:Keyboard.begin();//开始键盘通讯delay(1000);//延时Keyboard.press(KEY_LEFT_GUI);//win键delay(500);Keyboard.press('r');//r键delay(500);Keyboard.release(KEY_LEFT_GUI);Keyboard.release('r');Keyboard.press(KEY_CAPS_LOCK);//按下大写键Keyboard.release(KEY_CAPS_LOCK);//松开大写键delay(500);Keyboard.println("cmd");//输入cmdKeyboard.press(KEY_RETURN);Keyboard.release(KEY_RETURN);Keyboard.press(KEY_CAPS_LOCK);Keyboard.release(KEY_CAPS_LOCK);Keyboard.end();//结束键盘通讯
}void loop() {// put your main code here, to run repeatedly:}

此示例会打开电脑中的CMD窗口,点击烧录按钮后会弹出如下窗口

若烧录按钮为灰色则点击板子上的按钮即可进入烧录模式,如何点击烧录按钮即可

2 模拟鼠标

需要将设备类型选为Keyboard + Mouse + Joystick 

1.1 Mouse库API介绍

函数名

作用

begin(void) 开始模拟鼠标
end(void) 停止模拟鼠标
click(uint8_t b = MOUSE_LEFT) 点击鼠标
move(signed char x, signed char y, signed char wheel = 0) 移动鼠标
press(uint8_t b = MOUSE_LEFT) 按下鼠标
release(uint8_t b = MOUSE_LEFT) 释放按下鼠标
isPressed(uint8_t b = MOUSE_LEFT) 检查鼠标是否被按下

1.2 宏介绍

名称

作用

名称

作用

MOUSE_LEFT 左键
MOUSE_RIGHT 右键
MOUSE_MIDDLE 齿轮
MOUSE_ALL 所有鼠标按键

1.3 示例

void setup() {Mouse.begin();Mouse.move(10,10);
}void loop() {// put your main code here, to run repeatedly:}

鼠标会移动到X与Y为10的坐标上

官方示例

在安装好TeensyDuino后可以在File-Examples-Teensy中看到官方的示例

详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标相关推荐

  1. 详解如何基于Arduino兼容板Digispark实现虚拟键盘与鼠标

    目录 前言 硬件环境 USB协议 Digispark介绍 Attiny85介绍 开始前准备 1. 安装Arduino 兼容板设备文件 2. 安装下载驱动 模拟键盘 模拟鼠标 下载到开发板 前言 理论知 ...

  2. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

  3. 技术详解:基于人脸识别的 AI 弹幕

    --------点击屏幕右侧或者屏幕底部"+订阅",关注我,随时分享机器智能最新行业动态及技术干货---------- 有时候,弹幕比剧情还精彩,那些脑洞大开.观点鲜明的弹幕,可以 ...

  4. 详解利用基于gensim的TF-IDF算法实现基于文本相似度的推荐算法

    详解利用基于gensim的TF-IDF算法实现基于文本相似度的推荐算法 TF-IDF的基本原理 算法思想 计算公式 相似度计算原理 微型图书推荐案例 案例背景 开发工具 数据预处理 TF-IDF模型建 ...

  5. DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析)、使用方法(NLP领域/CV领域)、案例应用之详细攻略

    DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析).使用方法(NLP领域/CV领域).案例应用之详细攻略 目录 Transfo ...

  6. 决策树详解python基于Kaggle的Titanic数据实现决策树分类

    决策树详解&&python基于Kaggle的Titanic数据实现决策树分类 一 决策树算法详解 1.前期准备 实验目的准备 2.决策树概述 2.1 决策树 2.2 ID3算法原理 2 ...

  7. 基于Arduino开发板的火焰报警器

    ** 基于Arduino开发板的火焰报警器* 概述 本文将通过使用火焰传感器与Arduino UNO组成一个简单的火灾报警系统.该火焰传感器是基于IR(红外线 Infrared Radiation)的 ...

  8. 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)网购链接

    <Linux设备驱动开发详解:基于最新的Linux 4.0内核> china-pub   天猫     dangdang   京东 China-pub 8月新书销售榜 推荐序一 技术日新月 ...

  9. HashMap原理详解(基于jdk1.8)

    HashMap原理详解(基于jdk1.8) HashMap原理详解,有兴趣的同学可以看下.有错误的地方也希望大佬们能指点下. HashMap的内部存储是一个数组(bucket),数组的元素Node实现 ...

最新文章

  1. Web API 简单示例
  2. 你碰到过的最难调试的 Bug 是什么样的?
  3. python socketserver最大连接_大聊Python----SocketServer
  4. 鸿蒙宴原文及翻译,《鸿门宴》文言文原文及全文详细翻译
  5. 建立一个端口为8189的服务器,它无限期等待直到有客户连接这个端口。若客户在网上发送正确的请求连接了这个端口,则服务器与客户之间就建立了一个可靠的连接。
  6. 引用com.sencha.gxt.ui.GXT加载错误解决方案
  7. MLDN Java学习笔记(3)
  8. python调用按键精灵插件_[良心教程]分享最新最实用的按键精灵封装函数
  9. BUUCTF:sqltest
  10. Redis客户端与服务端
  11. [渝粤教育] 哈尔滨工业大学 大学计算机—计算思维导论 参考 资料
  12. 练习电脑键盘打字最好的网站
  13. linux 如何添加用户,Linux 怎么添加用户(adduser)
  14. 重磅!全球前2%顶尖科学家榜单发布!
  15. 【博主推荐】html好看的爱心告白源码
  16. 深度调查:危险的“360安全卫士”!
  17. at命令不生效 linux_Linux命令之at
  18. 一个有用的Win32消息处理宏HANDLE_MSG
  19. Kotlin: Java 6 废土中的一线希望
  20. mysql 添加字段并设置为自增长

热门文章

  1. python dlib gpu ubuntu conda_Ubuntu 下编译支持 GPU 的 TensorFlow 和 Dlib
  2. 前端每日一算(我掐指一算,這题不难~入门啊入门)
  3. 服务器上登录网页ip地址,查看服务器上登录的ip地址
  4. jdbc basedao mysql_Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类
  5. php如何判断是ajax,php如何判断是ajax
  6. linux 环境下安装 docker 精简步骤
  7. java编写数字时钟_用JAVA写数字时钟
  8. c语言 int a 5,在C语言中,有如下的写法:int a = 5; int *pa; pa = (a + 1);
  9. php 实现联想式 搜索,php实现联想搜索,你会吗?_后端开发
  10. 计算机原理华东理工大学期末成绩查询,华东理工大学微机原理历年真题第十一章.ppt...