一、功能介绍
白狐狸宏4.0 是一款基于 ATmega32U4 HID 开发板 的硬件宏工具。
由于目前纯软件层面的宏功能已受到较大限制,因此当前方案采用“硬件 + 软件”结合的方式,通过开发板模拟真实键盘鼠标输入,再由上位机软件进行动作控制与时间轴编排,从而继续实现宏功能及自动化操作效果。
当前支持:
- 键盘宏
- 鼠标宏
- 鼠标移动
- 长按操作
- 无限循环
- 时间轴编排
- 动作编辑
二、准备工作
1、需要购买的硬件
淘宝搜索:
- ATmega32U4 开发板
- Leonardo 开发板
- Pro Micro 32U4
任选一种即可。
建议购买:
- Type-C 接口版本
价格通常:
- 20~30 元左右
注意:
必须是 ATmega32U4 芯片。
不要买:
- UNO
- Nano
- ESP32
这些无法直接作为 HID 键鼠设备使用。
三、需要安装的软件
1、Arduino IDE
官网下载:
安装完成即可。
四、烧录 HID 固件
1、连接开发板
使用数据线连接电脑。
2、Arduino 配置
打开 Arduino IDE:
开发板选择:
工具 → 开发板
选择:
- Arduino Leonardo
或者:
- SparkFun Pro Micro
根据自己购买型号选择。
端口选择
工具 → 端口
选择新出现的 COM 口。
3、创建 Arduino 工程
新建一个工程。
将下面完整代码复制进去。
4、完整 HID 固件代码
#include <Mouse.h>
#include <Keyboard.h>
String cmd = "";
// =========================
// 安全移动(核心优化)
// =========================
void moveSafe(int x, int y) {
while (x != 0 || y != 0) {
int mx = constrain(x, -127, 127);
int my = constrain(y, -127, 127);
Mouse.move(mx, my);
x -= mx;
y -= my;
delay(1); // 防止USB过快丢包(可删除)
}
}
void setup() {
Serial.begin(115200);
Mouse.begin();
Keyboard.begin();
}
void loop() {
while (Serial.available()) {
char c = Serial.read();
if (c == '\n') {
handleCommand(cmd);
cmd = "";
} else {
cmd += c;
}
}
}
void handleCommand(String s) {
s.trim();
// =========================
// 鼠标左键点击
// =========================
if (s == "ML") {
Mouse.click(MOUSE_LEFT);
}
// =========================
// 鼠标右键点击
// =========================
else if (s == "MR") {
Mouse.click(MOUSE_RIGHT);
}
// =========================
// 鼠标左键按下
// =========================
else if (s == "MP") {
Mouse.press(MOUSE_LEFT);
}
// =========================
// 鼠标左键松开
// =========================
else if (s == "MU") {
Mouse.release(MOUSE_LEFT);
}
// =========================
// 鼠标右键按下
// =========================
else if (s == "RP") {
Mouse.press(MOUSE_RIGHT);
}
// =========================
// 鼠标右键松开
// =========================
else if (s == "RU") {
Mouse.release(MOUSE_RIGHT);
}
// =========================
// 鼠标移动(已优化:支持大范围)
// MV:x,y
// =========================
else if (s.startsWith("MV:")) {
int x = 0;
int y = 0;
sscanf(s.c_str(), "MV:%d,%d", &x, &y);
moveSafe(x, y);
}
// =========================
// 鼠标滚轮
// MW:value
// =========================
else if (s.startsWith("MW:")) {
int wheel = s.substring(3).toInt();
Mouse.move(0, 0, wheel);
}
// =========================
// 键盘按下
// KD:keycode
// =========================
else if (s.startsWith("KD:")) {
int key = s.substring(3).toInt();
Keyboard.press(key);
}
// =========================
// 键盘松开
// KU:keycode
// =========================
else if (s.startsWith("KU:")) {
int key = s.substring(3).toInt();
Keyboard.release(key);
}
// =========================
// 单击按键
// KT:keycode
// =========================
else if (s.startsWith("KT:")) {
int key = s.substring(3).toInt();
Keyboard.press(key);
delay(20);
Keyboard.release(key);
}
// =========================
// 释放全部按键
// =========================
else if (s == "KA") {
Keyboard.releaseAll();
}
// =========================
// 释放全部鼠标
// =========================
else if (s == "MA") {
Mouse.release(MOUSE_LEFT);
Mouse.release(MOUSE_RIGHT);
Mouse.release(MOUSE_MIDDLE);
}
}
5、上传固件
点击:
工具栏 → 上传
等待上传完成即可。
成功后开发板会自动识别为 HID 键盘鼠标设备。
五、使用白狐狸宏4.0
1、打开软件
运行:
白狐狸宏4.0.exe
2、连接设备
点击:
“连接设备”
状态栏显示:
已连接 COMx
即代表成功。
3、添加动作
目前支持:
- 键盘按键
- 鼠标左键
- 鼠标移动
- 延迟
- 无限循环
- 指定循环次数
4、时间轴编辑
软件支持:
- 修改动作顺序
- 修改按住时间
- 修改动作间隔
- 删除动作
- 无限循环
时间单位均为:
毫秒(ms)
5、载入预设宏
可下方链接先下载预设宏文件到本地,再导入预设的宏文件
1. 2号位动作仅鞠躬刷花
2. 0.2秒鼠标左键循环
3. 放生精灵全选

六、开始运行
快捷键
- 数字 8 → 开始运行
- 数字 9 → 停止运行
也可以直接点击界面按钮。
七、常见问题
1、提示未找到开发板
请检查:
- 是否连接数据线
- 是否安装驱动
- 是否为 ATmega32U4
- 是否能在 Arduino IDE 中看到端口
2、按键无反应
请确认:
- 固件已正确烧录
- 开发板已识别为 HID
- 软件已成功连接 COM 口
3、热键无效
请尝试:
右键 → 管理员运行
部分系统需要管理员权限才能监听全局热键。
八、免责声明
本工具仅用于:
- 学习研究
- 自动化测试
- HID 开发实验
请勿用于违反游戏规则或相关平台规定的用途。
由用户自行承担使用风险。