77 lines
2.8 KiB
C
77 lines
2.8 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "LOGIC/Lgc_Func_Button.h"
|
||
|
|
#include <QtCore/QVector>
|
||
|
|
#include <Windows.h>
|
||
|
|
|
||
|
|
struct Lgc_FunctionButton_Struct_WindowsKey
|
||
|
|
{
|
||
|
|
WORD VirtualKey = 0;
|
||
|
|
DWORD ExtraFlags = 0;
|
||
|
|
bool IsModifier = false;
|
||
|
|
};
|
||
|
|
|
||
|
|
struct Lgc_FunctionButton_Struct_SequenceKey
|
||
|
|
{
|
||
|
|
Lgc_FunctionButton_Struct_WindowsKey Key;
|
||
|
|
QString Text;
|
||
|
|
};
|
||
|
|
|
||
|
|
Lgc_FunctionButton_Struct_WindowsKey Lgc_FunctionButton_GetWindowsKey(quint16 Usage);
|
||
|
|
bool Lgc_FunctionButton_SendWindowsKey(
|
||
|
|
const Lgc_FunctionButton_Struct_WindowsKey& Key,
|
||
|
|
bool IsPressed);
|
||
|
|
bool Lgc_FunctionButton_IsSameWindowsKey(
|
||
|
|
const Lgc_FunctionButton_Struct_WindowsKey& Left,
|
||
|
|
const Lgc_FunctionButton_Struct_WindowsKey& Right);
|
||
|
|
|
||
|
|
bool Lgc_FunctionButton_ParseLegacySequenceText(
|
||
|
|
const QString& Text,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QVector<quint16>* p_UsageList,
|
||
|
|
QString* p_ErrorText);
|
||
|
|
bool Lgc_FunctionButton_TryParseSequenceToken(
|
||
|
|
const QString& Token,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
Lgc_FunctionButton_Struct_SequenceKey* p_KeyItem);
|
||
|
|
bool Lgc_FunctionButton_ParseRecordedSequenceText(
|
||
|
|
const QString& Text,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QVector<Lgc_FunctionButton_Struct_SequenceKey>* p_KeyList,
|
||
|
|
QString* p_ErrorText);
|
||
|
|
bool Lgc_FunctionButton_ParseKeyCombinationText(
|
||
|
|
const QString& Text,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QVector<Lgc_FunctionButton_Struct_SequenceKey>* p_KeyList,
|
||
|
|
QString* p_ErrorText);
|
||
|
|
QString Lgc_FunctionButton_FormatKeyCombination(
|
||
|
|
const QVector<Lgc_FunctionButton_Struct_SequenceKey>& KeyList);
|
||
|
|
QVector<QVector<Lgc_FunctionButton_Struct_SequenceKey>>
|
||
|
|
Lgc_FunctionButton_GroupSequenceKeysIntoCombinations(
|
||
|
|
const QVector<Lgc_FunctionButton_Struct_SequenceKey>& KeyList);
|
||
|
|
bool Lgc_FunctionButton_ParseShortcutSequenceText(
|
||
|
|
const QString& Text,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QVector<QVector<Lgc_FunctionButton_Struct_SequenceKey>>* p_CombinationList,
|
||
|
|
QString* p_ErrorText);
|
||
|
|
QString Lgc_FunctionButton_FormatShortcutSequence(
|
||
|
|
const QVector<QVector<Lgc_FunctionButton_Struct_SequenceKey>>& CombinationList);
|
||
|
|
QVector<Lgc_FunctionButton_Struct_SequenceKey> Lgc_FunctionButton_ConvertUsageListToSequenceKeys(
|
||
|
|
const QVector<quint16>& UsageList);
|
||
|
|
|
||
|
|
bool Lgc_FunctionButton_SendKeyCombination(
|
||
|
|
const QVector<Lgc_FunctionButton_Struct_SequenceKey>& KeyList);
|
||
|
|
bool Lgc_FunctionButton_SendShortcutSequence(
|
||
|
|
const QVector<QVector<Lgc_FunctionButton_Struct_SequenceKey>>& CombinationList);
|
||
|
|
void Lgc_FunctionButton_RunKeyCombination(
|
||
|
|
const Lgc_FunctionFeature_Definition& Feature,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QString* p_TextStatus);
|
||
|
|
void Lgc_FunctionButton_RunKeySequence(
|
||
|
|
const Lgc_FunctionFeature_Definition& Feature,
|
||
|
|
quint16 SourceUsage,
|
||
|
|
QString* p_TextStatus);
|
||
|
|
void Lgc_FunctionButton_RunOpenWebsite(
|
||
|
|
const Lgc_FunctionFeature_Definition& Feature,
|
||
|
|
QString* p_TextStatus);
|