Add underglow matrix zone to debug keyboard

Amended by Adam Honse <calcprogrammer1@gmail.com>
This commit is contained in:
silas
2021-01-20 12:43:25 -06:00
committed by Adam Honse
parent ca9ab8989b
commit ae23037cce

View File

@@ -25,6 +25,11 @@ static unsigned int debug_keyboard_matrix_map[6][23] =
{ 4, 20, 34, 48, 58, 69, NA, 79, NA, 88, 99, 12, 27, 42 , 81, NA , NA, 102, NA, 64, 74, 83, 104 },
{ 5, 21, 35, NA, NA, NA, NA, 59, NA, NA, NA, NA, 89, 100, 13, 91 , 15, 29, 43, 94, NA, 105, NA } };
static unsigned int dummy_keyboard_underglow_map[3][10] =
{ { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 },
{ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 },
{ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 } };
static const char *led_names[] =
{
"Key: Escape",
@@ -154,10 +159,39 @@ static const char *led_names[] =
"Key: Media Previous",
"Key: Media Play/Pause",
"Key: Media Next",
"Key: Media Mute"
"Key: Media Mute",
"Underglow LED 1",
"Underglow LED 2",
"Underglow LED 3",
"Underglow LED 4",
"Underglow LED 5",
"Underglow LED 6",
"Underglow LED 7",
"Underglow LED 8",
"Underglow LED 9",
"Underglow LED 10",
"Underglow LED 11",
"Underglow LED 12",
"Underglow LED 13",
"Underglow LED 14",
"Underglow LED 15",
"Underglow LED 16",
"Underglow LED 17",
"Underglow LED 18",
"Underglow LED 19",
"Underglow LED 20",
"Underglow LED 21",
"Underglow LED 22",
"Underglow LED 23",
"Underglow LED 24",
"Underglow LED 25",
"Underglow LED 26",
"Underglow LED 27",
"Underglow LED 28",
"Underglow LED 29",
"Underglow LED 30"
};
/******************************************************************************************\
* *
* DetectDebugControllers *
@@ -432,16 +466,16 @@ void DetectDebugControllers(std::vector<RGBController*> &rgb_controllers)
dummy_keyboard->serial = "Debug Keyboard Serial";
/*---------------------------------------------------------*\
| Create a direct mode for the dummy GPU |
| Create a direct mode for the dummy keyboard |
\*---------------------------------------------------------*/
mode dummy_gpu_direct_mode;
mode dummy_keyboard_direct_mode;
dummy_gpu_direct_mode.name = "Direct";
dummy_gpu_direct_mode.value = 0;
dummy_gpu_direct_mode.flags = MODE_FLAG_HAS_PER_LED_COLOR;
dummy_gpu_direct_mode.color_mode = MODE_COLORS_PER_LED;
dummy_keyboard_direct_mode.name = "Direct";
dummy_keyboard_direct_mode.value = 0;
dummy_keyboard_direct_mode.flags = MODE_FLAG_HAS_PER_LED_COLOR;
dummy_keyboard_direct_mode.color_mode = MODE_COLORS_PER_LED;
dummy_keyboard->modes.push_back(dummy_gpu_direct_mode);
dummy_keyboard->modes.push_back(dummy_keyboard_direct_mode);
/*---------------------------------------------------------*\
| Create a matrix zone for the debug Keyboard |
@@ -460,6 +494,23 @@ void DetectDebugControllers(std::vector<RGBController*> &rgb_controllers)
dummy_keyboard->zones.push_back(dummy_keyboard_matrix_zone);
/*-----------------------------------------------------------------*\
| Add another matrix zone so that is can resemble a huntsman elite |
\*-----------------------------------------------------------------*/
zone dummy_keyboard_underglow_matrix_zone;
dummy_keyboard_underglow_matrix_zone.name = "Underglow";
dummy_keyboard_underglow_matrix_zone.type = ZONE_TYPE_MATRIX;
dummy_keyboard_underglow_matrix_zone.leds_min = 30;
dummy_keyboard_underglow_matrix_zone.leds_max = 30;
dummy_keyboard_underglow_matrix_zone.leds_count = 30;
dummy_keyboard_underglow_matrix_zone.matrix_map = new matrix_map_type;
dummy_keyboard_underglow_matrix_zone.matrix_map->height = 3;
dummy_keyboard_underglow_matrix_zone.matrix_map->width = 10;
dummy_keyboard_underglow_matrix_zone.matrix_map->map = (unsigned int*)&dummy_keyboard_underglow_map;
dummy_keyboard->zones.push_back(dummy_keyboard_underglow_matrix_zone);
/*---------------------------------------------------------*\
| Create a linear zone for the dummy GPU |
\*---------------------------------------------------------*/
@@ -474,7 +525,7 @@ void DetectDebugControllers(std::vector<RGBController*> &rgb_controllers)
dummy_keyboard->zones.push_back(dummy_keyboard_linear_zone);
for(std::size_t led_idx = 0; led_idx < 124; led_idx++)
for(std::size_t led_idx = 0; led_idx < 154; led_idx++)
{
led dummy_keyboard_led;
dummy_keyboard_led.name = led_names[led_idx];