diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2015-02-22 12:22:40 +0100 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2015-02-22 12:22:40 +0100 |
commit | 272b5586397ebc4479b3ef247775723ddb8a5bd8 (patch) | |
tree | 2483abf0176fd3469e1a936bd8531a16f9de56ba | |
parent | b84fd878d3fa7512d93e692f97723007df2939be (diff) | |
download | rockbox-272b5586397ebc4479b3ef247775723ddb8a5bd8.tar.gz rockbox-272b5586397ebc4479b3ef247775723ddb8a5bd8.zip |
Lamp plugin: Allow toggling the button light using "select".
Change-Id: I0f276a74010ef463ebdb0eb0cc00fc50123966f0
-rw-r--r-- | apps/plugins/lamp.c | 19 | ||||
-rw-r--r-- | apps/plugins/lib/helper.c | 6 | ||||
-rw-r--r-- | apps/plugins/lib/helper.h | 1 | ||||
-rw-r--r-- | manual/plugins/lamp.tex | 8 |
4 files changed, 34 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 */ | ||
110 | void buttonlight_force_off(void) | ||
111 | { | ||
112 | rb->buttonlight_set_timeout(-1); | ||
113 | } | ||
114 | |||
109 | /* Turn off backlight timeout */ | 115 | /* Turn off backlight timeout */ |
110 | void buttonlight_ignore_timeout(void) | 116 | void 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 |
39 | void buttonlight_force_on(void); | 39 | void buttonlight_force_on(void); |
40 | void buttonlight_force_off(void); | ||
40 | void buttonlight_ignore_timeout(void); | 41 | void buttonlight_ignore_timeout(void); |
41 | void buttonlight_use_settings(void); | 42 | void buttonlight_use_settings(void); |
42 | #endif | 43 | #endif |
diff --git a/manual/plugins/lamp.tex b/manual/plugins/lamp.tex index 73f48f12f8..643f1bb51f 100644 --- a/manual/plugins/lamp.tex +++ b/manual/plugins/lamp.tex | |||
@@ -20,6 +20,14 @@ You get an empty screen with maximum brightness. | |||
20 | Change the brightness | 20 | Change the brightness |
21 | \\ | 21 | \\ |
22 | } | 22 | } |
23 | \opt{HAVE_BUTTON_LIGHTS}{ | ||
24 | \PluginSelect{} | ||
25 | & | ||
26 | \opt{HAVEREMOTEKEYMAP}{ | ||
27 | & } | ||
28 | Toggle the button light | ||
29 | \\ | ||
30 | } | ||
23 | \PluginCancel{} or \PluginExit | 31 | \PluginCancel{} or \PluginExit |
24 | & Exit to menu\\ | 32 | & Exit to menu\\ |
25 | \end{btnmap} | 33 | \end{btnmap} |