summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2015-02-22 12:22:40 +0100
committerFrank Gevaerts <frank@gevaerts.be>2015-02-22 12:22:40 +0100
commit272b5586397ebc4479b3ef247775723ddb8a5bd8 (patch)
tree2483abf0176fd3469e1a936bd8531a16f9de56ba /apps
parentb84fd878d3fa7512d93e692f97723007df2939be (diff)
downloadrockbox-272b5586397ebc4479b3ef247775723ddb8a5bd8.tar.gz
rockbox-272b5586397ebc4479b3ef247775723ddb8a5bd8.zip
Lamp plugin: Allow toggling the button light using "select".
Change-Id: I0f276a74010ef463ebdb0eb0cc00fc50123966f0
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/lamp.c19
-rw-r--r--apps/plugins/lib/helper.c6
-rw-r--r--apps/plugins/lib/helper.h1
3 files changed, 26 insertions, 0 deletions
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index fa7027ece7..6c9ae6626d 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -45,6 +45,7 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
45# define LAMP_DOWN PLA_SCROLL_BACK 45# define LAMP_DOWN PLA_SCROLL_BACK
46# define LAMP_UP_REPEAT PLA_SCROLL_FWD_REPEAT 46# define LAMP_UP_REPEAT PLA_SCROLL_FWD_REPEAT
47# define LAMP_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT 47# define LAMP_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT
48# define LAMP_TOGGLE_BUTTON PLA_SELECT
48#else 49#else
49# define LAMP_LEFT PLA_LEFT 50# define LAMP_LEFT PLA_LEFT
50# define LAMP_RIGHT PLA_RIGHT 51# define LAMP_RIGHT PLA_RIGHT
@@ -52,6 +53,7 @@ static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
52# define LAMP_DOWN PLA_DOWN 53# define LAMP_DOWN PLA_DOWN
53# define LAMP_UP_REPEAT PLA_UP_REPEAT 54# define LAMP_UP_REPEAT PLA_UP_REPEAT
54# define LAMP_DOWN_REPEAT PLA_DOWN_REPEAT 55# define LAMP_DOWN_REPEAT PLA_DOWN_REPEAT
56# define LAMP_TOGGLE_BUTTON PLA_SELECT
55#endif/* HAVE_SCROLLWHEEL */ 57#endif/* HAVE_SCROLLWHEEL */
56 58
57 59
@@ -87,6 +89,9 @@ enum plugin_status plugin_start(const void* parameter)
87 int cs = 0; 89 int cs = 0;
88 bool update = false; 90 bool update = false;
89#endif /* HAVE_LCD_COLOR */ 91#endif /* HAVE_LCD_COLOR */
92#ifdef HAVE_BUTTON_LIGHT
93 bool buttonlight_on = true;
94#endif /* HAVE_BUTTON_LIGHT */
90 95
91#if LCD_DEPTH > 1 96#if LCD_DEPTH > 1
92 unsigned bg_color = rb->lcd_get_background(); 97 unsigned bg_color = rb->lcd_get_background();
@@ -169,6 +174,20 @@ enum plugin_status plugin_start(const void* parameter)
169 backlight_brightness_set(--current_brightness); 174 backlight_brightness_set(--current_brightness);
170 break; 175 break;
171#endif /* HAVE_BACKLIGHT_BRIGHTNESS */ 176#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
177#ifdef HAVE_BUTTON_LIGHT
178 case LAMP_TOGGLE_BUTTON:
179 if(buttonlight_on)
180 {
181 buttonlight_force_off();
182 buttonlight_on = false;
183 }
184 else
185 {
186 buttonlight_force_on();
187 buttonlight_on = true;
188 }
189 break;
190#endif /* HAVE_BUTTON_LIGHT */
172 case LAMP_EXIT: 191 case LAMP_EXIT:
173 case LAMP_EXIT2: 192 case LAMP_EXIT2:
174 quit = true; 193 quit = true;
diff --git a/apps/plugins/lib/helper.c b/apps/plugins/lib/helper.c
index 780d636f41..5aa143a728 100644
--- a/apps/plugins/lib/helper.c
+++ b/apps/plugins/lib/helper.c
@@ -106,6 +106,12 @@ void buttonlight_force_on(void)
106 rb->buttonlight_set_timeout(0); 106 rb->buttonlight_set_timeout(0);
107} 107}
108 108
109/* Force the buttonlight off */
110void buttonlight_force_off(void)
111{
112 rb->buttonlight_set_timeout(-1);
113}
114
109/* Turn off backlight timeout */ 115/* Turn off backlight timeout */
110void buttonlight_ignore_timeout(void) 116void buttonlight_ignore_timeout(void)
111{ 117{
diff --git a/apps/plugins/lib/helper.h b/apps/plugins/lib/helper.h
index 20f5ee285b..8086cb52d4 100644
--- a/apps/plugins/lib/helper.h
+++ b/apps/plugins/lib/helper.h
@@ -37,6 +37,7 @@ void remote_backlight_use_settings(void);
37 37
38#ifdef HAVE_BUTTON_LIGHT 38#ifdef HAVE_BUTTON_LIGHT
39void buttonlight_force_on(void); 39void buttonlight_force_on(void);
40void buttonlight_force_off(void);
40void buttonlight_ignore_timeout(void); 41void buttonlight_ignore_timeout(void);
41void buttonlight_use_settings(void); 42void buttonlight_use_settings(void);
42#endif 43#endif