forked from len0rd/rockbox
FS#11546: Adjustable brightness in lamp plugin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28519 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
f20582442f
commit
781f05e40d
2 changed files with 87 additions and 49 deletions
|
@ -25,42 +25,56 @@
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
#include "lib/helper.h"
|
#include "lib/helper.h"
|
||||||
|
|
||||||
|
/* variable button definitions.
|
||||||
|
- only targets with a colour display
|
||||||
/* variable button definitions - only targets with a colour display */
|
LAMP_LEFT / LAMP_RIGHT: change the color
|
||||||
#if defined(HAVE_LCD_COLOR)
|
LAMP_NEXT / LAMP_PREV: (optional) change the color
|
||||||
|
- only targets which can set brightness
|
||||||
|
LAMP_UP / LAMP_DOWN: change the brightness
|
||||||
|
*/
|
||||||
|
#if defined(HAVE_LCD_COLOR) || defined(HAVE_BACKLIGHT_BRIGHTNESS)
|
||||||
#if (CONFIG_KEYPAD == IRIVER_H300_PAD)
|
#if (CONFIG_KEYPAD == IRIVER_H300_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
|
#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
# define LAMP_NEXT BUTTON_SCROLL_FWD
|
# define LAMP_UP BUTTON_SCROLL_FWD
|
||||||
# define LAMP_PREV BUTTON_SCROLL_BACK
|
# define LAMP_DOWN BUTTON_SCROLL_BACK
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
|
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
|
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
|
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
|
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
|
||||||
(CONFIG_KEYPAD == SANSA_FUZE_PAD)
|
(CONFIG_KEYPAD == SANSA_FUZE_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
# define LAMP_NEXT BUTTON_SCROLL_FWD
|
# define LAMP_UP BUTTON_SCROLL_FWD
|
||||||
# define LAMP_PREV BUTTON_SCROLL_BACK
|
# define LAMP_DOWN BUTTON_SCROLL_BACK
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
|
#elif (CONFIG_KEYPAD == SANSA_C200_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
|
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
|
@ -81,14 +95,20 @@
|
||||||
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
|
#elif CONFIG_KEYPAD == PHILIPS_HDD1630_PAD
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
|
#elif CONFIG_KEYPAD == PHILIPS_HDD6330_PAD
|
||||||
# define LAMP_LEFT BUTTON_LEFT
|
# define LAMP_LEFT BUTTON_LEFT
|
||||||
# define LAMP_RIGHT BUTTON_RIGHT
|
# define LAMP_RIGHT BUTTON_RIGHT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
|
#elif CONFIG_KEYPAD == PHILIPS_SA9200_PAD
|
||||||
# define LAMP_LEFT BUTTON_PREV
|
# define LAMP_LEFT BUTTON_PREV
|
||||||
# define LAMP_RIGHT BUTTON_NEXT
|
# define LAMP_RIGHT BUTTON_NEXT
|
||||||
|
# define LAMP_UP BUTTON_UP
|
||||||
|
# define LAMP_DOWN BUTTON_DOWN
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == ONDAVX747_PAD
|
#elif CONFIG_KEYPAD == ONDAVX747_PAD
|
||||||
# define LAMP_LEFT BUTTON_VOL_DOWN
|
# define LAMP_LEFT BUTTON_VOL_DOWN
|
||||||
|
@ -103,11 +123,17 @@
|
||||||
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
|
#elif CONFIG_KEYPAD == PBELL_VIBE500_PAD
|
||||||
# define LAMP_LEFT BUTTON_PREV
|
# define LAMP_LEFT BUTTON_PREV
|
||||||
# define LAMP_RIGHT BUTTON_NEXT
|
# 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
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# error Missing key definitions for this keypad
|
# error Missing key definitions for this keypad
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif /* HAVE_LCD_COLOR || HAVE_BACKLIGHT_BRIGHTNESS */
|
||||||
|
|
||||||
#ifdef HAVE_TOUCHSCREEN
|
#ifdef HAVE_TOUCHSCREEN
|
||||||
# ifndef LAMP_LEFT
|
# ifndef LAMP_LEFT
|
||||||
|
@ -116,11 +142,11 @@
|
||||||
# ifndef LAMP_RIGHT
|
# ifndef LAMP_RIGHT
|
||||||
# define LAMP_RIGHT BUTTON_MIDRIGHT
|
# define LAMP_RIGHT BUTTON_MIDRIGHT
|
||||||
# endif
|
# endif
|
||||||
# ifndef LAMP_NEXT
|
# ifndef LAMP_UP
|
||||||
# define LAMP_NEXT BUTTON_TOPMIDDLE
|
# define LAMP_UP BUTTON_TOPMIDDLE
|
||||||
# endif
|
# endif
|
||||||
# ifndef LAMP_PREV
|
# ifndef LAMP_DOWN
|
||||||
# define LAMP_PREV BUTTON_BOTTOMMIDDLE
|
# define LAMP_DOWN BUTTON_BOTTOMMIDDLE
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -138,12 +164,12 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
{
|
{
|
||||||
enum plugin_status status = PLUGIN_OK;
|
enum plugin_status status = PLUGIN_OK;
|
||||||
long button;
|
long button;
|
||||||
|
bool quit = false;
|
||||||
(void)parameter;
|
(void)parameter;
|
||||||
|
|
||||||
#ifdef HAVE_LCD_COLOR
|
#ifdef HAVE_LCD_COLOR
|
||||||
int cs = 0;
|
int cs = 0;
|
||||||
bool quit = false;
|
bool update = false;
|
||||||
bool update = true;
|
|
||||||
#endif /* HAVE_LCD_COLOR */
|
#endif /* HAVE_LCD_COLOR */
|
||||||
|
|
||||||
#if LCD_DEPTH > 1
|
#if LCD_DEPTH > 1
|
||||||
|
@ -153,6 +179,7 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
|
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
|
||||||
|
int current_brightness = MAX_BRIGHTNESS_SETTING;
|
||||||
backlight_brightness_set(MAX_BRIGHTNESS_SETTING);
|
backlight_brightness_set(MAX_BRIGHTNESS_SETTING);
|
||||||
#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
|
#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
|
||||||
#ifdef HAVE_BUTTONLIGHT_BRIGHTNESS
|
#ifdef HAVE_BUTTONLIGHT_BRIGHTNESS
|
||||||
|
@ -172,9 +199,12 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
buttonlight_force_on();
|
buttonlight_force_on();
|
||||||
#endif /* HAVE_BUTTON_LIGHT */
|
#endif /* HAVE_BUTTON_LIGHT */
|
||||||
|
|
||||||
#ifdef HAVE_LCD_COLOR
|
rb->lcd_clear_display();
|
||||||
|
rb->lcd_update();
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_LCD_COLOR
|
||||||
if(update)
|
if(update)
|
||||||
{
|
{
|
||||||
if(cs < 0)
|
if(cs < 0)
|
||||||
|
@ -186,9 +216,11 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
update = false;
|
update = false;
|
||||||
}
|
}
|
||||||
|
#endif /* HAVE_LCD_COLOR */
|
||||||
|
|
||||||
switch((button = rb->button_get_w_tmo(HZ*30)))
|
switch((button = rb->button_get_w_tmo(HZ*30)))
|
||||||
{
|
{
|
||||||
|
#ifdef HAVE_LCD_COLOR
|
||||||
case LAMP_RIGHT:
|
case LAMP_RIGHT:
|
||||||
#ifdef LAMP_NEXT
|
#ifdef LAMP_NEXT
|
||||||
case LAMP_NEXT:
|
case LAMP_NEXT:
|
||||||
|
@ -204,10 +236,26 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
cs--;
|
cs--;
|
||||||
update = true;
|
update = true;
|
||||||
break;
|
break;
|
||||||
|
#endif /* HAVE_LCD_COLOR */
|
||||||
|
|
||||||
|
#ifdef HAVE_BACKLIGHT_BRIGHTNESS
|
||||||
|
case LAMP_UP:
|
||||||
|
case (LAMP_UP|BUTTON_REPEAT):
|
||||||
|
if (current_brightness < MAX_BRIGHTNESS_SETTING)
|
||||||
|
backlight_brightness_set(++current_brightness);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LAMP_DOWN:
|
||||||
|
case (LAMP_DOWN|BUTTON_REPEAT):
|
||||||
|
if (current_brightness > MIN_BRIGHTNESS_SETTING)
|
||||||
|
backlight_brightness_set(--current_brightness);
|
||||||
|
break;
|
||||||
|
#endif /* HAVE_BACKLIGHT_BRIGHTNESS */
|
||||||
|
case BUTTON_NONE:
|
||||||
|
/* time out */
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if(button)
|
|
||||||
{
|
|
||||||
if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
|
if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
|
||||||
{
|
{
|
||||||
status = PLUGIN_USB_CONNECTED;
|
status = PLUGIN_USB_CONNECTED;
|
||||||
|
@ -216,34 +264,11 @@ enum plugin_status plugin_start(const void* parameter)
|
||||||
if(!(button & (BUTTON_REL|BUTTON_REPEAT))
|
if(!(button & (BUTTON_REL|BUTTON_REPEAT))
|
||||||
&& !IS_SYSEVENT(button))
|
&& !IS_SYSEVENT(button))
|
||||||
quit = true;
|
quit = true;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rb->reset_poweroff_timer();
|
rb->reset_poweroff_timer();
|
||||||
} while (!quit);
|
} while (!quit);
|
||||||
|
|
||||||
#else /* HAVE_LCD_COLOR */
|
|
||||||
rb->lcd_clear_display();
|
|
||||||
rb->lcd_update();
|
|
||||||
/* wait */
|
|
||||||
do
|
|
||||||
{
|
|
||||||
button = rb->button_get_w_tmo(HZ*30);
|
|
||||||
if(button)
|
|
||||||
{
|
|
||||||
if(rb->default_event_handler(button) == SYS_USB_CONNECTED)
|
|
||||||
{
|
|
||||||
status = PLUGIN_USB_CONNECTED;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if(!IS_SYSEVENT(button))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
rb->reset_poweroff_timer();
|
|
||||||
} while (1);
|
|
||||||
|
|
||||||
#endif /*HAVE_LCD_COLOR */
|
|
||||||
|
|
||||||
/* restore */
|
/* restore */
|
||||||
backlight_use_settings();
|
backlight_use_settings();
|
||||||
#ifdef HAVE_BUTTON_LIGHT
|
#ifdef HAVE_BUTTON_LIGHT
|
||||||
|
|
|
@ -11,7 +11,20 @@ You get an empty screen with maximum brightness.
|
||||||
& }
|
& }
|
||||||
Toggle between colours
|
Toggle between colours
|
||||||
\\
|
\\
|
||||||
|
}
|
||||||
|
|
||||||
|
\opt{backlight_brightness}{
|
||||||
|
\nopt{IPOD_4G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,touchscreen}{\ButtonDown{} / \ButtonUp}%
|
||||||
|
\opt{IPOD_4G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack{} / \ButtonScrollFwd}
|
||||||
|
\opt{touchscreen}{\TouchBottomMiddle{} / \TouchTopMiddle}
|
||||||
|
&
|
||||||
|
\opt{HAVEREMOTEKEYMAP}{
|
||||||
|
& }
|
||||||
|
Change the brightness
|
||||||
|
\\
|
||||||
|
}
|
||||||
|
|
||||||
|
\opt{lcd_color,backlight_brightness}{
|
||||||
Any other key
|
Any other key
|
||||||
&
|
&
|
||||||
\opt{HAVEREMOTEKEYMAP}{
|
\opt{HAVEREMOTEKEYMAP}{
|
||||||
|
@ -19,7 +32,7 @@ You get an empty screen with maximum brightness.
|
||||||
Quit
|
Quit
|
||||||
\\
|
\\
|
||||||
}
|
}
|
||||||
\nopt{lcd_color}{
|
\nopt{lcd_color,backlight_brightness}{
|
||||||
Any key
|
Any key
|
||||||
&
|
&
|
||||||
\opt{HAVEREMOTEKEYMAP}{
|
\opt{HAVEREMOTEKEYMAP}{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue