summaryrefslogtreecommitdiff
path: root/uisimulator
diff options
context:
space:
mode:
Diffstat (limited to 'uisimulator')
-rw-r--r--uisimulator/common/backlight-sim.c17
-rw-r--r--uisimulator/sdl/button.c7
2 files changed, 18 insertions, 6 deletions
diff --git a/uisimulator/common/backlight-sim.c b/uisimulator/common/backlight-sim.c
index 74a715a035..aa8fe8e844 100644
--- a/uisimulator/common/backlight-sim.c
+++ b/uisimulator/common/backlight-sim.c
@@ -30,7 +30,11 @@ extern void lcd_awake(void);
30/* in uisimulator/sdl/lcd-bitmap.c and lcd-charcell.c */ 30/* in uisimulator/sdl/lcd-bitmap.c and lcd-charcell.c */
31extern void sim_backlight(int value); 31extern void sim_backlight(int value);
32 32
33static int old_val = 100; 33static inline int normalize_backlight(int val)
34{
35 /* normalize to xx% brightness for sdl */
36 return ((val - MIN_BRIGHTNESS_SETTING + 1) * 100)/MAX_BRIGHTNESS_SETTING;
37}
34 38
35bool _backlight_init(void) 39bool _backlight_init(void)
36{ 40{
@@ -39,12 +43,16 @@ bool _backlight_init(void)
39 43
40void _backlight_on(void) 44void _backlight_on(void)
41{ 45{
42 sim_backlight(old_val);
43#if defined(HAVE_LCD_ENABLE) 46#if defined(HAVE_LCD_ENABLE)
44 lcd_enable(true); 47 lcd_enable(true);
45#elif defined(HAVE_LCD_SLEEP) 48#elif defined(HAVE_LCD_SLEEP)
46 lcd_awake(); 49 lcd_awake();
47#endif 50#endif
51#if (CONFIG_BACKLIGHT_FADING != BACKLIGHT_FADING_SW_SETTING)
52 /* if we set the brightness to the settings value, then fading up
53 * is glitchy */
54 sim_backlight(normalize_backlight(backlight_brightness));
55#endif
48} 56}
49 57
50void _backlight_off(void) 58void _backlight_off(void)
@@ -58,10 +66,7 @@ void _backlight_off(void)
58#ifdef HAVE_BACKLIGHT_BRIGHTNESS 66#ifdef HAVE_BACKLIGHT_BRIGHTNESS
59void _backlight_set_brightness(int val) 67void _backlight_set_brightness(int val)
60{ 68{
61 int normalized = ((val - MIN_BRIGHTNESS_SETTING + 1) * 100) / MAX_BRIGHTNESS_SETTING; 69 sim_backlight(normalize_backlight(val));
62 sim_backlight(normalized);
63
64 old_val = normalized;
65} 70}
66#endif /* HAVE_BACKLIGHT_BRIGHTNESS */ 71#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
67#ifdef HAVE_BUTTON_LIGHT 72#ifdef HAVE_BUTTON_LIGHT
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index fdabfcf5a4..0f9770dcac 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -29,6 +29,7 @@
29#include "misc.h" 29#include "misc.h"
30#include "sim_tasks.h" 30#include "sim_tasks.h"
31#include "button-sdl.h" 31#include "button-sdl.h"
32#include "backlight.h"
32 33
33#include "debug.h" 34#include "debug.h"
34 35
@@ -1275,6 +1276,12 @@ void button_event(int key, bool pressed)
1275 * store the scroll forward/back buttons in their button data for 1276 * store the scroll forward/back buttons in their button data for
1276 * the button_read call. 1277 * the button_read call.
1277 */ 1278 */
1279#ifdef HAVE_BACKLIGHT
1280 backlight_on();
1281#endif
1282#ifdef HAVE_BUTTON_LIGHT
1283 buttonlight_on();
1284#endif
1278 queue_post(&button_queue, new_btn, 1<<24); 1285 queue_post(&button_queue, new_btn, 1<<24);
1279 new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK); 1286 new_btn &= ~(BUTTON_SCROLL_FWD | BUTTON_SCROLL_BACK);
1280 } 1287 }