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
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index 608fe7e..9677580 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 @@
                     }
                     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