Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

⌨️ KBController [Windows]

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.

Usage

  1. To use this software you need to close the official app.
  2. Specify VID and PID of your keyboard in the code.
  3. 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.

Not really, maybe

Since ZEON K98 PRO is based on some chinese-korean keyboards, I guess, this software will work with JK98 keyboard and its derivatives.

How to write/build custom backlight

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:

  1. 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.

  2. 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.

  3. You have to copy in this dir msvc compiler in a directory titled like msvc or otherwise change the string for building KBTriggers.dll in BacklightProfile.cpp -> LoadProfile function 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.

How to build the app

This guide is for MSBuild only.

  1. You need to have hidapi. Install it in hidapi dir created in the root dir of the solution. You can check includes for paths in launcher.cpp if struggling with it.

  2. Create a C++ project in VS, add the files from src dir.

  3. Build it as a Console Application.

  4. Optionally, you may configure the build dir of the project to the Build directory 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.

About

⌨️ Custom app to control ZEON K98 PRO.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages