From a869d4a9aca90e9bae1bdc08a59324ea1d999cec Mon Sep 17 00:00:00 2001 From: Jean-Louis Biasini Date: Mon, 6 Feb 2012 13:29:53 +0100 Subject: LAMP plugin PLA integration (main code + manual) 1) this patch replace all keymaps with PLA ones. It also clean some optionnal compiling that are not needed anymore througt PLA 2) the patch also made required change to the manual in order to match code's change. Change-Id: I54ec953f79a419a6bb2f78877ca8b82f572fb510 Reviewed-on: http://gerrit.rockbox.org/86 Reviewed-by: Thomas Martitz Tested-by: Thomas Martitz --- apps/plugins/lamp.c | 168 ++++++++++------------------------------------------ 1 file changed, 32 insertions(+), 136 deletions(-) (limited to 'apps') 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 @@ #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); -- cgit v1.2.3