1
1
#include " Detector.h"
2
2
#include " EVisionKeyboardController.h"
3
+ #include " EVisionV2KeyboardController.h"
3
4
#include " RGBController.h"
4
5
#include " RGBController_EVisionKeyboard.h"
6
+ #include " RGBController_EVisionV2Keyboard.h"
7
+ #include " SettingsManager.h"
5
8
#include < vector>
6
9
#include < hidapi/hidapi.h>
7
10
8
11
/* -----------------------------------------------------*\
9
12
| Keyboard product IDs |
10
13
\*-----------------------------------------------------*/
11
- #define EVISION_KEYBOARD_VID 0x0C45
12
- #define EVISION_KEYBOARD2_VID 0x320F
13
- #define EVISION_KEYBOARD_USAGE_PAGE 0xFF1C
14
- #define GLORIOUS_GMMK_TKL_PID 0x5064
15
- #define REDRAGON_K550_PID 0x5204
16
- #define REDRAGON_K552_PID 0x5104
17
- #define REDRAGON_K552_V2_PID 0x5000
18
- #define REDRAGON_K556_PID 0x5004
19
- #define TECWARE_PHANTOM_ELITE_PID 0x652F
20
- #define WARRIOR_KANE_TC235 0x8520
21
- #define WOMIER_K87_PID 0x502A
22
- #define WOMIER_K66_PID 0x7698
14
+ #define EVISION_KEYBOARD_VID 0x0C45
15
+ #define EVISION_KEYBOARD2_VID 0x320F
16
+ #define EVISION_KEYBOARD_USAGE_PAGE 0xFF1C
17
+ #define GLORIOUS_GMMK_TKL_PID 0x5064
18
+ #define REDRAGON_K550_PID 0x5204
19
+ #define REDRAGON_K552_PID 0x5104
20
+ #define REDRAGON_K552_V2_PID 0x5000
21
+ #define REDRAGON_K556_PID 0x5004
22
+ #define TECWARE_PHANTOM_ELITE_PID 0x652F
23
+ #define WARRIOR_KANE_TC235 0x8520
24
+ #define WOMIER_K87_PID 0x502A
25
+ #define WOMIER_K66_PID 0x7698
26
+ #define BYGG_CSB_ICL01_PID 0x5041
23
27
24
28
/* *****************************************************************************************\
25
29
* *
@@ -35,22 +39,51 @@ void DetectEVisionKeyboards(hid_device_info* info, const std::string& /*name*/)
35
39
36
40
if (dev)
37
41
{
38
- EVisionKeyboardController* controller = new EVisionKeyboardController (dev, info->path );
42
+ EVisionKeyboardController* controller = new EVisionKeyboardController (dev, info->path );
39
43
RGBController_EVisionKeyboard* rgb_controller = new RGBController_EVisionKeyboard (controller);
40
44
rgb_controller->name = " EVision Keyboard" ;
41
45
ResourceManager::get ()->RegisterRGBController (rgb_controller);
42
46
}
43
47
}
44
48
49
+ void DetectEVisionV2Keyboards (hid_device_info* info, const std::string& name)
50
+ {
51
+ json settings = ResourceManager::get ()->GetSettingsManager ()->GetSettings (" EVision2Settings" );
52
+ hid_device* dev = hid_open_path (info->path );
53
+
54
+ if (dev)
55
+ {
56
+ EVisionV2KeyboardController* controller = new EVisionV2KeyboardController (dev, info->path );
57
+
58
+ RGBController_EVisionV2Keyboard* rgb_controller = new RGBController_EVisionV2Keyboard (controller, EVISION_V2_KEYBOARD_PART_KEYBOARD);
59
+ rgb_controller->name = name;
60
+ ResourceManager::get ()->RegisterRGBController (rgb_controller);
61
+
62
+ if (!settings.contains (" AdditionalZones" ) || settings[" AdditionalZones" ] == true )
63
+ {
64
+ rgb_controller = new RGBController_EVisionV2Keyboard (controller, EVISION_V2_KEYBOARD_PART_LOGO);
65
+ rgb_controller->name = name;
66
+ rgb_controller->name += " Logo" ;
67
+ ResourceManager::get ()->RegisterRGBController (rgb_controller);
68
+
69
+ rgb_controller = new RGBController_EVisionV2Keyboard (controller, EVISION_V2_KEYBOARD_PART_EDGE);
70
+ rgb_controller->name = name;
71
+ rgb_controller->name += " Edge" ;
72
+ ResourceManager::get ()->RegisterRGBController (rgb_controller);
73
+ }
74
+ }
75
+ }
76
+
45
77
/* ---------------------------------------------------------------------------------------------------------------------------------------------*\
46
78
| Keyboards |
47
79
\*---------------------------------------------------------------------------------------------------------------------------------------------*/
48
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5204" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K550_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
49
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5104" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K552_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
50
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:5000" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, REDRAGON_K552_V2_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
51
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5004" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K556_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
52
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:652F" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, TECWARE_PHANTOM_ELITE_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
53
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:8520" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, WARRIOR_KANE_TC235, 1 , EVISION_KEYBOARD_USAGE_PAGE);
54
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:502A" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, WOMIER_K87_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
55
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:7698" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, WOMIER_K66_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
56
- REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:5064" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, GLORIOUS_GMMK_TKL_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
80
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5204" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K550_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
81
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5104" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K552_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
82
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:5000" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, REDRAGON_K552_V2_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
83
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:5004" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, REDRAGON_K556_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
84
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:652F" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, TECWARE_PHANTOM_ELITE_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
85
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:8520" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, WARRIOR_KANE_TC235, 1 , EVISION_KEYBOARD_USAGE_PAGE);
86
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:502A" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, WOMIER_K87_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
87
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 0C45:7698" , DetectEVisionKeyboards, EVISION_KEYBOARD_VID, WOMIER_K66_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
88
+ REGISTER_HID_DETECTOR_IP (" EVision Keyboard 320F:5064" , DetectEVisionKeyboards, EVISION_KEYBOARD2_VID, GLORIOUS_GMMK_TKL_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
89
+ REGISTER_HID_DETECTOR_IP (" CSB/ICL01 Keyboard" , DetectEVisionV2Keyboards, EVISION_KEYBOARD2_VID, BYGG_CSB_ICL01_PID, 1 , EVISION_KEYBOARD_USAGE_PAGE);
0 commit comments