#ifndef BLINKY_KEYBOARD_CORE_H_ #define BLINKY_KEYBOARD_CORE_H_ #include #ifdef __cplusplus extern "C" { #endif #define KEYBOARD_BOOT_REPORT_SIZE 8U #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, }; enum hid_queue_policy { HID_QUEUE_POLICY_LATEST, HID_QUEUE_POLICY_FIFO, }; enum hid_transport { HID_TRANSPORT_USB, HID_TRANSPORT_BLE, HID_TRANSPORT_COUNT, }; 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_ */