串口指令操作键鼠方案(键盘)

芯片名称:CH9329

(丝印同上)

82d6ed8d196f4b5eb975b7cb8fb8f3f1.png

通过串口发送指令数据,芯片将指令数据转化为键盘或鼠标操作行为的指令数据,并通过USB发送给被控制设备完成操作。


键盘操作串口数据帧:

e83b99e08dab456a8c8cecfd7b964ffb.png

 

【1】:控制键(Win / Alt / Shift / Ctrl)

b2d9a499c87743af865b2530e9c7f76c.png

例如:

按下右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指令数据,芯片会模拟一直按着上一份指令数据发来的按键