Files
Qt_keyboard/DRI/Dri_NkroRaw.h
2026-04-03 09:26:10 +08:00

32 lines
921 B
C

#pragma once
#include "MID/Mid_Def.h"
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QString>
// Windows RAWINPUT reader for the NKRO path.
struct Dri_NkroRaw_Struct_Port
{
bool IsOpened = false;
void* WindowHandle = nullptr;
Mid_Struct_DeviceConfig DeviceConfig;
quint8 Modifier = 0;
QByteArray UsageBitmap = QByteArray(MID_CONST_USAGE_BITMAP_SIZE, 0);
QList<Mid_Struct_RawPacket> PacketQueue;
QString DevicePath;
};
void Dri_NkroRaw_Close(Dri_NkroRaw_Struct_Port* p_Port);
bool Dri_NkroRaw_Init(Dri_NkroRaw_Struct_Port* p_Port,
const Mid_Struct_DeviceConfig& DeviceConfig,
void* WindowHandle,
QString* p_TextStatus);
bool Dri_NkroRaw_HandleMessage(Dri_NkroRaw_Struct_Port* p_Port,
void* p_Message,
QString* p_TextStatus);
bool Dri_NkroRaw_Read(Dri_NkroRaw_Struct_Port* p_Port,
Mid_Struct_RawPacket* p_Packet,
QString* p_TextStatus);