ckb-next
v0.2.8 at branch master
ckb-next driver for corsair devices
|
ckb-next is an open-source driver for Corsair keyboards and mice. It aims to bring the features of their proprietary CUE software to the Linux and Mac operating systems. This project is currently a work in progress, but it already supports much of the same functionality, including full RGB animations. More features are coming soon. Testing and bug reports are appreciated!
Disclaimer: ckb-next is not an official Corsair product. It is licensed under the GNU General Public License (version 2) in the hope that it will be useful, but with NO WARRANTY of any kind.
See also:
** = partial support, static hardware playback only.
master
branchmaster
branchnewdev
branchnewfw
branchIf you are a package maintainer or want to discuss something with package maintainers let us know in #5, so we can have an accountable and centralized communication about this. If you would like to maintain a package for your favorite distro/OS, please let us know as well.
ckb-next requires Qt5 (Qt 5.9 is recommended), libudev, zlib, gcc, g++, and glibc.
sudo apt-get install build-essential libudev-dev qt5-default zlib1g-dev libappindicator-dev
sudo dnf install zlib-devel qt5-qtbase-devel libgudev-devel libappindicator-devel systemd-devel gcc-c++
sudo pacman -S base-devel qt5-base zlib
qt5
or libqt5*-devel
Note: If you build your own kernels, ckb-next requires the CONFIG_INPUT_UINPUT
flag to be enabled. It is located in Device Drivers -> Input Device Support -> Miscellaneous devices -> User level driver support
. If you don't know what this means, you can ignore this.
You can download ckb-next using the "Download zip" option on the right or clone it using git clone
. Extract it and open the ckb-master directory in a terminal. Run ./quickinstall
. It will attempt to build ckb and then ask if you'd like to install/run the application. If the build doesn't succeed, or if you'd like to hand-tune the compilation of ckb, see https://github.com/mattanger/ckb-next/blob/master/BUILD.md "`BUILD.md`" for instructions.
To install a new version of ckb, or to reinstall the same version, first delete the ckb-master directory and the zip file from your previous download. Then download the source code again and re-run ./quickinstall
. The script will automatically replace the previous installation. You may need to reboot afterward.
First, stop the ckb-daemon service and remove the service file.
If you're not sure, re-run the
quickinstallscript and proceed to the service installation. The script will say
System service: Upstart detectedor
System service: systemd detected`. Please be aware that OpenRC is currently not detected automatically.Afterward, remove the applications and related files: ``` sudo rm -f /usr/bin/ckb /usr/bin/ckb-daemon /usr/share/applications/ckb.desktop /usr/share/icons/hicolor/512x512/apps/ckb.png sudo rm -rf /usr/lib/ckb-animations ```
Before https://github.com/mattanger/ckb-next/commit/f347e60df211c60452f95084b6c46dc4ec5f42ee animations were located elsewhere, try removing them as well: ``` sudo rm -rf /usr/bin/ckb-animations ```
macOS pkg
can be downloaded from GitHub Releases. It is always built with the last available stable Qt version and tagrets 10.10 SDK. If you run 10.9.x, you'll need to build the project from source and comment out src/ckb-heat
(and the backslash above it) inside ckb.pro
.
Install the latest version of Xcode from the App Store. While it's downloading, open the Terminal and execute xcode-select --install
to install Command Line Tools. Then open Xcode, accept the license agreement and wait for it to install any additional components (if necessary). When you see the "Welcome to Xcode" screen, from the top bar choose Xcode -> Preferences -> Locations -> Command Line Tools
and select an SDK version. Afterwards install Homebrew and execute brew install qt5
in the Terminal.
Note: If you decide to use the official Qt5 package from Qt website instead, you will have to edit the installation script and provide installation paths manually due to a qmake bug.
The easiest way to build the driver is with the quickinstall
script, which is present in the ckb-master folder. Double-click on quickinstall
and it will compile the app for you, then ask if you'd like to install it system-wide. If the build fails for any reason, or if you'd like to compile and install manually, see https://github.com/ccMSC/ckb/blob/master/BUILD.md "`BUILD.md`".
Download the latest ckb.pkg
, run the installer, and reboot. The newly-installed driver will replace the old one.
Remove the existing ckb-master directory and zip file. Re-download the source code and run the quickinstall
script again. The script will automatically replace the previous installation. You may need to reboot afterward.
Drag ckb.app
into the trash. Then stop and remove the agent:
```sh sudo unload /Library/LaunchDaemons/com.ckb.daemon.plist sudo rm /Library/LaunchDaemons/com.ckb.daemon.plist ```
The user interface is still a work in progress.
Closing ckb will actually minimize it to the system tray. Use the Quit option from the tray icon or the settings screen to exit the application.
If you have problems connecting the device to your system (device doesn't respond, ckb-daemon doesn't recognize or can't connect it) and/or you experience long boot times when using the keyboard, try adding the following to your kernel's cmdline
:
usbhid.quirks=0x1B1C:0x1B17:0x20000408
usbhid.quirks=0x1B1C:0x1B37:0x20000408
usbhid.quirks=0x1B1C:0x1B3F:0x20000408
usbhid.quirks=0x1B1C:0x1B09:0x20000408
usbhid.quirks=0x1B1C:0x1B36:0x20000408
usbhid.quirks=0x1B1C:0x1B13:0x20000408
usbhid.quirks=0x1B1C:0x1B08:0x20000408
usbhid.quirks=0x1B1C:0x1B11:0x20000408
usbhid.quirks=0x1B1C:0x1B15:0x20000408
usbhid.quirks=0x1B1C:0x1B20:0x20000408
usbhid.quirks=0x1B1C:0x1B12:0x20000408
usbhid.quirks=0x1B1C:0x1B14:0x20000408
usbhid.quirks=0x1B1C:0x1B19:0x20000408
usbhid.quirks=0x1B1C:0x1B1E:0x20000408
For instructions on adding cmdline
parameters in Ubuntu, see https://wiki.ubuntu.com/Kernel/KernelBootParameters
If you have multiple devices, combine them with commas, starting after the =
. For instance, for K70 RGB + M65 RGB: usbhid.quirks=0x1B1C:0x1B13:0x20000408,0x1B1C:0x1B12:0x20000408
If it still doesn't work, try replacing 0x20000408
with 0x4
. Note that this will cause the kernel driver to ignore the device(s) completely, so you need to ensure ckb-daemon is running at boot or else you'll have no input. This will not work if you are using full-disk encryption.
If you see GLib critical errors like ``` GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed ``` read this Arch Linux thread and try different combinations from it. If it doesn't help, you might want get support from your distribution community and tell them you cannot solve the problem in this thread.
If you're using Unity and the tray icon doesn't appear correctly, run sudo apt-get install libappindicator-dev
. Then reinstall ckb.
If you're running Fedora 26, a working solution for the color changer freezing issue is to install qt5ct dnf install qt5ct
then modify your /etc/environment file to contain the line QT_QPA_PLATFORMTHEME=qt5ct
~
key prints §±
** Check your keyboard layout on ckb's Settings screen. Choose the layout that matches your physical keyboard.ckb-master
directory as well as any automatically generated build-ckb
folders and try again from a new download.Please ensure your keyboard firmware is up to date. If you've just bought the keyboard, connect it to a Windows computer first and update the firmware from Corsair's official utility.
Before reporting an issue, connect your keyboard to a Windows computer and see if the problem still occurs. If it does, contact Corsair. Additionally, please check the Corsair user forums to see if your issue has been reported by other users. If so, try their solutions first.
Common issues:
If you have a problem that you can't solve (and it isn't mentioned in the Known Issues section below), you can report it on the GitHub issue tracker. Before opening a new issue, please check to see if someone else has reported your problem already - if so, feel free to leave a comment there.
ckb
will fix this issue temporarily.You can contribute to the project by opening a pull request. It's best if you base your changes off of the testing
branch as opposed to the master
, because the pull request will be merged there first. If you'd like to contribute but don't know what you can do, take a look at the issue tracker and see if any features/problems are still unresolved. Feel free to ask if you'd like some ideas.
There are multiple ways you can get in touch with us:
Due to time restrictions, the original author of ckb ccMSC hasn't been able to further develop the software. So the community around it decided to take the project over and continue its development. That's how ckb-next was created. Currently it's not rock solid and not very easy to set up on newer systems but we are actively working on this. Nevertheless the project already incorporates a notable amount of fixes and patches in comparison to the original ckb.