Files
Qt_keyboard/LOGIC/Lgc_Core.h

66 lines
2.0 KiB
C
Raw Normal View History

2026-04-03 09:26:10 +08:00
#pragma once
#include "DRI/Dri_Ble.h"
#include "DRI/Dri_Consumer.h"
#include "DRI/Dri_NkroRaw.h"
#include "DRI/Dri_Vendor.h"
#include "LOGIC/Lgc_Func_Button.h"
#include <QtCore/QByteArray>
#include <QtCore/QString>
#include <QtCore/QVector>
enum Lgc_Core_Enum_SendTransport : quint8
{
Lgc_Core_Enum_SendTransport_None = 0,
Lgc_Core_Enum_SendTransport_Usb,
Lgc_Core_Enum_SendTransport_Ble
};
struct Lgc_Core_Struct_State
{
Dri_Ble_Struct_Port DriBlePort;
Dri_NkroRaw_Struct_Port DriNkroPort;
Dri_Consumer_Struct_Port DriConsumerPort;
Dri_Vendor_Struct_Port DriVendorPort;
Mid_Struct_DeviceConfig DeviceConfig;
QString TextConnection;
QString TextLog;
QString TextFunctionStatus;
bool IsVisibleKeyStateValid = false;
QVector<quint16> VisibleUsageList;
bool IsPhysicalKeyStateValid = false;
QVector<quint16> PhysicalUsageList;
QVector<quint16> LastPhysicalUsageList;
bool IsSystemNumLockOn = false;
QByteArray FunctionMaskBitmap;
QByteArray KeyboardMaskBitmap;
Lgc_FunctionButton_Config FunctionButtonConfig;
bool IsAltThemeEnabled = false;
void* WindowHandle = nullptr;
bool IsConnected = false;
bool IsStarted = false;
Lgc_Core_Enum_SendTransport ActiveSendTransport = Lgc_Core_Enum_SendTransport_None;
bool IsFunctionSequenceRecording = false;
};
void Lgc_Core_Init(Lgc_Core_Struct_State* p_State);
void Lgc_Core_SetWindowHandle(Lgc_Core_Struct_State* p_State, void* WindowHandle);
void Lgc_Core_HandleNativeMessage(Lgc_Core_Struct_State* p_State, void* p_Message);
void Lgc_Core_Start(Lgc_Core_Struct_State* p_State);
void Lgc_Core_Close(Lgc_Core_Struct_State* p_State);
void Lgc_Core_RefreshDevice(Lgc_Core_Struct_State* p_State);
void Lgc_Core_ClearLog(Lgc_Core_Struct_State* p_State);
bool Lgc_Core_Poll(Lgc_Core_Struct_State* p_State);
bool Lgc_Core_ApplyFunctionConfig(Lgc_Core_Struct_State* p_State);
bool Lgc_Core_SendTimeSync(Lgc_Core_Struct_State* p_State);
bool Lgc_Core_SendThemeSwitch(Lgc_Core_Struct_State* p_State);