#pragma once #include enum class ActionType : uint8_t { NONE, // Keine Aktion HID_KEY, // Standard-Keyboard-Keycode (direkt in Firmware gesendet) HID_CONSUMER, // Consumer-Control-Keycode (Volume, Media, …) HOST_COMMAND, // Command-ID → Windows-App führt aus (URL, Programm, …) MACRO, // Makro-Slot (data = Slot-Index 0–31) → bis zu 4 HID-Keys sequenziell }; struct __attribute__((packed)) SAction { ActionType type; uint16_t data; // Keycode (HID_KEY / HID_CONSUMER) oder Command-ID (HOST_COMMAND) // packed: 1B type + 2B data = 3B (kein Alignment-Padding) // Muss packed sein damit sizeof(SDeviceConfig)==163 == C#-Serialisierung };