Skip to content

Commit 68d27e5

Browse files
Add brightness control for Logitech Lightsync mice (only for Spectrum Cycle and Breathing modes)
1 parent ec5e714 commit 68d27e5

File tree

2 files changed

+28
-16
lines changed

2 files changed

+28
-16
lines changed

Controllers/LogitechController/RGBController_LogitechGLightsync.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,22 @@ RGBController_LogitechGLightsync::RGBController_LogitechGLightsync(LogitechGLigh
4949
Cycle.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
5050
Cycle.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
5151
Cycle.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
52+
Cycle.brightness_min = 0;
53+
Cycle.brightness_max = 100;
54+
Cycle.brightness = 100;
5255
modes.push_back(Cycle);
5356

5457
mode Breathing;
55-
Breathing.name = "Breathing";
56-
Breathing.value = LOGITECH_G_LIGHTSYNC_MODE_BREATHING;
57-
Breathing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS;
58-
Breathing.color_mode = MODE_COLORS_PER_LED;
59-
Breathing.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
60-
Breathing.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
61-
Breathing.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
58+
Breathing.name = "Breathing";
59+
Breathing.value = LOGITECH_G_LIGHTSYNC_MODE_BREATHING;
60+
Breathing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS;
61+
Breathing.color_mode = MODE_COLORS_PER_LED;
62+
Breathing.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
63+
Breathing.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
64+
Breathing.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
65+
Breathing.brightness_min = 0;
66+
Breathing.brightness_max = 100;
67+
Breathing.brightness = 100;
6268
modes.push_back(Breathing);
6369

6470
SetupZones();
@@ -124,7 +130,7 @@ void RGBController_LogitechGLightsync::UpdateZoneLEDs(int zone)
124130
\*---------------------------------------------------------*/
125131
unsigned char temp_mode = (modes[active_mode].value != 0xFF) ? modes[active_mode].value : LOGITECH_G_LIGHTSYNC_MODE_STATIC;
126132

127-
logitech->UpdateMouseLED(temp_mode, modes[active_mode].speed, zone, red, grn, blu, /* Brightness */ 0x64);
133+
logitech->UpdateMouseLED(temp_mode, modes[active_mode].speed, zone, red, grn, blu, modes[active_mode].brightness);
128134
}
129135

130136
void RGBController_LogitechGLightsync::UpdateSingleLED(int led)

Controllers/LogitechController/RGBController_LogitechGLightsync1zone.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,22 @@ RGBController_LogitechGLightsync1zone::RGBController_LogitechGLightsync1zone(Log
4949
Cycle.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
5050
Cycle.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
5151
Cycle.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
52+
Cycle.brightness_min = 0;
53+
Cycle.brightness_max = 100;
54+
Cycle.brightness = 100;
5255
modes.push_back(Cycle);
5356

5457
mode Breathing;
55-
Breathing.name = "Breathing";
56-
Breathing.value = LOGITECH_G_LIGHTSYNC_MODE_BREATHING;
57-
Breathing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS;
58-
Breathing.color_mode = MODE_COLORS_PER_LED;
59-
Breathing.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
60-
Breathing.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
61-
Breathing.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
58+
Breathing.name = "Breathing";
59+
Breathing.value = LOGITECH_G_LIGHTSYNC_MODE_BREATHING;
60+
Breathing.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS;
61+
Breathing.color_mode = MODE_COLORS_PER_LED;
62+
Breathing.speed_min = LOGITECH_G_LIGHTSYNC_SPEED_SLOWEST;
63+
Breathing.speed_max = LOGITECH_G_LIGHTSYNC_SPEED_FASTEST;
64+
Breathing.speed = LOGITECH_G_LIGHTSYNC_SPEED_NORMAL;
65+
Breathing.brightness_min = 0;
66+
Breathing.brightness_max = 100;
67+
Breathing.brightness = 100;
6268
modes.push_back(Breathing);
6369

6470
SetupZones();
@@ -110,7 +116,7 @@ void RGBController_LogitechGLightsync1zone::UpdateZoneLEDs(int zone)
110116
\*---------------------------------------------------------*/
111117
unsigned char temp_mode = (modes[active_mode].value != 0xFF) ? modes[active_mode].value : LOGITECH_G_LIGHTSYNC_MODE_STATIC;
112118

113-
logitech->UpdateMouseLED(temp_mode, modes[active_mode].speed, zone, red, grn, blu, /* Brightness */ 0x64);
119+
logitech->UpdateMouseLED(temp_mode, modes[active_mode].speed, zone, red, grn, blu, modes[active_mode].brightness);
114120
}
115121

116122
void RGBController_LogitechGLightsync1zone::UpdateSingleLED(int led)

0 commit comments

Comments
 (0)