mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-19 03:22:07 +00:00
EInk responsiveness fixes
This commit is contained in:
parent
6d2e653325
commit
23c420fa31
@ -1320,6 +1320,12 @@ int Screen::handleInputEvent(const InputEvent *event)
|
||||
if (!screenOn)
|
||||
return 0;
|
||||
|
||||
#ifdef USE_EINK // the screen is the last input handler, so if an event makes it here, we can assume it will prompt a screen draw.
|
||||
EINK_ADD_FRAMEFLAG(dispdev, DEMAND_FAST); // Use fast-refresh for next frame, no skip please
|
||||
EINK_ADD_FRAMEFLAG(dispdev, BLOCKING); // Edge case: if this frame is promoted to COSMETIC, wait for update
|
||||
handleSetOn(true); // Ensure power-on to receive deep-sleep screensaver (PowerFSM should handle?)
|
||||
setFastFramerate(); // Draw ASAP
|
||||
#endif
|
||||
if (NotificationRenderer::isOverlayBannerShowing()) {
|
||||
NotificationRenderer::inEvent = event->inputEvent;
|
||||
static OverlayCallback overlays[] = {graphics::UIRenderer::drawNavigationBar,
|
||||
|
@ -200,7 +200,8 @@ int32_t ButtonThread::runOnce()
|
||||
LOG_WARN("Long press!");
|
||||
|
||||
// Check if this is part of a short-press + long-press combination
|
||||
if (waitingForLongPress && (millis() - shortPressTime) <= BUTTON_COMBO_TIMEOUT_MS) {
|
||||
if (_shortLong != INPUT_BROKER_NONE && waitingForLongPress &&
|
||||
(millis() - shortPressTime) <= BUTTON_COMBO_TIMEOUT_MS) {
|
||||
LOG_WARN("Short-press + Long-press combination detected!");
|
||||
evt.inputEvent = _shortLong;
|
||||
// evt.kbchar = _shortLong;
|
||||
|
Loading…
Reference in New Issue
Block a user