fix up wheel issue with bl module

should make bl work on archos on anchient kernel now... missed support
code from e_backlight.c



SVN revision: 61277
This commit is contained in:
Carsten Haitzler 2011-07-12 10:12:59 +00:00
parent a2ac69cd09
commit ad7ad9a092
3 changed files with 23 additions and 8 deletions

View File

@ -285,6 +285,20 @@ _bl_sys_find(void)
free(file);
}
}
if (maxval <= 0)
{
struct stat st;
tryfile = "/sys/class/leds/lcd-backlight/brightness";
if (stat(tryfile, &st) == 0)
{
tryfile = "/sys/class/leds/lcd-backlight/max_brightness";
bl_sysval = eina_stringshare_add(tryfile);
maxval = _bl_sys_num_get(tryfile);
if (maxval <= 0) maxval = 255;
return;
}
}
}
}
@ -304,12 +318,12 @@ _bl_sys_level_get(void)
strcat(p, "brightness");
}
maxval = _bl_sys_num_get(maxfile);
if (maxval > 0)
{
val = _bl_sys_num_get(valfile);
if ((val >= 0) && (val <= maxval))
bl_val = (double)val / (double)maxval;
}
if (maxval < 0) maxval = 255;
val = _bl_sys_num_get(valfile);
if ((val >= 0) && (val <= maxval))
bl_val = (double)val / (double)maxval;
printf("GET: %i/%i (%1.3f)\n", val, maxval, bl_val);
free(valfile);
}
static Eina_Bool
@ -343,6 +357,7 @@ _bl_sys_level_set(double val)
bl_sys_pending_set = EINA_TRUE;
return;
}
printf("SET: %1.3f\n", val);
snprintf(buf, sizeof(buf),
"%s/enlightenment/utils/enlightenment_backlight %i",
e_prefix_lib_get(), (int)(val * 1000.0));

View File

@ -154,7 +154,7 @@ main(int argc,
struct stat st;
snprintf(file, sizeof(file), "/sys/class/leds/lcd-backlight/brightness");
if (stat(file, &st) >= 0)
if (stat(file, &st) == 0)
{
maxlevel = 255;
maxstr = read_file("/sys/devices/leds/lcd-backlight/max_brightness");
@ -162,6 +162,7 @@ main(int argc,
{
maxlevel = atoi(maxstr);
free(maxstr);
if (maxlevel <= 0) maxlevel = 255;
}
}
}

View File

@ -350,7 +350,6 @@ _backlight_cb_mouse_wheel(void *data, Evas *evas __UNUSED__, Evas_Object *obj __
double v;
Instance *inst = data;
e_backlight_update();
inst->val = e_backlight_level_get(inst->gcc->gadcon->zone);
if (ev->z > 0)
_backlight_level_decrease(inst);