liblights: Add support for variable touchkey brightness
Change-Id: Icc5c589e88dc342ae50b432187bae65a9b3a23d7
diff --git a/liblights/include/samsung_lights.h b/liblights/include/samsung_lights.h
index dc07b6f..f9392c1 100644
--- a/liblights/include/samsung_lights.h
+++ b/liblights/include/samsung_lights.h
@@ -30,6 +30,9 @@
#define BUTTON_BRIGHTNESS_NODE "/sys/class/sec/sec_touchkey/brightness"
#define LED_BLINK_NODE "/sys/class/sec/led/led_blink"
+// Set to 1 to enable variable button brightness
+#define VAR_BUTTON_BRIGHTNESS 0
+
/*
* Brightness adjustment factors
*
diff --git a/liblights/lights.c b/liblights/lights.c
index 7e64ece..ad6edc6 100644
--- a/liblights/lights.c
+++ b/liblights/lights.c
@@ -145,12 +145,13 @@
struct light_state_t const* state)
{
int err = 0;
- int on = (state->color & COLOR_MASK);
-
pthread_mutex_lock(&g_lock);
+ int brightness = (state->color & COLOR_MASK) ? 1 : 0;
- err = set_cur_button_brightness(on ? 1 : 0);
-
+#ifdef VAR_BUTTON_BRIGHTNESS
+ brightness = rgb_to_brightness(state);
+#endif
+ err = set_cur_button_brightness(brightness);
pthread_mutex_unlock(&g_lock);
return err;