From 9026d549206d2dc0186dc1192c3aeeb347e2233a Mon Sep 17 00:00:00 2001 From: vhaudiquet Date: Wed, 27 Sep 2023 17:16:44 +0200 Subject: [PATCH] driver: g-wolves hsk pro support --- drivers/g-wolves/Makefile | 2 +- drivers/g-wolves/devices/gwolves-hsk_pro.png | Bin 0 -> 67882 bytes drivers/g-wolves/devices/hsk_pro.h | 12 ++++++++++++ drivers/g-wolves/g-wolves.c | 6 ++++++ drivers/g-wolves/g-wolves.h | 2 ++ 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 drivers/g-wolves/devices/gwolves-hsk_pro.png create mode 100644 drivers/g-wolves/devices/hsk_pro.h diff --git a/drivers/g-wolves/Makefile b/drivers/g-wolves/Makefile index a6adab1..d8dee9a 100644 --- a/drivers/g-wolves/Makefile +++ b/drivers/g-wolves/Makefile @@ -3,7 +3,7 @@ CFLAGS=$(shell pkg-config --cflags libusb-1.0) -O3 -Wall -shared LDFLAGS=$(shell pkg-config --libs libusb-1.0) ASSETS=$(shell find devices/ -name '*.png') -FINAL_ASSETS=$(BUILD_DIR)/drivers/assets/gwolves-htx.png +FINAL_ASSETS=$(BUILD_DIR)/drivers/assets/gwolves-htx.png $(BUILD_DIR)/drivers/assets/gwolves-hts_plus.png $(BUILD_DIR)/drivers/assets/gwolves-hsk_pro.png BUILD_DIR=../../build/ all: $(BUILD_DIR)/drivers/g-wolves.so diff --git a/drivers/g-wolves/devices/gwolves-hsk_pro.png b/drivers/g-wolves/devices/gwolves-hsk_pro.png new file mode 100644 index 0000000000000000000000000000000000000000..6eab0991cfb309dd138887ed76b54fb0ada4228c GIT binary patch literal 67882 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

T@}o!#KPP*A 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 Ca6pv+ literal 0 HcmV?d00001 diff --git a/drivers/g-wolves/devices/hsk_pro.h b/drivers/g-wolves/devices/hsk_pro.h new file mode 100644 index 0000000..a94520b --- /dev/null +++ b/drivers/g-wolves/devices/hsk_pro.h @@ -0,0 +1,12 @@ +#ifndef HSK_PRO_H +#define HSK_PRO_H + +#define HSK_PRO_ACE_PRODUCT_ID_WIRED 0x5804 +#define HSK_PRO_ACE_PRODUCT_ID_WIRELESS 0x5803 +#define HSK_PRO_ACE_PRODUCT_NAME "HSK PRO ACE" + +#define HSK_PRO_IMAGE "gwolves-hsk_pro.png" +#define HSK_PRO_DPI_MAX_VALUE 26000 +#define HSK_PRO_DPI_MAX_LEVEL_COUNT 5 + +#endif diff --git a/drivers/g-wolves/g-wolves.c b/drivers/g-wolves/g-wolves.c index f41c8dd..72f0a13 100644 --- a/drivers/g-wolves/g-wolves.c +++ b/drivers/g-wolves/g-wolves.c @@ -83,6 +83,9 @@ char* driver_get_name(void* handle) case HTS_PLUS_4K_PRODUCT_ID_WIRED: case HTS_PLUS_4K_PRODUCT_ID_WIRELESS: return HTS_PLUS_4K_PRODUCT_NAME; + case HSK_PRO_ACE_PRODUCT_ID_WIRED: + case HSK_PRO_ACE_PRODUCT_ID_WIRELESS: + return HSK_PRO_ACE_PRODUCT_NAME; default: return "Unknown G-Wolves mice"; } @@ -103,6 +106,9 @@ char* driver_get_image(void* handle) case HTS_PLUS_4K_PRODUCT_ID_WIRED: case HTS_PLUS_4K_PRODUCT_ID_WIRELESS: return HTS_PLUS_IMAGE; + case HSK_PRO_ACE_PRODUCT_ID_WIRED: + case HSK_PRO_ACE_PRODUCT_ID_WIRELESS: + return HSK_PRO_IMAGE; default: return ""; } diff --git a/drivers/g-wolves/g-wolves.h b/drivers/g-wolves/g-wolves.h index 4ea2f27..dd2ec2f 100644 --- a/drivers/g-wolves/g-wolves.h +++ b/drivers/g-wolves/g-wolves.h @@ -8,8 +8,10 @@ #include #include +// Devices #include "devices/htx.h" #include "devices/hts_plus.h" +#include "devices/hsk_pro.h" #define VENDOR_ID 0x33e4