diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/lamp.c | 168 |
1 files changed, 32 insertions, 136 deletions
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c index 583e2753fa..b825bb61ce 100644 --- a/apps/plugins/lamp.c +++ b/apps/plugins/lamp.c | |||
@@ -24,6 +24,10 @@ | |||
24 | 24 | ||
25 | #include "plugin.h" | 25 | #include "plugin.h" |
26 | #include "lib/helper.h" | 26 | #include "lib/helper.h" |
27 | #include "lib/pluginlib_actions.h" | ||
28 | |||
29 | /* this set the context to use with PLA */ | ||
30 | static const struct button_mapping *plugin_contexts[] = { pla_main_ctx }; | ||
27 | 31 | ||
28 | /* variable button definitions. | 32 | /* variable button definitions. |
29 | - only targets with a colour display | 33 | - only targets with a colour display |
@@ -33,140 +37,31 @@ | |||
33 | LAMP_UP / LAMP_DOWN: change the brightness | 37 | LAMP_UP / LAMP_DOWN: change the brightness |
34 | */ | 38 | */ |
35 | #if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS) | 39 | #if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS) |
36 | #if (CONFIG_KEYPAD == IRIVER_H300_PAD) | ||
37 | # define LAMP_LEFT BUTTON_LEFT | ||
38 | # define LAMP_RIGHT BUTTON_RIGHT | ||
39 | # define LAMP_UP BUTTON_UP | ||
40 | # define LAMP_DOWN BUTTON_DOWN | ||
41 | |||
42 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) | ||
43 | # define LAMP_LEFT BUTTON_LEFT | ||
44 | # define LAMP_RIGHT BUTTON_RIGHT | ||
45 | # define LAMP_UP BUTTON_SCROLL_FWD | ||
46 | # define LAMP_DOWN BUTTON_SCROLL_BACK | ||
47 | |||
48 | #elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) | ||
49 | # define LAMP_LEFT BUTTON_LEFT | ||
50 | # define LAMP_RIGHT BUTTON_RIGHT | ||
51 | # define LAMP_UP BUTTON_UP | ||
52 | # define LAMP_DOWN BUTTON_DOWN | ||
53 | |||
54 | #elif (CONFIG_KEYPAD == GIGABEAT_PAD) | ||
55 | # define LAMP_LEFT BUTTON_LEFT | ||
56 | # define LAMP_RIGHT BUTTON_RIGHT | ||
57 | # define LAMP_UP BUTTON_UP | ||
58 | # define LAMP_DOWN BUTTON_DOWN | ||
59 | |||
60 | #elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \ | ||
61 | (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) | ||
62 | # define LAMP_LEFT BUTTON_LEFT | ||
63 | # define LAMP_RIGHT BUTTON_RIGHT | ||
64 | # define LAMP_UP BUTTON_UP | ||
65 | # define LAMP_DOWN BUTTON_DOWN | ||
66 | |||
67 | #elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ | ||
68 | (CONFIG_KEYPAD == SANSA_FUZE_PAD) || \ | ||
69 | (CONFIG_KEYPAD == SANSA_CONNECT_PAD) | ||
70 | # define LAMP_LEFT BUTTON_LEFT | ||
71 | # define LAMP_RIGHT BUTTON_RIGHT | ||
72 | # define LAMP_UP BUTTON_SCROLL_FWD | ||
73 | # define LAMP_DOWN BUTTON_SCROLL_BACK | ||
74 | |||
75 | #elif (CONFIG_KEYPAD == SANSA_C200_PAD) | ||
76 | # define LAMP_LEFT BUTTON_LEFT | ||
77 | # define LAMP_RIGHT BUTTON_RIGHT | ||
78 | # define LAMP_UP BUTTON_UP | ||
79 | # define LAMP_DOWN BUTTON_DOWN | ||
80 | |||
81 | #elif (CONFIG_KEYPAD == IRIVER_H10_PAD) | ||
82 | # define LAMP_LEFT BUTTON_LEFT | ||
83 | # define LAMP_RIGHT BUTTON_RIGHT | ||
84 | # define LAMP_NEXT BUTTON_SCROLL_UP | ||
85 | # define LAMP_PREV BUTTON_SCROLL_DOWN | ||
86 | |||
87 | #elif CONFIG_KEYPAD == MROBE500_PAD | ||
88 | # define LAMP_LEFT BUTTON_LEFT | ||
89 | # define LAMP_RIGHT BUTTON_RIGHT | ||
90 | |||
91 | #elif CONFIG_KEYPAD == COWON_D2_PAD | ||
92 | |||
93 | #elif CONFIG_KEYPAD == IAUDIO67_PAD | ||
94 | # define LAMP_LEFT BUTTON_LEFT | ||
95 | # define LAMP_RIGHT BUTTON_RIGHT | ||
96 | |||
97 | #elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD | ||
98 | # define LAMP_LEFT BUTTON_LEFT | ||
99 | # define LAMP_RIGHT BUTTON_RIGHT | ||
100 | # define LAMP_UP BUTTON_UP | ||
101 | # define LAMP_DOWN BUTTON_DOWN | ||
102 | |||
103 | #elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD | ||
104 | # define LAMP_LEFT BUTTON_LEFT | ||
105 | # define LAMP_RIGHT BUTTON_RIGHT | ||
106 | # define LAMP_UP BUTTON_UP | ||
107 | # define LAMP_DOWN BUTTON_DOWN | ||
108 | |||
109 | #elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD | ||
110 | # define LAMP_LEFT BUTTON_PREV | ||
111 | # define LAMP_RIGHT BUTTON_NEXT | ||
112 | # define LAMP_UP BUTTON_UP | ||
113 | # define LAMP_DOWN BUTTON_DOWN | ||
114 | |||
115 | #elif CONFIG_KEYPAD == ONDAVX747_PAD | ||
116 | # define LAMP_LEFT BUTTON_VOL_DOWN | ||
117 | # define LAMP_RIGHT BUTTON_VOL_UP | ||
118 | 40 | ||
119 | #elif CONFIG_KEYPAD == ONDAVX777_PAD | 41 | /* we use PLA */ |
120 | 42 | #ifdef HAVE_SCROLLWHEEL | |
121 | #elif CONFIG_KEYPAD == SAMSUNG_YH_PAD | 43 | # define LAMP_LEFT PLA_LEFT |
122 | # define LAMP_LEFT BUTTON_LEFT | 44 | # define LAMP_RIGHT PLA_RIGHT |
123 | # define LAMP_RIGHT BUTTON_RIGHT | 45 | # define LAMP_UP PLA_SCROLL_FWD |
124 | 46 | # define LAMP_DOWN PLA_SCROLL_BACK | |
125 | #elif CONFIG_KEYPAD == PBELL_VIBE500_PAD | 47 | # define LAMP_UP_REPEAT PLA_SCROLL_FWD_REPEAT |
126 | # define LAMP_LEFT BUTTON_PREV | 48 | # define LAMP_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT |
127 | # define LAMP_RIGHT BUTTON_NEXT | 49 | #else |
128 | # define LAMP_UP BUTTON_UP | 50 | # define LAMP_LEFT PLA_LEFT |
129 | # define LAMP_DOWN BUTTON_DOWN | 51 | # define LAMP_RIGHT PLA_RIGHT |
130 | 52 | # define LAMP_UP PLA_UP | |
131 | #elif CONFIG_KEYPAD == MPIO_HD200_PAD | 53 | # define LAMP_DOWN PLA_DOWN |
132 | # define LAMP_UP BUTTON_REW | 54 | # define LAMP_UP_REPEAT PLA_UP_REPEAT |
133 | # define LAMP_DOWN BUTTON_FF | 55 | # define LAMP_DOWN_REPEAT PLA_DOWN_REPEAT |
134 | 56 | #endif/* HAVE_SCROLLWHEEL */ | |
135 | #elif CONFIG_KEYPAD == MPIO_HD300_PAD | ||
136 | # define LAMP_UP BUTTON_UP | ||
137 | # define LAMP_DOWN BUTTON_DOWN | ||
138 | |||
139 | #elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD | ||
140 | # define LAMP_LEFT BUTTON_LEFT | ||
141 | # define LAMP_RIGHT BUTTON_RIGHT | ||
142 | # define LAMP_UP BUTTON_UP | ||
143 | # define LAMP_DOWN BUTTON_DOWN | ||
144 | |||
145 | #elif CONFIG_KEYPAD == SANSA_CLIP_PAD | ||
146 | # define LAMP_LEFT BUTTON_LEFT | ||
147 | # define LAMP_RIGHT BUTTON_RIGHT | ||
148 | # define LAMP_UP BUTTON_UP | ||
149 | # define LAMP_DOWN BUTTON_DOWN | ||
150 | 57 | ||
151 | #else | 58 | #else |
152 | # error Missing key definitions for this keypad | 59 | # error Missing key definitions for this keypad |
153 | #endif | ||
154 | #endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */ | 60 | #endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */ |
155 | 61 | ||
156 | #ifdef HAVE_TOUCHSCREEN | 62 | #define LAMP_EXIT PLA_EXIT |
157 | # ifndef LAMP_LEFT | 63 | #define LAMP_EXIT2 PLA_CANCEL |
158 | # define LAMP_LEFT BUTTON_MIDLEFT | 64 | |
159 | # endif | ||
160 | # ifndef LAMP_RIGHT | ||
161 | # define LAMP_RIGHT BUTTON_MIDRIGHT | ||
162 | # endif | ||
163 | # ifndef LAMP_UP | ||
164 | # define LAMP_UP BUTTON_TOPMIDDLE | ||
165 | # endif | ||
166 | # ifndef LAMP_DOWN | ||
167 | # define LAMP_DOWN BUTTON_BOTTOMMIDDLE | ||
168 | # endif | ||
169 | #endif | ||
170 | 65 | ||
171 | #ifdef HAVE_LCD_COLOR | 66 | #ifdef HAVE_LCD_COLOR |
172 | /* RGB color sets */ | 67 | /* RGB color sets */ |
@@ -235,8 +130,10 @@ enum plugin_status plugin_start(const void* parameter) | |||
235 | update = false; | 130 | update = false; |
236 | } | 131 | } |
237 | #endif /* HAVE_LCD_COLOR */ | 132 | #endif /* HAVE_LCD_COLOR */ |
133 | button = pluginlib_getaction(HZ*30, plugin_contexts, | ||
134 | ARRAYLEN(plugin_contexts)); | ||
238 | 135 | ||
239 | switch((button = rb->button_get_w_tmo(HZ*30))) | 136 | switch(button) |
240 | { | 137 | { |
241 | #ifdef HAVE_LCD_COLOR | 138 | #ifdef HAVE_LCD_COLOR |
242 | case LAMP_RIGHT: | 139 | case LAMP_RIGHT: |
@@ -258,31 +155,30 @@ enum plugin_status plugin_start(const void* parameter) | |||
258 | 155 | ||
259 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS | 156 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
260 | case LAMP_UP: | 157 | case LAMP_UP: |
261 | case (LAMP_UP|BUTTON_REPEAT): | 158 | case (LAMP_UP_REPEAT): |
262 | if (current_brightness < MAX_BRIGHTNESS_SETTING) | 159 | if (current_brightness < MAX_BRIGHTNESS_SETTING) |
263 | backlight_brightness_set(++current_brightness); | 160 | backlight_brightness_set(++current_brightness); |
264 | break; | 161 | break; |
265 | 162 | ||
266 | case LAMP_DOWN: | 163 | case LAMP_DOWN: |
267 | case (LAMP_DOWN|BUTTON_REPEAT): | 164 | case (LAMP_DOWN_REPEAT): |
268 | if (current_brightness > MIN_BRIGHTNESS_SETTING) | 165 | if (current_brightness > MIN_BRIGHTNESS_SETTING) |
269 | backlight_brightness_set(--current_brightness); | 166 | backlight_brightness_set(--current_brightness); |
270 | break; | 167 | break; |
271 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ | 168 | #endif /* HAVE_BACKLIGHT_BRIGHTNESS */ |
169 | case LAMP_EXIT: | ||
170 | case LAMP_EXIT2: | ||
171 | quit = true; | ||
172 | break; | ||
272 | case BUTTON_NONE: | 173 | case BUTTON_NONE: |
273 | /* time out */ | 174 | /* time out */ |
274 | break; | 175 | break; |
275 | |||
276 | default: | 176 | default: |
277 | if(rb->default_event_handler(button) == SYS_USB_CONNECTED) | 177 | if(rb->default_event_handler(button) == SYS_USB_CONNECTED) |
278 | { | 178 | { |
279 | status = PLUGIN_USB_CONNECTED; | 179 | status = PLUGIN_USB_CONNECTED; |
280 | quit = true; | 180 | quit = true; |
281 | } | 181 | } |
282 | if(!(button & (BUTTON_REL|BUTTON_REPEAT)) | ||
283 | && !IS_SYSEVENT(button)) | ||
284 | quit = true; | ||
285 | break; | ||
286 | } | 182 | } |
287 | rb->reset_poweroff_timer(); | 183 | rb->reset_poweroff_timer(); |
288 | } while (!quit); | 184 | } while (!quit); |