@@ -7,11 +7,6 @@ constexpr ButtonEventManager::Button ButtonEventManager::ALL_BUTTONS[ButtonEvent
|
||||
|
||||
bool ButtonEventManager::hasDoubleAction(const Button button) {
|
||||
using BA = CrossPointSettings::BUTTON_ACTION;
|
||||
// Up/Down share physical pins with PageBack/PageForward via sideButtonLayout.
|
||||
// Their double-action settings must be consulted when checking the PageBack/PageForward FSMs
|
||||
// so that the disambiguation delay is applied when either role has a double action.
|
||||
const bool prevNext = static_cast<CrossPointSettings::SIDE_BUTTON_LAYOUT>(SETTINGS.sideButtonLayout) ==
|
||||
CrossPointSettings::SIDE_BUTTON_LAYOUT::PREV_NEXT;
|
||||
switch (button) {
|
||||
case Button::Back:
|
||||
return SETTINGS.btnDoubleBack != BA::BTN_DEFAULT;
|
||||
@@ -21,17 +16,10 @@ bool ButtonEventManager::hasDoubleAction(const Button button) {
|
||||
return SETTINGS.btnDoubleLeft != BA::BTN_DEFAULT;
|
||||
case Button::Right:
|
||||
return SETTINGS.btnDoubleRight != BA::BTN_DEFAULT;
|
||||
case Button::Up:
|
||||
case Button::Down:
|
||||
return false; // Up/Down have no dedicated FSM; handled via PageBack/PageForward
|
||||
case Button::PageBack:
|
||||
// PREV_NEXT: BTN_UP = PageBack; NEXT_PREV: BTN_DOWN = PageBack
|
||||
return SETTINGS.btnDoublePageBack != BA::BTN_DEFAULT ||
|
||||
(prevNext ? SETTINGS.btnDoubleUp : SETTINGS.btnDoubleDown) != BA::BTN_DEFAULT;
|
||||
return SETTINGS.btnDoublePageBack != BA::BTN_DEFAULT;
|
||||
case Button::PageForward:
|
||||
// PREV_NEXT: BTN_DOWN = PageForward; NEXT_PREV: BTN_UP = PageForward
|
||||
return SETTINGS.btnDoublePageForward != BA::BTN_DEFAULT ||
|
||||
(prevNext ? SETTINGS.btnDoubleDown : SETTINGS.btnDoubleUp) != BA::BTN_DEFAULT;
|
||||
return SETTINGS.btnDoublePageForward != BA::BTN_DEFAULT;
|
||||
case Button::Power:
|
||||
return SETTINGS.btnDoublePower != BA::BTN_DEFAULT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user