steelseries: add 'Quirk' setting

This commit is contained in:
staticssleever668
2021-05-01 09:19:25 +03:00
committed by Filipe Laíns
parent e908871e82
commit 66e44d76b9
4 changed files with 27 additions and 0 deletions

View File

@@ -177,6 +177,7 @@ src_libratbag = [
'src/driver-gskill.c',
'src/driver-openinput.c',
'src/driver-steelseries.c',
'src/driver-steelseries.h',
'src/driver-sinowealth.c',
'src/driver-sinowealth-nubwo.c',
'src/driver-test.c',

5
src/driver-steelseries.h Normal file
View File

@@ -0,0 +1,5 @@
#pragma once
enum steelseries_quirk {
STEELSERIES_QURIK_NONE,
};

View File

@@ -30,6 +30,7 @@
#include <glib.h>
#include <limits.h>
#include "driver-steelseries.h"
#include "libratbag.h"
#include "libratbag-private.h"
#include "libratbag-data.h"
@@ -84,6 +85,7 @@ struct data_steelseries {
struct dpi_range *dpi_range;
int macro_length;
int mono_led;
enum steelseries_quirk quirk;
int short_button;
};
@@ -213,6 +215,7 @@ init_data_steelseries(struct ratbag *ratbag,
data->steelseries.dpi_list = NULL;
data->steelseries.dpi_range = NULL;
data->steelseries.mono_led = 0;
data->steelseries.quirk = STEELSERIES_QURIK_NONE;
data->steelseries.short_button = 0;
num = g_key_file_get_integer(keyfile, group, "Buttons", &error);
@@ -258,6 +261,10 @@ init_data_steelseries(struct ratbag *ratbag,
if (error)
g_error_free(error);
str = g_key_file_get_string(keyfile, group, "Quirk", NULL);
if (str) {
}
error = NULL;
num = g_key_file_get_integer(keyfile, group, "ShortButton", &error);
if (num > 0 || !error)
@@ -688,6 +695,14 @@ ratbag_device_data_steelseries_get_mono_led(const struct ratbag_device_data *dat
return data->steelseries.mono_led;
}
enum steelseries_quirk
ratbag_device_data_steelseries_get_quirk(const struct ratbag_device_data *data)
{
assert(data->drivertype == STEELSERIES);
return data->steelseries.quirk;
}
int
ratbag_device_data_steelseries_get_short_button(const struct ratbag_device_data *data)
{

View File

@@ -121,5 +121,11 @@ ratbag_device_data_steelseries_get_macro_length(const struct ratbag_device_data
int
ratbag_device_data_steelseries_get_mono_led(const struct ratbag_device_data *data);
/**
* @return Quirk
*/
enum steelseries_quirk
ratbag_device_data_steelseries_get_quirk(const struct ratbag_device_data *data);
int
ratbag_device_data_steelseries_get_short_button(const struct ratbag_device_data *data);