# Firmware Proto Transport ## Goal Add CDC and GATT private communication without rewriting the existing keyboard, time, theme, and LED business logic. The firmware side should: - keep standard HID behavior for normal keys - receive host commands over CDC and GATT - report private state and function key events over CDC and GATT - reuse existing modules where possible ## Completed Nodes ### Node 1: internal function events Files: - `src/events/function_bitmap_event.h` - `src/events/function_bitmap_event.c` - `src/events/function_key_event.h` - `src/events/function_key_event.c` Design notes: - `function_bitmap_event` carries the 29-byte function bitmap from host - `function_key_event` carries usage + action when a configured function key is pressed or released - these events isolate transport modules from keyboard internals ## Planned next nodes - keyboard split logic uses `function_bitmap_event` - CDC transport module - GATT transport module - nanopb integration and generated protocol code