diff --git a/OpenAuraSDK/OpenAuraSDK.cpp b/OpenAuraSDK/OpenAuraSDK.cpp index e5681be0..fba2f327 100644 --- a/OpenAuraSDK/OpenAuraSDK.cpp +++ b/OpenAuraSDK/OpenAuraSDK.cpp @@ -680,6 +680,10 @@ int main(int argc, char *argv[]) razer_rgb = new RGBController_OpenRazer("/sys/bus/hid/drivers/razermouse/0003:1532:0043.0007"); rgb_controllers.push_back(razer_rgb); + + razer_rgb = new RGBController_OpenRazer("/sys/bus/hid/drivers/razerkbd/0003:1532:0204.000C"); + + rgb_controllers.push_back(razer_rgb); #endif #if WIN32 diff --git a/OpenAuraSDK/RGBController_OpenRazer.cpp b/OpenAuraSDK/RGBController_OpenRazer.cpp index 6df75f2b..c77fef01 100644 --- a/OpenAuraSDK/RGBController_OpenRazer.cpp +++ b/OpenAuraSDK/RGBController_OpenRazer.cpp @@ -304,6 +304,11 @@ static unsigned int GetTypeFromDeviceName(std::string dev_name) { return(RAZER_DEATHADDER_CHROMA); } + + if(dev_name == "Razer DeathStalker Chroma") + { + return(RAZER_DEATHSTALKER_CHROMA); + } } void RGBController_OpenRazer::SetupMatrixDevice(std::string dev_path) @@ -465,6 +470,34 @@ RGBController_OpenRazer::RGBController_OpenRazer(std::string dev_path) zones.push_back(wheel_zone); } break; - + + case RAZER_DEATHSTALKER_CHROMA: + { + SetupMatrixDevice(dev_path); + + for(int i = 0; i < 12; i++) + { + RGBColor new_color = 0x00000000; + color_buffer.push_back(new_color); + } + + for (int i = 0; i < 12; i++) + { + led* new_led = new led(); + new_led->name = "Keyboard"; + leds.push_back(*new_led); + } + + zone keyboard_zone; + keyboard_zone.name = "Keyboard"; + keyboard_zone.type = ZONE_TYPE_LINEAR; + std::vector keyboard_zone_map; + for(int i = 0; i < 12; i++) + { + keyboard_zone_map.push_back(i); + } + keyboard_zone.map.push_back(keyboard_zone_map); + zones.push_back(keyboard_zone); + } } } \ No newline at end of file