20 lines
730 B
C
20 lines
730 B
C
#pragma once
|
||
#include <stdint.h>
|
||
|
||
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
|
||
};
|