forked from jappel/VersaMCU
20 lines
815 B
C
20 lines
815 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 8 HID-Keys sequenziell
|
||
PROFILE_SWITCH, // Profil wechseln (data = Profil-Index 0–2); speichert in NVM
|
||
};
|
||
|
||
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
|
||
};
|