diff --git a/RGBController/RGBController_HyperXKeyboard.cpp b/RGBController/RGBController_HyperXKeyboard.cpp index 7df1d612..948759b2 100644 --- a/RGBController/RGBController_HyperXKeyboard.cpp +++ b/RGBController/RGBController_HyperXKeyboard.cpp @@ -9,6 +9,150 @@ #include "RGBController_HyperXKeyboard.h" +static const char* zone_names[] = +{ + "Keyboard", + "RGB Strip", + "Media Keys" +}; + +static const unsigned int zone_sizes[] = +{ + 104, + 18, + 4 +}; + +static const char* led_names[] = +{ + "Key: Escape", + "Key: `", + "Key: Tab", + "Key: Caps Lock", + "Key: Left Shift", + "Key: Left Control", + "Key: F12", + "Key: =", + "Key: F9", + "Key: 9", + "Key: O", + "Key: L", + "Key: ,", + "Key: Context", + "Key: Left Arrow", + "Key: F1", + "Key: 1", + "Key: Q", + "Key: A", + "Key: Left Windows", + "Key: Print Screen", + "Key: F10", + "Key: 0", + "Key: P", + "Key: ;", + "Key: .", + "Key: Enter", + "Key: Down Arrow", + "Key: F2", + "Key: 2", + "Key: W", + "Key: S", + "Key: Z", + "Key: Left Alt", + "Key: Scroll Lock", + "Key: Backspace", + "Key: F11", + "Key: -", + "Key: [", + "Key: '", + "Key: /", + "Key: Right Arrow", + "Key: F3", + "Key: 3", + "Key: E", + "Key: D", + "Key: X", + "Key: Pause/Break", + "Key: Delete", + "Key: Number Pad 7", + "Key: Num Lock", + "Key: Number Pad 6", + "Key: F4", + "Key: 4", + "Key: R", + "Key: F", + "Key: C", + "Key: Space", + "Key: Insert", + "Key: End", + "Key: Number Pad 8", + "Key: Number Pad /", + "Key: Number Pad 1", + "Key: F5", + "Key: 5", + "Key: T", + "Key: G", + "Key: V", + "Key: Home", + "Key: Page Down", + "Key: Number Pad 9", + "Key: Number Pad *", + "Key: Number Pad 2", + "Key: F6", + "Key: 6", + "Key: Y", + "Key: H", + "Key: B", + "Key: Page Up", + "Key: Right Shift", + "Key: Number Pad -", + "Key: Number Pad 3", + "Key: F7", + "Key: 7", + "Key: U", + "Key: J", + "Key: N", + "Key: Right Alt", + "Key: ]", + "Key: Right Control", + "Key: Number Pad 4", + "Key: Number Pad +", + "Key: Number Pad 0", + "Key: F8", + "Key: 8", + "Key: I", + "Key: K", + "Key: M", + "Key: Right Windows", + "Key: \\", + "Key: Up Arrow", + "Key: Number Pad 5", + "Key: Number Pad Enter", + "Key: Number Pad .", + "RGB Strip 1", + "RGB Strip 2", + "RGB Strip 3", + "RGB Strip 4", + "RGB Strip 5", + "RGB Strip 6", + "RGB Strip 7", + "RGB Strip 8", + "RGB Strip 9", + "RGB Strip 10", + "RGB Strip 11", + "RGB Strip 12", + "RGB Strip 13", + "RGB Strip 14", + "RGB Strip 15", + "RGB Strip 16", + "RGB Strip 17", + "RGB Strip 18", + "Media Previous", + "Media Play/Pause", + "Media Next", + "Media Mute" +}; + RGBController_HyperXKeyboard::RGBController_HyperXKeyboard(HyperXKeyboardController* hyperx_ptr) { hyperx = hyperx_ptr; @@ -51,9 +195,34 @@ RGBController_HyperXKeyboard::RGBController_HyperXKeyboard(HyperXKeyboardControl Breathing.speed = 0x09; modes.push_back(Breathing); + colors.resize(126); + + unsigned int led_idx = 0; + for(unsigned int zone_idx = 0; zone_idx < 3; zone_idx++) + { + zone new_zone; + new_zone.name.append(zone_names[zone_idx]); + + std::vector new_zone_map; + + for(unsigned int led_count = 0; led_count < zone_sizes[zone_idx]; led_count++) + { + led new_led; + new_led.name.append(led_names[led_idx]); + leds.push_back(new_led); + + new_zone_map.push_back(led_idx); + + led_idx++; + } + + new_zone.map.push_back(new_zone_map); + + zones.push_back(new_zone); + } for(int i = 0; i < 126; i++) { - colors.push_back(0x00000000); + } }