@@ -112,6 +112,8 @@ void DetectRoccatVulcanKeyboardControllers(hid_device_info* info, const std::str
112112 std::string dev_led_path;
113113 int dev_led_page;
114114 int dev_ctrl_page;
115+ int dev_led_iface = 3 ;
116+ int dev_ctrl_iface = 1 ;
115117
116118 switch (info->product_id )
117119 {
@@ -123,10 +125,20 @@ void DetectRoccatVulcanKeyboardControllers(hid_device_info* info, const std::str
123125 case TURTLE_BEACH_VULCAN_II_PID:
124126 dev_led_page = 0xFF00 ;
125127 dev_ctrl_page = 0xFF01 ;
128+ dev_led_iface = 3 ;
129+ dev_ctrl_iface = 1 ;
130+ break ;
131+ case TURTLE_BEACH_VULCAN_II_TKL_PRO_PID:
132+ dev_led_page = 0xFF00 ;
133+ dev_ctrl_page = 0x0001 ;
134+ dev_led_iface = 4 ;
135+ dev_ctrl_iface = 1 ;
126136 break ;
127137 default :
128138 dev_led_page = 0x0001 ;
129139 dev_ctrl_page = 0x000B ;
140+ dev_led_iface = 3 ;
141+ dev_ctrl_iface = 1 ;
130142 break ;
131143 }
132144
@@ -140,12 +152,12 @@ void DetectRoccatVulcanKeyboardControllers(hid_device_info* info, const std::str
140152 && info_temp->product_id == info->product_id
141153 && used_paths.find (info_temp->path ) == used_paths.end () )
142154 {
143- if (info_temp->interface_number == 1 && info_temp->usage_page == dev_ctrl_page)
155+ if (info_temp->interface_number == dev_ctrl_iface && info_temp->usage_page == dev_ctrl_page)
144156 {
145157 dev_ctrl = hid_open_path (info_temp->path );
146158 dev_ctrl_path = info_temp->path ;
147159 }
148- else if (info_temp->interface_number == 3 && info_temp->usage_page == dev_led_page)
160+ else if (info_temp->interface_number == dev_led_iface && info_temp->usage_page == dev_led_page)
149161 {
150162 dev_led = hid_open_path (info_temp->path );
151163 dev_led_path = info_temp->path ;
@@ -313,18 +325,19 @@ REGISTER_PRE_DETECTION_HOOK(ResetRoccatVulcanKeyboardControllersPaths);
313325/* -----------------------------------------------------------------*\
314326| KEYBOARDS |
315327\*-----------------------------------------------------------------*/
316- REGISTER_HID_DETECTOR_IPU (" Roccat Horde Aimo" , DetectRoccatHordeAimoKeyboardControllers, ROCCAT_VID, ROCCAT_HORDE_AIMO_PID, 1 , 0x0B , 0 );
317-
318- REGISTER_HID_DETECTOR_IP (" Roccat Magma" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_MAGMA_PID, 1 , 0xFF01 );
319- REGISTER_HID_DETECTOR_IP (" Roccat Magma Mini" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_MAGMA_MINI_PID, 1 , 0xFF01 );
320- REGISTER_HID_DETECTOR_IP (" Roccat Pyro" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_PYRO_PID, 1 , 0xFF01 );
321- REGISTER_HID_DETECTOR_IP (" Roccat Vulcan 100 Aimo" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_100_AIMO_PID, 1 , 11 );
322- REGISTER_HID_DETECTOR_IP (" Roccat Vulcan 120-Series Aimo" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_120_AIMO_PID, 1 , 11 );
323- REGISTER_HID_DETECTOR_IP (" Roccat Vulcan TKL" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_TKL_PID, 1 , 11 );
324- REGISTER_HID_DETECTOR_IP (" Roccat Vulcan Pro" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_PRO_PID, 1 , 0xFF01 );
325- REGISTER_HID_DETECTOR_IP (" Roccat Vulcan II" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_II_PID, 1 , 0xFF01 );
326- REGISTER_HID_DETECTOR_IP (" Turtle Beach Vulcan II" , DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_PID, 1 , 0xFF01 );
327- REGISTER_HID_DETECTOR_IP (" Turtle Beach Vulcan II TKL" , DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_TKL_PID, 1 , 11 );
328+ REGISTER_HID_DETECTOR_IPU (" Roccat Horde Aimo" , DetectRoccatHordeAimoKeyboardControllers, ROCCAT_VID, ROCCAT_HORDE_AIMO_PID, 1 , 0x0B , 0 );
329+
330+ REGISTER_HID_DETECTOR_IP (" Roccat Magma" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_MAGMA_PID, 1 , 0xFF01 );
331+ REGISTER_HID_DETECTOR_IP (" Roccat Magma Mini" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_MAGMA_MINI_PID, 1 , 0xFF01 );
332+ REGISTER_HID_DETECTOR_IP (" Roccat Pyro" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_PYRO_PID, 1 , 0xFF01 );
333+ REGISTER_HID_DETECTOR_IP (" Roccat Vulcan 100 Aimo" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_100_AIMO_PID, 1 , 11 );
334+ REGISTER_HID_DETECTOR_IP (" Roccat Vulcan 120-Series Aimo" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_120_AIMO_PID, 1 , 11 );
335+ REGISTER_HID_DETECTOR_IP (" Roccat Vulcan TKL" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_TKL_PID, 1 , 11 );
336+ REGISTER_HID_DETECTOR_IP (" Roccat Vulcan Pro" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_PRO_PID, 1 , 0xFF01 );
337+ REGISTER_HID_DETECTOR_IP (" Roccat Vulcan II" , DetectRoccatVulcanKeyboardControllers, ROCCAT_VID, ROCCAT_VULCAN_II_PID, 1 , 0xFF01 );
338+ REGISTER_HID_DETECTOR_IP (" Turtle Beach Vulcan II" , DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_PID, 1 , 0xFF01 );
339+ REGISTER_HID_DETECTOR_IP (" Turtle Beach Vulcan II TKL" , DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_TKL_PID, 1 , 11 );
340+ REGISTER_HID_DETECTOR_IP (" Turtle Beach Vulcan II TKL Pro" , DetectRoccatVulcanKeyboardControllers, TURTLE_BEACH_VID, TURTLE_BEACH_VULCAN_II_TKL_PRO_PID, 1 , 0x0001 );
328341
329342/* -----------------------------------------------------------------*\
330343| MICE |
0 commit comments