#pragma once #include #include #include namespace APP { enum class APP_KeyTone { Normal, Aqua, Amber, Blue }; struct APP_KeyInfo { QString id; QString label; QString hint; quint16 usage = 0; int row = 0; int column = 0; int rowSpan = 1; int columnSpan = 1; APP_KeyTone tone = APP_KeyTone::Normal; }; class APP_KeypadModel { public: APP_KeypadModel(); const QVector& App_Func_GetKeyList() const; bool App_Func_IsLatched(const QString& KeyId) const; bool App_Func_IsPressed(const QString& KeyId) const; quint16 App_Func_GetUsageFromKeyId(const QString& KeyId) const; QString App_Func_GetKeyIdFromUsage(quint16 Usage) const; QString App_Func_GetLabelFromUsage(quint16 Usage) const; QString App_Func_GetDefaultHint(const QString& KeyId) const; void App_Func_SetNumLockOn(bool IsOn); void App_Func_ClearPressedKeys(); void App_Func_SetPressedKeysFromUsageList(const QVector& UsageList); private: QVector appKeyList; QStringList appPressedKeyIdList; bool appNumLockOn = false; }; } // namespace APP