#pragma once #include "LOGIC/Lgc_Func_Button.h" #include #include 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* 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* p_KeyList, QString* p_ErrorText); bool Lgc_FunctionButton_ParseKeyCombinationText( const QString& Text, quint16 SourceUsage, QVector* p_KeyList, QString* p_ErrorText); QString Lgc_FunctionButton_FormatKeyCombination( const QVector& KeyList); QVector> Lgc_FunctionButton_GroupSequenceKeysIntoCombinations( const QVector& KeyList); bool Lgc_FunctionButton_ParseShortcutSequenceText( const QString& Text, quint16 SourceUsage, QVector>* p_CombinationList, QString* p_ErrorText); QString Lgc_FunctionButton_FormatShortcutSequence( const QVector>& CombinationList); QVector Lgc_FunctionButton_ConvertUsageListToSequenceKeys( const QVector& UsageList); bool Lgc_FunctionButton_SendKeyCombination( const QVector& KeyList); bool Lgc_FunctionButton_SendShortcutSequence( const QVector>& 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);