[Feature Request] Native cooler master keyboard controller
Feature Request
The Cooler Master controller currently uses the "libcmmk" library to add support for the keyboards. The library has a number of bugs and is not actively being maintained. This has lead to divergence of the version of the library used in this code from the original.
In order to provide better support for Coolermaster keyboards, it would be better to develop our own controller so that we can maintain and support it. This would allow us to support both the master keys keyboards and newer variants.
Tasks:
-
Keymaps Ported -
LED Device View -
LED Key Control -
Implement Protocol V1 modes -
Reverse Engineer V2 modes -
Implement Protocol V2 modes -
Implement Custom Zones (for debugging keymaps) -
#3589 (closed) non-standard keys -
Custom mode -
Save modes -
fix modes bug, always transitions to direct -
fix keyboard lockup, probably needs threadlocker. symptoms include USB disconnect sound. Need to determine if it is mode related or what else. -
Flip RGUI and FN keys SK532 SK550v2 -
Windows 11, display name for CK550v2 is weird like CY040436017004.. -
Fix long term lockup reported on SK550v2 windows 11.
Keyboard | Variant | Keymap | Direct | Modes |
---|---|---|---|---|
PRO S | ANSI | Good | Works | |
CK530 | ANSI | Buggy | Works | |
CK550v2 | ANSI | ISO map in progress. | Works | Mostly works |
SK630 | ANSI | Good | Works | |
SK652 | ANSI | Good | Works | Mostly works |
Keymaps Implemented:
V1 Protocol
- PRO L
- PRO L White
- PRO S
- MK750
V2 Protocol
- #3110 (closed) SK622
- #967 (closed) SK630
- #1842 (closed) CK530 (incomplete keymap)
- CK530v2
- #800 (closed), #2863 (closed) CK550v2
- #731 (closed) CK552v2
Modes | CK550v2 | SK652 | Notes |
---|---|---|---|
Direct | X | ||
Static | X | ||
Wave | X | X | |
Crosshair | X | Partial | Numpad issue |
Reactive Punch | X | Partial | Numpad issue + after L |
Reactive Fade | X | Partial | Numpad issue |
Stars | X | Partial | Numpad issue + after L |
Raindrops | X | Partial | Numpad issue + after L |
Color Cycle | X | X | |
Breathing | X | X | |
Ripple | X | X | |
Fireball | X | X | |
Water Ripple | X | X | |
Snow | X | X | |
Heartbeat | X | X | |
Circle Spectrum | X | X | |
Reactive Tornado | X | X | |
Off | X | X |
Please download and test from the following pipeline to provide feedback.
Current Test Version
With this latest version, for keyboards whose map has not been completely verified. A matrix of undiscovered keys is shown to the right. If the key does not light up in the main keyboard view, please identify which key number corresponds to the key that lights up. The extra keys are labeled as "Key: ".
If you are code savvy and are willing to help, let me know and we can collaborate on the dev. @too.manyhobbies on discord.