Add Razer Charging Pad Chroma support, direct mode only for now
This commit is contained in:
parent
271e98c733
commit
fdf8d0a093
4 changed files with 64 additions and 1 deletions
|
|
@ -62,6 +62,14 @@ RazerController::RazerController(hid_device* dev_handle, const char* path, unsig
|
|||
dev_transaction_id = 0x1F;
|
||||
break;
|
||||
|
||||
case RAZER_CHARGING_PAD_CHROMA_PID:
|
||||
{
|
||||
razer_report report = razer_create_device_mode_report(0x03, 0x00);
|
||||
razer_usb_send(&report);
|
||||
dev_transaction_id = 0x1F;
|
||||
}
|
||||
break;
|
||||
|
||||
case RAZER_GOLIATHUS_CHROMA_PID:
|
||||
case RAZER_GOLIATHUS_CHROMA_EXTENDED_PID:
|
||||
default:
|
||||
|
|
@ -372,6 +380,16 @@ razer_report RazerController::razer_create_custom_frame_standard_matrix_report(u
|
|||
return report;
|
||||
}
|
||||
|
||||
razer_report RazerController::razer_create_device_mode_report(unsigned char mode, unsigned char param)
|
||||
{
|
||||
razer_report report = razer_create_report(0x00, 0x04, 0x02);
|
||||
|
||||
report.arguments[0] = mode;
|
||||
report.arguments[1] = param;
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
razer_report RazerController::razer_create_mode_custom_extended_matrix_report()
|
||||
{
|
||||
struct razer_report report = razer_create_report(0x0F, 0x02, 0x0C);
|
||||
|
|
@ -647,6 +665,10 @@ void RazerController::razer_set_custom_frame(unsigned char row_index, unsigned c
|
|||
report = razer_create_custom_frame_extended_matrix_report(row_index, start_col, stop_col, rgb_data);
|
||||
break;
|
||||
|
||||
case RAZER_CHARGING_PAD_CHROMA_PID:
|
||||
report = razer_create_custom_frame_extended_matrix_report(row_index, start_col, stop_col, rgb_data);
|
||||
break;
|
||||
|
||||
/*-------------------------------------------------*\
|
||||
| These devices use a linear report |
|
||||
\*-------------------------------------------------*/
|
||||
|
|
@ -793,6 +815,7 @@ void RazerController::razer_set_mode_custom()
|
|||
case RAZER_KRAKEN_KITTY_EDITION_PID:
|
||||
case RAZER_MOUSE_BUNGEE_V3_CHROMA_PID:
|
||||
case RAZER_BASE_STATION_V2_CHROMA_PID:
|
||||
case RAZER_CHARGING_PAD_CHROMA_PID:
|
||||
report = razer_create_mode_custom_extended_matrix_report();
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -176,6 +176,7 @@ private:
|
|||
razer_report razer_create_custom_frame_linear_report(unsigned char start_col, unsigned char stop_col, unsigned char* rgb_data);
|
||||
razer_report razer_create_custom_frame_extended_matrix_report(unsigned char row_index, unsigned char start_col, unsigned char stop_col, unsigned char* rgb_data);
|
||||
razer_report razer_create_custom_frame_standard_matrix_report(unsigned char row_index, unsigned char start_col, unsigned char stop_col, unsigned char* rgb_data);
|
||||
razer_report razer_create_device_mode_report(unsigned char mode, unsigned char param);
|
||||
razer_report razer_create_mode_custom_extended_matrix_report();
|
||||
razer_report razer_create_mode_custom_standard_matrix_report(unsigned char variable_storage);
|
||||
razer_report razer_create_mode_none_extended_matrix_report(unsigned char variable_storage, unsigned char led_id);
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ REGISTER_HID_DETECTOR_PU("Razer Naga Epic Chroma", Dete
|
|||
\*-----------------------------------------------------------------------------------------------------*/
|
||||
REGISTER_HID_DETECTOR_PU("Razer Base Station Chroma", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_BASE_PID, 1, 2);
|
||||
REGISTER_HID_DETECTOR_PU("Razer Base Station V2 Chroma", DetectRazerControllers, RAZER_VID, RAZER_BASE_STATION_V2_CHROMA_PID, 1, 2);
|
||||
REGISTER_HID_DETECTOR( "Razer Charging Pad Chroma", DetectRazerControllers, RAZER_VID, RAZER_CHARGING_PAD_CHROMA_PID);
|
||||
REGISTER_HID_DETECTOR_PU("Razer Chroma HDK", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_HDK_PID, 1, 2);
|
||||
REGISTER_HID_DETECTOR_PU("Razer Chroma Mug Holder", DetectRazerControllers, RAZER_VID, RAZER_CHROMA_MUG_PID, 1, 2);
|
||||
REGISTER_HID_DETECTOR_PU("Razer Core", DetectRazerControllers, RAZER_VID, RAZER_CORE_PID, 1, 2);
|
||||
|
|
|
|||
|
|
@ -148,6 +148,7 @@
|
|||
#define RAZER_CHROMA_HDK_PID 0x0F09
|
||||
#define RAZER_MOUSE_BUNGEE_V3_CHROMA_PID 0x0F1D
|
||||
#define RAZER_BASE_STATION_V2_CHROMA_PID 0x0F20
|
||||
#define RAZER_CHARGING_PAD_CHROMA_PID 0x0F26
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
|
@ -4790,6 +4791,42 @@ static const razer_device nommo_chroma_device =
|
|||
0
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------*\
|
||||
| Razer Charging Pad Chroma |
|
||||
| |
|
||||
| Zone "LED Strip" |
|
||||
| Linear |
|
||||
| 10 LEDs |
|
||||
| |
|
||||
\*-------------------------------------------------------------*/
|
||||
static const razer_zone charging_pad_chroma_zone =
|
||||
{
|
||||
"LED Strip",
|
||||
ZONE_TYPE_LINEAR,
|
||||
1,
|
||||
10
|
||||
};
|
||||
|
||||
static const razer_device charging_pad_chroma_device =
|
||||
{
|
||||
"Razer Charging Pad Chroma",
|
||||
RAZER_CHARGING_PAD_CHROMA_PID,
|
||||
DEVICE_TYPE_UNKNOWN,
|
||||
true,
|
||||
1,
|
||||
10,
|
||||
{
|
||||
&charging_pad_chroma_zone,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
},
|
||||
NULL,
|
||||
0
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------------*\
|
||||
| DEVICE MASTER LIST |
|
||||
\*-------------------------------------------------------------------------*/
|
||||
|
|
@ -4900,5 +4937,6 @@ static const razer_device* device_list[] =
|
|||
&chromahdk_device,
|
||||
&base_station_device,
|
||||
&nommo_pro_device,
|
||||
&nommo_chroma_device
|
||||
&nommo_chroma_device,
|
||||
&charging_pad_chroma_device,
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue