summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/lamp.c168
1 files changed, 32 insertions, 136 deletions
diff --git a/apps/plugins/lamp.c b/apps/plugins/lamp.c
index 583e275..b825bb6 100644
--- a/apps/plugins/lamp.c
+++ b/apps/plugins/lamp.c
@@ -24,6 +24,10 @@
#include "plugin.h"
#include "lib/helper.h"
+#include "lib/pluginlib_actions.h"
+
+/* this set the context to use with PLA */
+static const struct button_mapping *plugin_contexts[] = { pla_main_ctx };
/* variable button definitions.
- only targets with a colour display
@@ -33,140 +37,31 @@
LAMP_UP / LAMP_DOWN: change the brightness
*/
#if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS)
-#if (CONFIG_KEYPAD == IRIVER_H300_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_SCROLL_FWD
-# define LAMP_DOWN BUTTON_SCROLL_BACK
-
-#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) || \
- (CONFIG_KEYPAD == SAMSUNG_YPR0_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
- (CONFIG_KEYPAD == SANSA_FUZE_PAD) || \
- (CONFIG_KEYPAD == SANSA_CONNECT_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_SCROLL_FWD
-# define LAMP_DOWN BUTTON_SCROLL_BACK
-
-#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_NEXT BUTTON_SCROLL_UP
-# define LAMP_PREV BUTTON_SCROLL_DOWN
-
-#elif CONFIG_KEYPAD == MROBE500_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-
-#elif CONFIG_KEYPAD == COWON_D2_PAD
-
-#elif CONFIG_KEYPAD == IAUDIO67_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-
-#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
-# define LAMP_LEFT BUTTON_PREV
-# define LAMP_RIGHT BUTTON_NEXT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == ONDAVX747_PAD
-# define LAMP_LEFT BUTTON_VOL_DOWN
-# define LAMP_RIGHT BUTTON_VOL_UP
-#elif CONFIG_KEYPAD == ONDAVX777_PAD
-
-#elif CONFIG_KEYPAD == SAMSUNG_YH_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-
-#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
-# define LAMP_LEFT BUTTON_PREV
-# define LAMP_RIGHT BUTTON_NEXT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == MPIO_HD200_PAD
-# define LAMP_UP BUTTON_REW
-# define LAMP_DOWN BUTTON_FF
-
-#elif CONFIG_KEYPAD == MPIO_HD300_PAD
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
-
-#elif CONFIG_KEYPAD == SANSA_CLIP_PAD
-# define LAMP_LEFT BUTTON_LEFT
-# define LAMP_RIGHT BUTTON_RIGHT
-# define LAMP_UP BUTTON_UP
-# define LAMP_DOWN BUTTON_DOWN
+/* we use PLA */
+#ifdef HAVE_SCROLLWHEEL
+# define LAMP_LEFT PLA_LEFT
+# define LAMP_RIGHT PLA_RIGHT
+# define LAMP_UP PLA_SCROLL_FWD
+# define LAMP_DOWN PLA_SCROLL_BACK
+# define LAMP_UP_REPEAT PLA_SCROLL_FWD_REPEAT
+# define LAMP_DOWN_REPEAT PLA_SCROLL_BACK_REPEAT
+#else
+# define LAMP_LEFT PLA_LEFT
+# define LAMP_RIGHT PLA_RIGHT
+# define LAMP_UP PLA_UP
+# define LAMP_DOWN PLA_DOWN
+# define LAMP_UP_REPEAT PLA_UP_REPEAT
+# define LAMP_DOWN_REPEAT PLA_DOWN_REPEAT
+#endif/* HAVE_SCROLLWHEEL */
#else
# error Missing key definitions for this keypad
-#endif
#endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */
-#ifdef HAVE_TOUCHSCREEN
-# ifndef LAMP_LEFT
-# define LAMP_LEFT BUTTON_MIDLEFT
-# endif
-# ifndef LAMP_RIGHT
-# define LAMP_RIGHT BUTTON_MIDRIGHT
-# endif
-# ifndef LAMP_UP
-# define LAMP_UP BUTTON_TOPMIDDLE
-# endif
-# ifndef LAMP_DOWN
-# define LAMP_DOWN BUTTON_BOTTOMMIDDLE
-# endif
-#endif
+#define LAMP_EXIT PLA_EXIT
+#define LAMP_EXIT2 PLA_CANCEL
+
#ifdef HAVE_LCD_COLOR
/* RGB color sets */
@@ -235,8 +130,10 @@ enum plugin_status plugin_start(const void* parameter)
update = false;
}
#endif /* HAVE_LCD_COLOR */
+ button = pluginlib_getaction(HZ*30, plugin_contexts,
+ ARRAYLEN(plugin_contexts));
- switch((button = rb->button_get_w_tmo(HZ*30)))
+ switch(button)
{
#ifdef HAVE_LCD_COLOR
case LAMP_RIGHT:
@@ -258,31 +155,30 @@ enum plugin_status plugin_start(const void* parameter)
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
case LAMP_UP:
- case (LAMP_UP|BUTTON_REPEAT):
+ case (LAMP_UP_REPEAT):
if (current_brightness < MAX_BRIGHTNESS_SETTING)
backlight_brightness_set(++current_brightness);
break;
case LAMP_DOWN:
- case (LAMP_DOWN|BUTTON_REPEAT):
+ case (LAMP_DOWN_REPEAT):
if (current_brightness > MIN_BRIGHTNESS_SETTING)
backlight_brightness_set(--current_brightness);
break;
#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
+ case LAMP_EXIT:
+ case LAMP_EXIT2:
+ quit = true;
+ break;
case BUTTON_NONE:
/* time out */
break;
-
default:
if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
{
status = PLUGIN_USB_CONNECTED;
quit = true;
}
- if(!(button & (BUTTON_REL|BUTTON_REPEAT))
- && !IS_SYSEVENT(button))
- quit = true;
- break;
}
rb->reset_poweroff_timer();
} while (!quit);