From 942a842a321437aad2d4c2080c18dfab72ca482b Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 21 Jul 2022 12:14:37 +1000 Subject: [PATCH] Hiding non-keys from Razer keymaps + Setting matrix map key value if not found in defined layout + Correcting layout for `blackwidow_chroma_te_keymap` to include missing keys --- Controllers/RazerController/RGBController_Razer.cpp | 9 +++++++++ Controllers/RazerController/RGBController_Razer.h | 4 +++- Controllers/RazerController/RazerDevices.h | 6 ++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Controllers/RazerController/RGBController_Razer.cpp b/Controllers/RazerController/RGBController_Razer.cpp index 012f9b44..391b292c 100644 --- a/Controllers/RazerController/RGBController_Razer.cpp +++ b/Controllers/RazerController/RGBController_Razer.cpp @@ -183,6 +183,8 @@ void RGBController_Razer::SetupZones() if(device_list[device_index]->keymap != NULL) { + bool not_found = true; + for(unsigned int i = 0; i < device_list[device_index]->keymap_size; i++) { if(zone_id == device_list[device_index]->keymap[i].zone && @@ -190,8 +192,15 @@ void RGBController_Razer::SetupZones() col_id == device_list[device_index]->keymap[i].col) { new_led->name = device_list[device_index]->keymap[i].name; + not_found = false; + break; } } + + if(not_found) + { + zones[zone_id].matrix_map->map[row_id * zones[zone_id].matrix_map->width + col_id] = NA; + } } leds.push_back(*new_led); diff --git a/Controllers/RazerController/RGBController_Razer.h b/Controllers/RazerController/RGBController_Razer.h index 75af1aa6..ec59e653 100644 --- a/Controllers/RazerController/RGBController_Razer.h +++ b/Controllers/RazerController/RGBController_Razer.h @@ -10,6 +10,8 @@ #include "RGBController.h" #include "RazerController.h" +#define NA 0xFFFFFFFF + enum { RAZER_MODE_DIRECT, @@ -30,7 +32,7 @@ public: void SetupZones(); void ResizeZone(int zone, int new_size); - + void DeviceUpdateLEDs(); void UpdateZoneLEDs(int zone); void UpdateSingleLED(int led); diff --git a/Controllers/RazerController/RazerDevices.h b/Controllers/RazerController/RazerDevices.h index b8510259..6592c2a1 100644 --- a/Controllers/RazerController/RazerDevices.h +++ b/Controllers/RazerController/RazerDevices.h @@ -432,7 +432,9 @@ static const razer_key blackwidow_chroma_te_keymap[] = { 0, 5, 1, KEY_EN_LEFT_CONTROL }, { 0, 5, 2, KEY_EN_LEFT_WINDOWS }, { 0, 5, 3, KEY_EN_LEFT_ALT }, + { 0, 5, 7, KEY_EN_SPACE }, { 0, 5, 11, KEY_EN_RIGHT_ALT }, + { 0, 5, 12, KEY_EN_RIGHT_FUNCTION }, { 0, 5, 13, KEY_EN_MENU }, { 0, 5, 14, KEY_EN_RIGHT_CONTROL }, { 0, 5, 15, KEY_EN_LEFT_ARROW }, @@ -3172,8 +3174,8 @@ static const razer_device blackwidow_x_chroma_te_device = NULL, NULL }, - NULL, - 0 + blackwidow_chroma_te_keymap, + BLACKWIDOW_CHROMA_TE_KEYMAP_SIZE }; /*-------------------------------------------------------------*\