添加了完整的键盘协议功能,包括: - 新增多个事件类型:cdc_proto_tx_event、function_bitmap_update_event、key_function_event - 在CMakeLists.txt中注册新的事件源文件 - 扩展keyboard_core.h定义键盘协议相关宏 - 增强protocol_module.h定义协议消息类型常量 - 更新protobuf定义device_comm.proto添加Bitmap、FunctionKeyEvent、Ack、Error消息 - 实现CDC协议包装器模块处理协议消息传输 - 改进键盘核心模块实现按键功能映射和位图管理 - 添加协议模块处理Hello、Bitmap、FunctionKeyEvent等协议消息 - 实现USB设备状态管理和错误响应机制
57 lines
942 B
Protocol Buffer
57 lines
942 B
Protocol Buffer
syntax = "proto3";
|
|
|
|
message HelloReq {
|
|
uint32 protocol_version = 1;
|
|
}
|
|
|
|
message HelloRsp {
|
|
uint32 protocol_version = 1;
|
|
uint32 vendor_id = 2;
|
|
uint32 product_id = 3;
|
|
uint32 firmware_major = 4;
|
|
uint32 firmware_minor = 5;
|
|
uint32 capability_flags = 6;
|
|
}
|
|
|
|
message Bitmap {
|
|
bytes usage_bitmap = 1;
|
|
}
|
|
|
|
enum KeyAction {
|
|
KEY_ACTION_RELEASE = 0;
|
|
KEY_ACTION_PRESS = 1;
|
|
}
|
|
|
|
message FunctionKeyEvent {
|
|
uint32 usage = 1;
|
|
KeyAction action = 2;
|
|
}
|
|
|
|
message Ack {
|
|
uint32 acked_type = 1;
|
|
}
|
|
|
|
enum ErrorCode {
|
|
ERROR_CODE_NONE = 0;
|
|
ERROR_CODE_UNKNOWN_TYPE = 1;
|
|
ERROR_CODE_INVALID_LENGTH = 2;
|
|
ERROR_CODE_INVALID_PARAM = 3;
|
|
ERROR_CODE_NOT_READY = 4;
|
|
}
|
|
|
|
message Error {
|
|
uint32 error_type = 1;
|
|
ErrorCode error_code = 2;
|
|
}
|
|
|
|
message CdcPacketBody {
|
|
oneof body {
|
|
HelloReq hello_req = 1;
|
|
HelloRsp hello_rsp = 2;
|
|
Bitmap bitmap = 3;
|
|
FunctionKeyEvent function_key_event = 4;
|
|
Ack ack = 5;
|
|
Error error = 6;
|
|
}
|
|
}
|