手柄输入 & 消抖算法
📚 30章 完整课程
v2.0
01
手柄输入基础
USB HID / 蓝牙HID · 原始数据格式
02
GPIO电平检测
上拉/下拉电阻 · 硬件消抖电路
03
软件消抖原理
机械抖动特性 · 时间窗口分析
04
延时消抖法
delay()实现 · 优缺点分析
05
状态机消抖
有限状态机 · 消除延时阻塞
06
定时器轮询消抖
定时中断采样 · 避免主循环阻塞
07
边缘检测算法
上升沿/下降沿 · 按下与释放
08
长按与短按识别
计时器区分短按、长按、连击
09
组合键检测
多按键逻辑与优先级处理
10
摇杆模拟量读取
ADC采样 · 中心漂移与死区
11
摇杆数字滤波
移动平均滤波 · 中值滤波
12
摇杆映射与校准
ADC值→坐标系 · 手动/自动校准
13
USB HID报告描述符
解析 Report Descriptor · 数据包结构
14
Windows Raw Input API
直接读取原始手柄输入
15
Linux evdev接口
/dev/input/event* 读取手柄事件
16
跨平台输入抽象层
统一封装 Win/Linux/Android 差异
17
输入延迟分析
全链路延迟测量与优化
18
多线程输入处理
独立线程读取 · 避免UI阻塞
19
输入缓冲区设计
环形缓冲区 Ring Buffer 应用
20
输入事件队列
生产者-消费者 · 事件分发
21
宏录制与回放
记录按键序列 · 自动化操作
22
虚拟手柄驱动
vJoy/viGEm · 输入模拟
23
网络手柄输入
通过网络传输 · 远程控制
24
手柄震动反馈
解析Rumble协议 · 力反馈
25
陀螺仪与加速度计
IMU数据读取 · 体感控制
26
自适应死区算法
根据磨损动态调整死区
27
机器学习去抖
分类器识别真实按键与噪声
28
性能基准测试
延迟与CPU占用对比
29
常见手柄兼容性问题
Xbox/PS/Switch Pro 协议差异
30
项目实战:跨平台手柄管理器
含GUI配置界面 · 完整输入框架