使用沁恒CH552G 51单片机制作的自定义键盘(也可以用CH551G),使用3个凯华矮轴以及一个EC16增量旋转编码器(EC11也可以,附件里有EC11的工程),接口用带定位柱的MICRO-USB,MICRO-USB旁边H1的是用于短接插进入电脑进行程序下载(不必焊接排针,用镊子短接就行)。为了避免使用不同的旋转编码器驱动有问题,附件里提供了我使用的2种旋转编码器的链接、程序源码、元器件清单、HID协议、HID用途表。
按键功能自定义:
普通键盘按键:
普通按键hid值可以看我附件里提供的HID用途表1.12.pdf的**Keyboard/Keypad Page的Usage ID(Hex) **以C的06为0x06。键盘发送给PC的数据每次8个字节:BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8。定义分别是:
BYTE1 --
|--bit0: Left Control 0x01
|--bit1: Left Shift 0x02
|--bit2: Left Alt 0x04
|--bit3: Left GUI(win键) 0x08
|--bit4: Right Control 0x10
|--bit5: Right Shift 0x20
|--bit6: Right Alt 0x40
|--bit7: Right GUI 0x80
BYTE2 -- 暂不清楚,有的地方说是保留位
BYTE3--BYTE8 -- 这六个为普通按键
以按键1修改为例:
按键功能:ctrl + c
if(keyCode == 0x31)//按键1
{<