Add function for setting device mode

This commit is contained in:
Adam Honse 2021-01-29 23:00:41 -06:00
parent fdf8d0a093
commit a00c259b96
2 changed files with 18 additions and 2 deletions

View file

@ -64,8 +64,7 @@ RazerController::RazerController(hid_device* dev_handle, const char* path, unsig
case RAZER_CHARGING_PAD_CHROMA_PID:
{
razer_report report = razer_create_device_mode_report(0x03, 0x00);
razer_usb_send(&report);
razer_set_device_mode(RAZER_DEVICE_MODE_SOFTWARE);
dev_transaction_id = 0x1F;
}
break;
@ -768,6 +767,12 @@ void RazerController::razer_set_custom_frame(unsigned char row_index, unsigned c
razer_usb_send(&report);
}
void RazerController::razer_set_device_mode(unsigned char device_mode)
{
razer_report report = razer_create_device_mode_report(device_mode, 0x00);
razer_usb_send(&report);
}
void RazerController::razer_set_mode_custom()
{
razer_report report;

View file

@ -24,6 +24,15 @@
#define PACK( __Declaration__ ) __pragma( pack(push, 1) ) __Declaration__ __pragma( pack(pop))
#endif
/*---------------------------------------------------------*\
| Razer Device Mode IDs |
\*---------------------------------------------------------*/
enum
{
RAZER_DEVICE_MODE_HARDWARE = 0x00,
RAZER_DEVICE_MODE_SOFTWARE = 0x03,
};
/*---------------------------------------------------------*\
| Razer Command IDs |
\*---------------------------------------------------------*/
@ -196,6 +205,8 @@ private:
void razer_set_brightness(unsigned char brightness);
void razer_set_custom_frame(unsigned char row_index, unsigned char start_col, unsigned char stop_col, unsigned char* rgb_data);
void razer_set_device_mode(unsigned char device_mode);
void razer_set_mode_breathing();
void razer_set_mode_custom();
void razer_set_mode_none();