From 0d3b4f1b648c9000e93a1d66d2e18c6c07a8a689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filipe=20La=C3=ADns?= Date: Sun, 15 Dec 2019 01:06:12 +0000 Subject: [PATCH] libratbag: add 'switches' led type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filipe LaĆ­ns --- data/devices/data-parse-test.py | 2 +- ratbagd/ratbagd-json.c | 2 +- src/libratbag-data.c | 2 ++ src/libratbag-enums.h | 1 + tools/shared.c | 3 +++ 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/data/devices/data-parse-test.py b/data/devices/data-parse-test.py index f0a7fc90..04aa86f7 100755 --- a/data/devices/data-parse-test.py +++ b/data/devices/data-parse-test.py @@ -58,7 +58,7 @@ def check_match_str(string): def check_ledtypes_str(string): - permitted_types = ['logo', 'side', 'battery', 'dpi'] + permitted_types = ['logo', 'side', 'battery', 'dpi', 'switches'] types = string.split(';') for t in types: diff --git a/ratbagd/ratbagd-json.c b/ratbagd/ratbagd-json.c index c24ff051..54a3ae2a 100644 --- a/ratbagd/ratbagd-json.c +++ b/ratbagd/ratbagd-json.c @@ -170,7 +170,7 @@ static void parse_led_member(JsonObject *obj, const gchar *name, if (streq(name, "type")) { gboolean v = json_object_get_int_member(obj, name); - if (v < 0 || v > RATBAG_LED_TYPE_WHEEL) + if (v < 0 || v > RATBAG_LED_TYPE_SWITCHES) parser_error("type"); led->type = v; diff --git a/src/libratbag-data.c b/src/libratbag-data.c index 9a9db884..012ea845 100644 --- a/src/libratbag-data.c +++ b/src/libratbag-data.c @@ -346,6 +346,8 @@ parse_ledtypes(char **strv, enum ratbag_led_type *types, size_t ntypes) types[i] = RATBAG_LED_TYPE_SIDE; else if (streq(s, "wheel")) types[i] = RATBAG_LED_TYPE_WHEEL; + else if (streq(s, "switches")) + types[i] = RATBAG_LED_TYPE_SWITCHES; else return -1; diff --git a/src/libratbag-enums.h b/src/libratbag-enums.h index 24755044..772fa9e8 100644 --- a/src/libratbag-enums.h +++ b/src/libratbag-enums.h @@ -293,6 +293,7 @@ enum ratbag_led_type { RATBAG_LED_TYPE_BATTERY, RATBAG_LED_TYPE_DPI, RATBAG_LED_TYPE_WHEEL, + RATBAG_LED_TYPE_SWITCHES, }; /** diff --git a/tools/shared.c b/tools/shared.c index 1b87a744..ee51b621 100644 --- a/tools/shared.c +++ b/tools/shared.c @@ -74,6 +74,9 @@ led_type_to_str(enum ratbag_led_type type) case RATBAG_LED_TYPE_WHEEL: str = "wheel"; break; + case RATBAG_LED_TYPE_SWITCHES: + str = "switches"; + break; default: assert(!"Invalid LED type"); break;