From 8d3fb5ff1eca9718a82af313b19e49a01c46a6c2 Mon Sep 17 00:00:00 2001 From: Stephen Brown Date: Mon, 13 Jun 2022 12:29:41 +0100 Subject: [PATCH] Encoder shortcut resets button presses --- src/uibuttons.cpp | 8 ++++++++ src/uibuttons.h | 2 ++ src/userinterface.cpp | 21 +++++++++++++++++---- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/uibuttons.cpp b/src/uibuttons.cpp index 7d70364..fd7b676 100644 --- a/src/uibuttons.cpp +++ b/src/uibuttons.cpp @@ -364,3 +364,11 @@ void CUIButtons::Update (void) } } +void CUIButtons::ResetButton (unsigned pinNumber) +{ + for (unsigned i=0; iResetButton(m_pConfig->GetEncoderPinSwitch()); + m_Menu.EventHandler(CUIMenu::MenuEventPressAndStepUp); + + } + else { + m_Menu.EventHandler(CUIMenu::MenuEventStepUp); + } break; case CKY040::EventCounterclockwise: - m_Menu.EventHandler (m_bSwitchPressed ? CUIMenu::MenuEventPressAndStepDown - : CUIMenu::MenuEventStepDown); + if (m_bSwitchPressed) { + m_pUIButtons->ResetButton(m_pConfig->GetEncoderPinSwitch()); + m_Menu.EventHandler(CUIMenu::MenuEventPressAndStepDown); + } + else { + m_Menu.EventHandler(CUIMenu::MenuEventStepDown); + } break; case CKY040::EventSwitchHold: