From ad9fd08a083d5db73f3da95c8a94a24e81317de9 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 23:11:18 -0500 Subject: [PATCH] Store name in ZETKeyboardController to avoid setting it in detector --- .../RGBController_ZETBladeOptical.cpp | 364 +++++++++--------- .../ZETBladeOpticalController.cpp | 8 +- .../ZETBladeOpticalController.h | 5 +- .../ZETKeyboardControllerDetect.cpp | 3 +- 4 files changed, 194 insertions(+), 186 deletions(-) diff --git a/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp b/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp index 750bc7ad..7302ebf9 100644 --- a/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp +++ b/Controllers/ZETKeyboardController/RGBController_ZETBladeOptical.cpp @@ -185,246 +185,246 @@ static const char *led_names[] = RGBController_ZETBladeOptical::RGBController_ZETBladeOptical(ZETBladeOpticalController* controller_ptr) { - controller = controller_ptr; + controller = controller_ptr; - name = "ZET Blade Optical Keyboard Device"; - vendor = "ZET"; - type = DEVICE_TYPE_KEYBOARD; - description = "ZET Blade Optical Keyboard Device"; - location = controller->GetDeviceLocation(); - serial = controller->GetSerialString(); + name = controller->GetNameString(); + vendor = "ZET"; + type = DEVICE_TYPE_KEYBOARD; + description = "ZET Blade Optical Keyboard Device"; + location = controller->GetDeviceLocation(); + serial = controller->GetSerialString(); mode Custom; - Custom.name = "Custom"; - Custom.value = ZET_BLADE_OPTICAL_MODE_CUSTOM; - Custom.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Custom.color_mode = MODE_COLORS_PER_LED; - Custom.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Custom.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Custom.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Custom.name = "Custom"; + Custom.value = ZET_BLADE_OPTICAL_MODE_CUSTOM; + Custom.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Custom.color_mode = MODE_COLORS_PER_LED; + Custom.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Custom.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Custom.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; modes.push_back(Custom); mode Static; - Static.name = "Static"; - Static.value = ZET_BLADE_OPTICAL_MODE_STATIC; - Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Static.color_mode = MODE_COLORS_MODE_SPECIFIC; - Static.colors_min = 1; - Static.colors_max = 1; + Static.name = "Static"; + Static.value = ZET_BLADE_OPTICAL_MODE_STATIC; + Static.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Static.color_mode = MODE_COLORS_MODE_SPECIFIC; + Static.colors_min = 1; + Static.colors_max = 1; Static.colors.resize(Static.colors_max); - Static.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Static.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Static.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Static.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Static.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Static.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Static.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Static.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Static); mode Breathing; - Breathing.name = "Breathing"; - Breathing.value = ZET_BLADE_OPTICAL_MODE_BREATHING; - Breathing.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Breathing.color_mode = MODE_COLORS_RANDOM; - Breathing.colors_min = 1; - Breathing.colors_max = 1; + Breathing.name = "Breathing"; + Breathing.value = ZET_BLADE_OPTICAL_MODE_BREATHING; + Breathing.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Breathing.color_mode = MODE_COLORS_RANDOM; + Breathing.colors_min = 1; + Breathing.colors_max = 1; Breathing.colors.resize(Breathing.colors_max); - Breathing.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Breathing.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Breathing.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Breathing.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Breathing.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Breathing.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Breathing.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Breathing.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Breathing.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Breathing.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Breathing.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Breathing.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Breathing); mode OnPress; - OnPress.name = "Reactive"; - OnPress.value = ZET_BLADE_OPTICAL_MODE_ON_PRESS; - OnPress.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - OnPress.color_mode = MODE_COLORS_RANDOM; - OnPress.colors_min = 1; - OnPress.colors_max = 1; + OnPress.name = "Reactive"; + OnPress.value = ZET_BLADE_OPTICAL_MODE_ON_PRESS; + OnPress.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + OnPress.color_mode = MODE_COLORS_RANDOM; + OnPress.colors_min = 1; + OnPress.colors_max = 1; OnPress.colors.resize(OnPress.colors_max); - OnPress.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - OnPress.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - OnPress.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - OnPress.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - OnPress.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - OnPress.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + OnPress.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + OnPress.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + OnPress.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + OnPress.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + OnPress.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + OnPress.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(OnPress); mode Raindrop; - Raindrop.name = "Reactive Raindrop"; - Raindrop.value = ZET_BLADE_OPTICAL_MODE_RAINDROP; - Raindrop.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Raindrop.color_mode = MODE_COLORS_RANDOM; - Raindrop.colors_min = 1; - Raindrop.colors_max = 1; + Raindrop.name = "Reactive Raindrop"; + Raindrop.value = ZET_BLADE_OPTICAL_MODE_RAINDROP; + Raindrop.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Raindrop.color_mode = MODE_COLORS_RANDOM; + Raindrop.colors_min = 1; + Raindrop.colors_max = 1; Raindrop.colors.resize(Raindrop.colors_max); - Raindrop.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Raindrop.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Raindrop.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Raindrop.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Raindrop.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Raindrop.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Raindrop.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Raindrop.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Raindrop.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Raindrop.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Raindrop.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Raindrop.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Raindrop); mode Ripple; - Ripple.name = "Reactive Ripple"; - Ripple.value = ZET_BLADE_OPTICAL_MODE_RIPPLE; - Ripple.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Ripple.color_mode = MODE_COLORS_RANDOM; - Ripple.colors_min = 1; - Ripple.colors_max = 1; + Ripple.name = "Reactive Ripple"; + Ripple.value = ZET_BLADE_OPTICAL_MODE_RIPPLE; + Ripple.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Ripple.color_mode = MODE_COLORS_RANDOM; + Ripple.colors_min = 1; + Ripple.colors_max = 1; Ripple.colors.resize(Ripple.colors_max); - Ripple.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Ripple.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Ripple.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Ripple.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Ripple.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Ripple.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Ripple.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Ripple.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Ripple.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Ripple.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Ripple.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Ripple.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Ripple); mode Laser; - Laser.name = "Reactive Laser"; - Laser.value = ZET_BLADE_OPTICAL_MODE_LASER; - Laser.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Laser.color_mode = MODE_COLORS_RANDOM; - Laser.colors_min = 1; - Laser.colors_max = 1; + Laser.name = "Reactive Laser"; + Laser.value = ZET_BLADE_OPTICAL_MODE_LASER; + Laser.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Laser.color_mode = MODE_COLORS_RANDOM; + Laser.colors_min = 1; + Laser.colors_max = 1; Laser.colors.resize(Laser.colors_max); - Laser.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Laser.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Laser.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Laser.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Laser.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Laser.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Laser.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Laser.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Laser.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Laser.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Laser.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Laser.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Laser); mode Waves; - Waves.name = "Waves"; - Waves.value = ZET_BLADE_OPTICAL_MODE_WAVES; - Waves.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Waves.color_mode = MODE_COLORS_RANDOM; - Waves.colors_min = 1; - Waves.colors_max = 1; + Waves.name = "Waves"; + Waves.value = ZET_BLADE_OPTICAL_MODE_WAVES; + Waves.flags = MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Waves.color_mode = MODE_COLORS_RANDOM; + Waves.colors_min = 1; + Waves.colors_max = 1; Waves.colors.resize(Waves.colors_max); - Waves.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Waves.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Waves.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Waves.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Waves.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Waves.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Waves.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Waves.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Waves.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Waves.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Waves.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Waves.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Waves); mode Rain; - Rain.name = "Rain"; - Rain.value = ZET_BLADE_OPTICAL_MODE_RAIN; - Rain.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Rain.color_mode = MODE_COLORS_NONE; - Rain.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Rain.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Rain.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Rain.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Rain.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Rain.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Rain.name = "Rain"; + Rain.value = ZET_BLADE_OPTICAL_MODE_RAIN; + Rain.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Rain.color_mode = MODE_COLORS_NONE; + Rain.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Rain.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Rain.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Rain.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Rain.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Rain.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Rain); mode Spectrum; - Spectrum.name = "Spectrum Cycle"; - Spectrum.value = ZET_BLADE_OPTICAL_MODE_SPECTRUM; - Spectrum.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Spectrum.color_mode = MODE_COLORS_NONE; - Spectrum.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Spectrum.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Spectrum.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Spectrum.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Spectrum.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Spectrum.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Spectrum.name = "Spectrum Cycle"; + Spectrum.value = ZET_BLADE_OPTICAL_MODE_SPECTRUM; + Spectrum.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Spectrum.color_mode = MODE_COLORS_NONE; + Spectrum.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Spectrum.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Spectrum.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Spectrum.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Spectrum.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Spectrum.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Spectrum); mode SurfingRight; // Now, you might be thinking... it'd be better to use .direction here, right? WRONG! There is no Surfing Left /._. - SurfingRight.name = "Rainbow Wave"; - SurfingRight.value = ZET_BLADE_OPTICAL_MODE_SURFING_RIGHT; - SurfingRight.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - SurfingRight.color_mode = MODE_COLORS_NONE; - SurfingRight.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - SurfingRight.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - SurfingRight.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - SurfingRight.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - SurfingRight.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - SurfingRight.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + SurfingRight.name = "Rainbow Wave"; + SurfingRight.value = ZET_BLADE_OPTICAL_MODE_SURFING_RIGHT; + SurfingRight.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + SurfingRight.color_mode = MODE_COLORS_NONE; + SurfingRight.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + SurfingRight.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + SurfingRight.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + SurfingRight.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + SurfingRight.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + SurfingRight.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(SurfingRight); mode SurfingCenter; - SurfingCenter.name = "Rainbow Wave Center"; - SurfingCenter.value = ZET_BLADE_OPTICAL_MODE_SURFING_CENTER; - SurfingCenter.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - SurfingCenter.color_mode = MODE_COLORS_NONE; - SurfingCenter.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - SurfingCenter.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - SurfingCenter.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - SurfingCenter.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - SurfingCenter.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - SurfingCenter.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + SurfingCenter.name = "Rainbow Wave Center"; + SurfingCenter.value = ZET_BLADE_OPTICAL_MODE_SURFING_CENTER; + SurfingCenter.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + SurfingCenter.color_mode = MODE_COLORS_NONE; + SurfingCenter.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + SurfingCenter.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + SurfingCenter.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + SurfingCenter.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + SurfingCenter.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + SurfingCenter.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(SurfingCenter); mode SurfingCross; - SurfingCross.name = "Rainbow Wave Cross"; - SurfingCross.value = ZET_BLADE_OPTICAL_MODE_SURFING_CROSS; - SurfingCross.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - SurfingCross.color_mode = MODE_COLORS_NONE; - SurfingCross.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - SurfingCross.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - SurfingCross.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - SurfingCross.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - SurfingCross.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - SurfingCross.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + SurfingCross.name = "Rainbow Wave Cross"; + SurfingCross.value = ZET_BLADE_OPTICAL_MODE_SURFING_CROSS; + SurfingCross.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + SurfingCross.color_mode = MODE_COLORS_NONE; + SurfingCross.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + SurfingCross.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + SurfingCross.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + SurfingCross.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + SurfingCross.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + SurfingCross.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(SurfingCross); mode RotateMarquee; - RotateMarquee.name = "Vortex"; - RotateMarquee.value = ZET_BLADE_OPTICAL_MODE_ROTATE_MARQUEE; - RotateMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - RotateMarquee.color_mode = MODE_COLORS_NONE; - RotateMarquee.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - RotateMarquee.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - RotateMarquee.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - RotateMarquee.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - RotateMarquee.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - RotateMarquee.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + RotateMarquee.name = "Vortex"; + RotateMarquee.value = ZET_BLADE_OPTICAL_MODE_ROTATE_MARQUEE; + RotateMarquee.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + RotateMarquee.color_mode = MODE_COLORS_NONE; + RotateMarquee.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + RotateMarquee.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + RotateMarquee.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + RotateMarquee.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + RotateMarquee.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + RotateMarquee.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(RotateMarquee); mode Traffic; - Traffic.name = "Traffic"; - Traffic.value = ZET_BLADE_OPTICAL_MODE_TRAFFIC; - Traffic.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Traffic.color_mode = MODE_COLORS_NONE; - Traffic.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Traffic.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Traffic.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Traffic.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Traffic.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Traffic.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Traffic.name = "Traffic"; + Traffic.value = ZET_BLADE_OPTICAL_MODE_TRAFFIC; + Traffic.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Traffic.color_mode = MODE_COLORS_NONE; + Traffic.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Traffic.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Traffic.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Traffic.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Traffic.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Traffic.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Traffic); mode Gradient; - Gradient.name = "Gradient"; - Gradient.value = ZET_BLADE_OPTICAL_MODE_GRADIENT; - Gradient.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; - Gradient.color_mode = MODE_COLORS_NONE; - Gradient.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; - Gradient.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; - Gradient.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; - Gradient.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; - Gradient.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; - Gradient.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Gradient.name = "Gradient"; + Gradient.value = ZET_BLADE_OPTICAL_MODE_GRADIENT; + Gradient.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_AUTOMATIC_SAVE; + Gradient.color_mode = MODE_COLORS_NONE; + Gradient.brightness_min = ZET_BLADE_OPTICAL_BRIGHTNESS_MIN; + Gradient.brightness_max = ZET_BLADE_OPTICAL_BRIGHTNESS_MAX; + Gradient.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Gradient.speed_min = ZET_BLADE_OPTICAL_SPEED_MIN; + Gradient.speed_max = ZET_BLADE_OPTICAL_SPEED_MAX; + Gradient.speed = ZET_BLADE_OPTICAL_SPEED_DEF; modes.push_back(Gradient); mode Off; - Off.name = "Off"; - Off.value = ZET_BLADE_OPTICAL_MODE_OFF; - Off.flags = MODE_FLAG_AUTOMATIC_SAVE; - Off.color_mode = MODE_COLORS_NONE; - Off.speed = ZET_BLADE_OPTICAL_SPEED_DEF; - Off.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; + Off.name = "Off"; + Off.value = ZET_BLADE_OPTICAL_MODE_OFF; + Off.flags = MODE_FLAG_AUTOMATIC_SAVE; + Off.color_mode = MODE_COLORS_NONE; + Off.speed = ZET_BLADE_OPTICAL_SPEED_DEF; + Off.brightness = ZET_BLADE_OPTICAL_BRIGHTNESS_DEF; modes.push_back(Off); SetupZones(); diff --git a/Controllers/ZETKeyboardController/ZETBladeOpticalController.cpp b/Controllers/ZETKeyboardController/ZETBladeOpticalController.cpp index 52d9880e..b1f715ad 100644 --- a/Controllers/ZETKeyboardController/ZETBladeOpticalController.cpp +++ b/Controllers/ZETKeyboardController/ZETBladeOpticalController.cpp @@ -27,10 +27,11 @@ using namespace std::chrono_literals; static const unsigned int SKIP_INDICES[] = { 1, 17, 18, 19, 20, 75, 77, 78, 79, 83, 85, 96, 98, 100, 108, 109, 111, 112, 113, 116, 123, 125 }; -ZETBladeOpticalController::ZETBladeOpticalController(hid_device* dev_handle, const char* path) +ZETBladeOpticalController::ZETBladeOpticalController(hid_device* dev_handle, const char* path, std::string dev_name) { dev = dev_handle; location = path; + name = dev_name; effect_mode = ZET_BLADE_OPTICAL_MODE_STATIC; } @@ -45,6 +46,11 @@ std::string ZETBladeOpticalController::GetDeviceLocation() return("HID " + location); } +std::string ZETBladeOpticalController::GetNameString() +{ + return(name); +} + std::string ZETBladeOpticalController::GetSerialString() { wchar_t serial_string[128]; diff --git a/Controllers/ZETKeyboardController/ZETBladeOpticalController.h b/Controllers/ZETKeyboardController/ZETBladeOpticalController.h index d80e3649..b1d49a17 100644 --- a/Controllers/ZETKeyboardController/ZETBladeOpticalController.h +++ b/Controllers/ZETKeyboardController/ZETBladeOpticalController.h @@ -51,10 +51,11 @@ class ZETBladeOpticalController { public: - ZETBladeOpticalController(hid_device* dev_handle, const char* path); + ZETBladeOpticalController(hid_device* dev_handle, const char* path, std::string dev_name); ~ZETBladeOpticalController(); std::string GetDeviceLocation(); + std::string GetNameString(); std::string GetSerialString(); void SetLEDDirect(const std::vector& colors, unsigned char brightness); @@ -63,8 +64,10 @@ public: private: hid_device* dev; std::string location; + std::string name; unsigned int effect_mode; bool custom_mode; + void PrepareHeader(unsigned char *packet, unsigned char brightness); void PrepareHeader(unsigned char *packet, unsigned char mode, unsigned char speed, unsigned char brightness, unsigned char color); unsigned char RGBToPalette(unsigned char red, unsigned char grn, unsigned char blu); diff --git a/Controllers/ZETKeyboardController/ZETKeyboardControllerDetect.cpp b/Controllers/ZETKeyboardController/ZETKeyboardControllerDetect.cpp index 931a36d8..177dc2d0 100644 --- a/Controllers/ZETKeyboardController/ZETKeyboardControllerDetect.cpp +++ b/Controllers/ZETKeyboardController/ZETKeyboardControllerDetect.cpp @@ -29,9 +29,8 @@ void DetectZETBladeOptical(hid_device_info* info, const std::string& name) if (dev) { - ZETBladeOpticalController* controller = new ZETBladeOpticalController(dev, info->path); + ZETBladeOpticalController* controller = new ZETBladeOpticalController(dev, info->path, name); RGBController_ZETBladeOptical* rgb_controller = new RGBController_ZETBladeOptical(controller); - rgb_controller->name = name; ResourceManager::get()->RegisterRGBController(rgb_controller); }