芯片名称:CH9329
(丝印同上)
通过串口发送指令数据,芯片将指令数据转化为键盘或鼠标操作行为的指令数据,并通过USB发送给被控制设备完成操作。
键盘操作串口数据帧:
【1】:控制键(Win / Alt / Shift / Ctrl)
例如:
按下右Win是1000 0000,即0x80
同时按下右Win和左Win是1000 1000,即0x88
【2】:普通按键
对应数据 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
0 | 松开 | A | B | C | D | E | F | G | H | I | J | K | L | |||
1 | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 1 | 2 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Enter | Esc | BackSpace | Tab | Space | - _ | = + | [ { |
3 | ] } | \ | | ; : | " | ` ~ | , < | . > | / ? | CapsLock | F1 | F2 | F3 | F4 | F5 | F6 | |
4 | F7 | F8 | F9 | F10 | F11 | F12 | PrtSc | ScrLk | Pause | Ins | Home | PgUp | Del | End | PgDn | right |
5 | left | down | up | NumLock' | /' | *' | -' | +' | Enter' | 1' | 2' | 3' | 4' | 5' | 6' | 7' |
6 | 8' | 9' | 0' | .' |
例如:
按下 A 键即0x04
松开按键即0x00
备注:最后几个末尾带 ‘ 的按键是小数字键盘按键
【3】到【7】也都是普通按键,用法和【2】一样
如果只按下一个普通按键,【2】到【7】任意一个为该按键的对应数据即可,其他填0x00
如果有多个按键同时按下,则【2】到【7】分别填入按键的对应数据,即最多同时按下6个普通按键
(总体上最多同时按下控制键和普通按键,一共8+6个键)
【8】:前面数据的累加和
由0x0c+【1】+【2】+【3】+【4】+【5】+【6】+【7】得到数据,建议用单片机程序计算补全
例如:
按下 A 键的完整指令数据为:0x57、0xab、0x00、0x02、0x08、0x00、0x00、0x04、0x00、0x00、0x00、0x00、0x00、0x10,此处0x10 = 0x0c + 0x00 + 0x04 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00
松开所有按键的完整指令数据为:0x57、0xab、0x00、0x02、0x08、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x0c,此处0x0c = 0x0c + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00
注意:如果不发送按键的0x00指令数据,芯片会模拟一直按着上一份指令数据发来的按键