2026-04-08 16:32:13 +08:00
|
|
|
#ifndef BLINKY_KEYBOARD_CORE_H_
|
|
|
|
|
#define BLINKY_KEYBOARD_CORE_H_
|
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#define KEYBOARD_BOOT_REPORT_SIZE 8U
|
2026-04-13 11:55:59 +08:00
|
|
|
#define KEYBOARD_PROTOCOL_USAGE_MAX 0xE7U
|
|
|
|
|
#define KEYBOARD_PROTOCOL_BITMAP_BYTES ((KEYBOARD_PROTOCOL_USAGE_MAX + 8U) / 8U)
|
2026-04-08 16:32:13 +08:00
|
|
|
#define KEYBOARD_NKRO_USAGE_MAX 0xDFU
|
|
|
|
|
#define KEYBOARD_NKRO_BITMAP_BYTES ((KEYBOARD_NKRO_USAGE_MAX + 8U) / 8U)
|
|
|
|
|
#define KEYBOARD_NKRO_REPORT_SIZE (1U + KEYBOARD_NKRO_BITMAP_BYTES)
|
|
|
|
|
#define KEYBOARD_CONSUMER_REPORT_SIZE 2U
|
|
|
|
|
|
|
|
|
|
enum keyboard_protocol_mode {
|
|
|
|
|
KEYBOARD_PROTOCOL_MODE_BOOT,
|
|
|
|
|
KEYBOARD_PROTOCOL_MODE_REPORT,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum keyboard_report_type {
|
|
|
|
|
KEYBOARD_REPORT_TYPE_KEYS,
|
|
|
|
|
KEYBOARD_REPORT_TYPE_CONSUMER,
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-10 13:46:50 +08:00
|
|
|
enum hid_queue_policy {
|
|
|
|
|
HID_QUEUE_POLICY_LATEST,
|
|
|
|
|
HID_QUEUE_POLICY_FIFO,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum hid_transport {
|
|
|
|
|
HID_TRANSPORT_USB,
|
2026-04-10 19:28:20 +08:00
|
|
|
HID_TRANSPORT_BLE,
|
|
|
|
|
HID_TRANSPORT_COUNT,
|
2026-04-10 13:46:50 +08:00
|
|
|
};
|
|
|
|
|
|
2026-04-15 15:47:14 +08:00
|
|
|
enum hid_send_channel {
|
|
|
|
|
HID_SEND_CH_USB_KEYS,
|
|
|
|
|
HID_SEND_CH_USB_CONSUMER,
|
|
|
|
|
HID_SEND_CH_BLE_SHARED,
|
|
|
|
|
HID_SEND_CH_COUNT,
|
|
|
|
|
};
|
|
|
|
|
|
2026-04-08 16:32:13 +08:00
|
|
|
enum keyboard_consumer_control {
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_MUTE,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_VOLUME_UP,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_VOLUME_DOWN,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_PLAY_PAUSE,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_NEXT_TRACK,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_PREV_TRACK,
|
|
|
|
|
KEYBOARD_CONSUMER_CTRL_COUNT,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* BLINKY_KEYBOARD_CORE_H_ */
|