Skip to content

[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

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: ".

image

If you are code savvy and are willing to help, let me know and we can collaborate on the dev. @too.manyhobbies on discord.

Edited by Tam D