详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标
Posted 17岁boy想当攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标相关的知识,希望对你有一定的参考价值。
目录
前言
理论知识可以参考这篇文章:什么是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) | 结束键盘通信 |
模拟键盘输入字符 | |
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");//输入cmd
Keyboard.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实现虚拟键盘与鼠标的主要内容,如果未能解决你的问题,请参考以下文章
详解如何基于Arduino兼容板Digispark实现虚拟键盘与鼠标
详解如何基于Arduino兼容板Digispark实现虚拟键盘与鼠标