From 053c4d0593ea1dc5974bf0cc4c08ffc3db65c30e Mon Sep 17 00:00:00 2001 From: Sebastian Leonhardt Date: Wed, 29 Jun 2016 23:18:00 +0200 Subject: transflective LCDs: fix "first buttonpress enables backlight only" This should be done even if the backlight is set to "always off", i.e. if the LCD is sleeping, a button press should be "eaten" and just wake up the LCD. Change-Id: I3946bdbbdc81f23eae3f47423123cefa275e0afc --- firmware/drivers/button.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 608fe7e33a..9677580838 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c @@ -41,6 +41,9 @@ #ifdef HAVE_REMOTE_LCD #include "lcd-remote.h" #endif +#if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP) +#include "lcd.h" /* lcd_active() prototype */ +#endif struct event_queue button_queue SHAREDBSS_ATTR; @@ -354,7 +357,12 @@ static void button_tick(void) } else #endif - if (!filter_first_keypress || is_backlight_on(false) + if (!filter_first_keypress +#if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP) + || (is_backlight_on(false) && lcd_active()) +#else + || is_backlight_on(false) +#endif #if BUTTON_REMOTE || (btn & BUTTON_REMOTE) #endif -- cgit v1.2.3