Add direction control to OpenRazer Wave mode

This commit is contained in:
Adam Honse 2020-01-26 00:30:37 -06:00
parent c4d2f72df1
commit d4cd2a6853
2 changed files with 28 additions and 6 deletions

View file

@ -291,9 +291,10 @@ RGBController_OpenRazer::RGBController_OpenRazer(std::string dev_path)
if(matrix_effect_wave)
{
mode Wave;
Wave.name = "Wave";
Wave.value = RAZER_MODE_WAVE;
Wave.flags = 0;
Wave.name = "Wave";
Wave.value = RAZER_MODE_WAVE;
Wave.flags = MODE_FLAG_HAS_DIRECTION_LR;
Wave.direction = MODE_DIRECTION_RIGHT;
modes.push_back(Wave);
}
@ -398,6 +399,16 @@ void RGBController_OpenRazer::UpdateMode()
break;
case RAZER_MODE_WAVE:
switch(modes[active_mode].direction)
{
case MODE_DIRECTION_LEFT:
update_value = '2';
break;
default:
update_value = '1';
break;
}
matrix_effect_wave.write(&update_value, 1);
matrix_effect_wave.flush();
break;

View file

@ -281,9 +281,10 @@ RGBController_OpenRazer::RGBController_OpenRazer(device * razer_device, device_f
if(razer_functions->matrix_effect_wave)
{
mode Wave;
Wave.name = "Wave";
Wave.value = RAZER_MODE_WAVE;
Wave.flags = 0;
Wave.name = "Wave";
Wave.value = RAZER_MODE_WAVE;
Wave.flags = MODE_FLAG_HAS_DIRECTION_LR;
Wave.direction = MODE_DIRECTION_RIGHT;
modes.push_back(Wave);
}
@ -384,6 +385,16 @@ void RGBController_OpenRazer::UpdateMode()
break;
case RAZER_MODE_WAVE:
switch(modes[active_mode].direction)
{
case MODE_DIRECTION_LEFT:
update_value = '2';
break;
default:
update_value = '1';
break;
}
razer_functions->matrix_effect_wave->store(razer_device, NULL, &update_value, 1);
break;