mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-05 11:47:40 +00:00
steelseries: Add support for Rival 3 Wireless
This commit is contained in:
parent
3c30072b77
commit
508922c20c
@ -7,10 +7,15 @@ This plugin allows to update firmware on SteelSeries gamepads:
|
||||
* Stratus Duo
|
||||
* Stratus Duo USB wireless adapter
|
||||
* Proton
|
||||
* Rival 3 Wireless
|
||||
|
||||
SteelSeries gaming mice support is limited by getting the correct version
|
||||
number. These mice have updatable firmware but so far no updates are available
|
||||
from the vendor.
|
||||
SteelSeries Rival 100 gaming mice support is limited by getting the correct
|
||||
version number. These mice have updatable firmware but so far no updates are
|
||||
available from the vendor.
|
||||
|
||||
This plugin supports the following protocol IDs:
|
||||
|
||||
* com.steelseries.sonic
|
||||
|
||||
## GUID Generation
|
||||
|
||||
@ -32,6 +37,11 @@ updates, and is reset automatically to new firmware after flashing.
|
||||
|
||||
The device is not upgradable and thus requires no vendor ID set.
|
||||
|
||||
### Wireless Mice
|
||||
|
||||
The mouse switch button underneath must be set to 2.4G, and its 2.4G USB
|
||||
Wireless adapter must be connected to host.
|
||||
|
||||
## Vendor ID Security
|
||||
|
||||
The vendor ID is set from the USB vendor, in this instance set to `USB:0x1038`
|
||||
|
@ -10,12 +10,14 @@
|
||||
|
||||
#include "fu-steelseries-device.h"
|
||||
#include "fu-steelseries-gamepad.h"
|
||||
#include "fu-steelseries-sonic.h"
|
||||
|
||||
static void
|
||||
fu_plugin_steelseries_init(FuPlugin *plugin)
|
||||
{
|
||||
fu_plugin_add_device_gtype(plugin, FU_TYPE_STEELSERIES_DEVICE);
|
||||
fu_plugin_add_device_gtype(plugin, FU_TYPE_STEELSERIES_GAMEPAD);
|
||||
fu_plugin_add_device_gtype(plugin, FU_TYPE_STEELSERIES_SONIC);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Denis Pynkin <denis.pynkin@collabora.com>
|
||||
* Copyright (C) 2022 Gaël PORTAY <gael.portay@collabora.com>
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1+
|
||||
*/
|
||||
@ -13,6 +14,8 @@ fu_steelseries_device_type_from_string(const gchar *name)
|
||||
return FU_STEELSERIES_DEVICE_GAMEPAD;
|
||||
if (g_strcmp0(name, "gamepad-dongle") == 0)
|
||||
return FU_STEELSERIES_DEVICE_GAMEPAD_DONGLE;
|
||||
if (g_strcmp0(name, "sonic") == 0)
|
||||
return FU_STEELSERIES_DEVICE_SONIC;
|
||||
return FU_STEELSERIES_DEVICE_UNKNOWN;
|
||||
}
|
||||
|
||||
@ -23,6 +26,7 @@ fu_steelseries_device_type_to_string(FuSteelseriesDeviceKind type)
|
||||
return "gamepad";
|
||||
if (type == FU_STEELSERIES_DEVICE_GAMEPAD_DONGLE)
|
||||
return "gamepad-dongle";
|
||||
|
||||
if (type == FU_STEELSERIES_DEVICE_SONIC)
|
||||
return "sonic";
|
||||
return "unknown";
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2021 Denis Pynkin <denis.pynkin@collabora.com>
|
||||
* Copyright (C) 2022 Gaël PORTAY <gael.portay@collabora.com>
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1+
|
||||
*/
|
||||
@ -11,7 +12,8 @@
|
||||
typedef enum {
|
||||
FU_STEELSERIES_DEVICE_UNKNOWN = 0,
|
||||
FU_STEELSERIES_DEVICE_GAMEPAD,
|
||||
FU_STEELSERIES_DEVICE_GAMEPAD_DONGLE
|
||||
FU_STEELSERIES_DEVICE_GAMEPAD_DONGLE,
|
||||
FU_STEELSERIES_DEVICE_SONIC,
|
||||
} FuSteelseriesDeviceKind;
|
||||
|
||||
FuSteelseriesDeviceKind
|
||||
|
1151
plugins/steelseries/fu-steelseries-sonic.c
Normal file
1151
plugins/steelseries/fu-steelseries-sonic.c
Normal file
File diff suppressed because it is too large
Load Diff
16
plugins/steelseries/fu-steelseries-sonic.h
Normal file
16
plugins/steelseries/fu-steelseries-sonic.h
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Gaël PORTAY <gael.portay@collabora.com>
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.1+
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <fwupdplugin.h>
|
||||
|
||||
#define FU_TYPE_STEELSERIES_SONIC (fu_steelseries_sonic_get_type())
|
||||
G_DECLARE_FINAL_TYPE(FuSteelseriesSonic, fu_steelseries_sonic, FU, STEELSERIES_SONIC, FuUsbDevice)
|
||||
|
||||
struct _FuSteelseriesSonicClass {
|
||||
FuUsbDeviceClass parent_class;
|
||||
};
|
@ -12,6 +12,7 @@ shared_module('fu_plugin_steelseries',
|
||||
'fu-steelseries-common.c',
|
||||
'fu-steelseries-device.c',
|
||||
'fu-steelseries-gamepad.c',
|
||||
'fu-steelseries-sonic.c',
|
||||
],
|
||||
include_directories : [
|
||||
root_incdir,
|
||||
|
@ -5,6 +5,12 @@ GType = FuSteelseriesDevice
|
||||
Summary = An optical gaming mouse
|
||||
Icon = input-mouse
|
||||
|
||||
# Rival 3 Wireless
|
||||
[USB\VID_1038&PID_1830]
|
||||
Plugin = steelseries
|
||||
GType = FuSteelseriesSonic
|
||||
Icon = input-mouse
|
||||
|
||||
[USB\VID_1038&PID_1430]
|
||||
Plugin = steelseries
|
||||
GType = FuSteelseriesGamepad
|
||||
|
Loading…
Reference in New Issue
Block a user