This is a small custom software prototype to work with ZEON K98 PRO keyboard firmware. Currently, it has 3 features:
- On/Off the numpad backlight according to its state. So, if the numpad is off then its backlight will be also off.
- Blinker for any key that can be a trigger. When the toggle is on, then the key's backlight will blink until the trigger is turned off. For example, I've remapped PgUP to ScrollLock and use it for screen recording and its blinks in red color while a video is recording.
- Create and use custom backlight presets.
- To use this software you need to close the official app.
- Specify VID and PID of your keyboard in the code.
- Also you need to find the correct HID by vendor. In my case it uses User Page(UP) FF00. Try search it all in Device Manager -> HID devices -> HID by vender -> Properties -> details -> Hardware ID.
Since ZEON K98 PRO is based on some chinese-korean keyboards, I guess, this software will work with JK98 keyboard and its derivatives.
Firstly, you should know how it all works(at least for this moment). The app supports custom keyboard presets by writing custom C++ code in KBProfile.cpp that you can find in the "Build" directory. When you want to change the backlight preset you have to modify the code in that cpp module(make a separate copy if you want to use the old preset sometime). Every launch the app checks MD5 hash of KBProfile.cpp and saves it to hash.kbc and if the current hash differs from that one in hash.kbc - it starts to compile KBProfile.cpp and creates KBTriggers.dll that will be loaded right after the compilation - that's it, your new backlight is used now by the software.
In Build directory you can find two additional files:
-
KBController.lib: the app's code contains several functions definitions for an export, so MSVC will create an Import library with an exe. This lib is used by a linker while builds
KBProfile.cpp. -
Backlight.h: it's a modified copy of an original header from the app and it has to be used as an API to access app's function to work with backlight.
-
You have to copy in this dir msvc compiler in a directory titled like
msvcor otherwise change the string for buildingKBTriggers.dllinBacklightProfile.cpp -> LoadProfilefunction and set the correct path to the compiler.
In summary, the app defines functions to work with keyboard backlight and the DLL uses them. The DLL defines event handlers that are used by the app. So it's a two ways dependency.
This guide is for MSBuild only.
-
You need to have hidapi. Install it in
hidapidir created in the root dir of the solution. You can check includes for paths inlauncher.cppif struggling with it. -
Create a C++ project in VS, add the files from
srcdir. -
Build it as a Console Application.
-
Optionally, you may configure the build dir of the project to the
Builddirectory that already exists, to be sure that the .exe and import library are together and can be used by the app to compile custom backlight code.
Tested on Windows 10 only.