我有莱昂纳多/微设备,应该模仿键盘。我想修改一下图书馆。原因是我希望能够发送原始的扫描代码,因为库做了一些准备工作。我查看了源代码,也查了HID库,但很难理解以下几点:
发布于 2015-12-07 18:36:27
我会尽我所能回答你的问题。如果你还有问题,请告诉我:
我相信这些只是占位符,以防需要初始化或清理。其他库具有相同的功能(例如鼠标库)。我怀疑他们在那里是为了一致性,以防万一他们是需要的。
typedef struct
{
uint8_t modifiers;
uint8_t reserved;
uint8_t keys[6];
} KeyReport;KeyReport是表示发送到主机的USB消息的数据结构。
它会被发送到主机。
有些键是“常规”键(例如A、B、1、2、#等)。其他键是修饰符(例如Shift、Ctrl、Alt)。修饰符键在KeyReport.modifiers中设置标志。例如,左移位键为0x02。
可以同时按下的“常规”键数为6,但也可以按下修饰符键(Shift、Alt、Ctrl等)。
FYI:通过向USBAPI.h文件添加新的键定义,我能够添加额外的键(例如数字键盘键):
#define KEY_NUMPAD_DIVIDE 0xDC
#define KEY_NUMPAD_MULTIPLY 0xDD
#define KEY_NUMPAD_MINUS 0xDE
#define KEY_NUMPAD_PLUS 0xDF
#define KEY_NUMPAD_ENTER 0xE0
#define KEY_NUMPAD_1 0xE1
#define KEY_NUMPAD_2 0xE2
#define KEY_NUMPAD_3 0xE3
#define KEY_NUMPAD_4 0xE4
#define KEY_NUMPAD_5 0xE5
#define KEY_NUMPAD_6 0xE6
#define KEY_NUMPAD_7 0xE7
#define KEY_NUMPAD_8 0xE8
#define KEY_NUMPAD_9 0xE9
#define KEY_NUMPAD_0 0xEA
#define KEY_NUMPAD_DEL 0xEBhttps://stackoverflow.com/questions/34125011
复制相似问题