now it goes from 0 to 255.
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
sprite->pending_surface = NULL;
}
-/* returns a value between 1-10 range, where higher is brighter */
+/* returns a value between 0-255 range, where higher is brighter */
static uint32_t
drm_get_backlight(struct drm_output *output)
{
brightness = backlight_get_brightness(output->backlight);
max_brightness = backlight_get_max_brightness(output->backlight);
- /* convert it on a scale of 1 to 10 */
- norm = 1 + ((brightness) * 9)/(max_brightness);
+ /* convert it on a scale of 0 to 255 */
+ norm = (brightness * 255)/(max_brightness);
return (uint32_t) norm;
}
-/* values accepted are between 1-10 range */
+/* values accepted are between 0-255 range */
static void
drm_set_backlight(struct weston_output *output_base, uint32_t value)
{
if (!output->backlight)
return;
- if (value < 1 || value > 10)
+ if (value < 0 || value > 255)
return;
max_brightness = backlight_get_max_brightness(output->backlight);
/* get denormalized value */
- new_brightness = ((value - 1) * (max_brightness)) / 9;
+ new_brightness = (value * max_brightness) / 255;
backlight_set_brightness(output->backlight, new_brightness);
}
void (*destroy)(struct weston_output *output);
void (*assign_planes)(struct weston_output *output);
- /* backlight values are on 1-10 range, where higher is brighter */
+ /* backlight values are on 0-255 range, where higher is brighter */
uint32_t backlight_current;
void (*set_backlight)(struct weston_output *output, uint32_t value);
void (*set_dpms)(struct weston_output *output, enum dpms_enum level);
{
struct weston_compositor *compositor = data;
struct weston_output *output;
+ long backlight_new = 0;
/* TODO: we're limiting to simple use cases, where we assume just
* control on the primary display. We'd have to extend later if we
if (!output->set_backlight)
return;
- if ((key == KEY_F9 || key == KEY_BRIGHTNESSDOWN) &&
- output->backlight_current > 1)
- output->backlight_current--;
- else if ((key == KEY_F10 || key == KEY_BRIGHTNESSUP) &&
- output->backlight_current < 10)
- output->backlight_current++;
+ if (key == KEY_F9 || key == KEY_BRIGHTNESSDOWN)
+ backlight_new = output->backlight_current - 25;
+ else if (key == KEY_F10 || key == KEY_BRIGHTNESSUP)
+ backlight_new = output->backlight_current + 25;
+ if (backlight_new < 5)
+ backlight_new = 5;
+ if (backlight_new > 255)
+ backlight_new = 255;
+
+ output->backlight_current = backlight_new;
output->set_backlight(output, output->backlight_current);
}