summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2016-06-29 23:18:00 +0200
committerSolomon Peachy <pizza@shaftnet.org>2019-02-07 22:56:39 +0100
commit053c4d0593ea1dc5974bf0cc4c08ffc3db65c30e (patch)
treeac8e69a183c41e0930baa3c739d5634900ba6647
parent666405f346bef501a6707c4b152704f5c34246c6 (diff)
downloadrockbox-053c4d0593ea1dc5974bf0cc4c08ffc3db65c30e.tar.gz
rockbox-053c4d0593ea1dc5974bf0cc4c08ffc3db65c30e.zip
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
-rw-r--r--firmware/drivers/button.c10
1 files changed, 9 insertions, 1 deletions
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 @@
41#ifdef HAVE_REMOTE_LCD 41#ifdef HAVE_REMOTE_LCD
42#include "lcd-remote.h" 42#include "lcd-remote.h"
43#endif 43#endif
44#if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP)
45#include "lcd.h" /* lcd_active() prototype */
46#endif
44 47
45struct event_queue button_queue SHAREDBSS_ATTR; 48struct event_queue button_queue SHAREDBSS_ATTR;
46 49
@@ -354,7 +357,12 @@ static void button_tick(void)
354 } 357 }
355 else 358 else
356#endif 359#endif
357 if (!filter_first_keypress || is_backlight_on(false) 360 if (!filter_first_keypress
361#if defined(HAVE_TRANSFLECTIVE_LCD) && defined(HAVE_LCD_SLEEP)
362 || (is_backlight_on(false) && lcd_active())
363#else
364 || is_backlight_on(false)
365#endif
358#if BUTTON_REMOTE 366#if BUTTON_REMOTE
359 || (btn & BUTTON_REMOTE) 367 || (btn & BUTTON_REMOTE)
360#endif 368#endif