From 75d14002068a012d2218c2e283c48b4b593dac17 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 18 Oct 2017 09:04:38 +1000 Subject: [PATCH] hidpp20: set the LED caps based on what the device reports Signed-off-by: Peter Hutterer --- src/driver-hidpp20.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/driver-hidpp20.c b/src/driver-hidpp20.c index 446ea2b5..451d0da6 100644 --- a/src/driver-hidpp20.c +++ b/src/driver-hidpp20.c @@ -300,9 +300,14 @@ hidpp20drv_read_led_1300(struct ratbag_led *led, struct hidpp20drv_data* data) led->mode = RATBAG_LED_ON; } - ratbag_led_set_mode_capability(led, RATBAG_LED_ON); - ratbag_led_set_mode_capability(led, RATBAG_LED_BREATHING); - ratbag_led_set_mode_capability(led, RATBAG_LED_OFF); + if (info->caps & HIDPP20_LED_MODE_ON) + ratbag_led_set_mode_capability(led, RATBAG_LED_ON); + if (info->caps & HIDPP20_LED_MODE_OFF) + ratbag_led_set_mode_capability(led, RATBAG_LED_OFF); + if (info->caps & (HIDPP20_LED_MODE_BLINK | HIDPP20_LED_MODE_TRAVEL | + HIDPP20_LED_MODE_RAMP_UP | HIDPP20_LED_MODE_RAMP_DOWN | + HIDPP20_LED_MODE_HEARTBEAT | HIDPP20_LED_MODE_BREATHING)) + ratbag_led_set_mode_capability(led, RATBAG_LED_BREATHING); } static void