ccMSC / ckb

RGB Driver for Linux and OS X
http://forum.corsair.com/v3/showthread.php?t=133929
GNU General Public License v2.0
1.34k stars 171 forks source link

ckb: RGB Driver for Linux and OS X

This project is no longer maintained. I simply do not have the time to work on it anymore. Thanks to everyone who helped me to test and develop it.

An actively-developed version can be found here: https://github.com/ckb-next/ckb-next

Please check them out instead. Thanks!

Original readme

ckb 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!

Screenshot

Disclaimer: ckb 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.

If you use and enjoy this project, I'd appreciate if you could spare a few dollars for a donation. This is completely voluntary - the project will remain free and open source regardless. :)

I accept donations through PayPal: Click Here

Or through Bitcoin: 1LDHCfyDqAziUPtp3a4BdUaKmwphG1yroQ

Contents

See also:

Device Support

Keyboards:

* = hardware playback not supported. Settings will be saved to software only.

Mice:

Linux Installation

Pre-made packages:

These can be used to install ckb from your package manager. Note that I do not personally maintain these packages. For other distros, or if you want to create your own package, see instructions below.

Preparation:

ckb requires Qt5, libudev, zlib, gcc, g++, and glibc.

Note: If you build your own kernels, ckb requires the 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.

Installing:

You can download ckb using the "Download zip" option on the right. Extract it and open the ckb-master directory. The easiest way to install ckb is to double-click the quickinstall script and run it in a Terminal. 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 compile ckb manually, see BUILD.md for instructions.

Upgrading:

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.

Uninstalling:

First, stop the ckb-daemon service and remove the service file.

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/bin/ckb-animations

OS X Installation

Binary download:

The latest OS X binary can be downloaded here: https://github.com/ccMSC/ckb/releases/latest

Click on ckb.pkg under the Downloads section. This is an automated installer which will set up the driver for you. After it's finished, open ckb.app (it will be installed to your Applications directory) to get started.

Building from source:

Install the latest version of Xcode from the App Store. 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, the setup is finished and you can close the app. Then install Qt5 from here: http://www.qt.io/download-open-source/

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 manually, see BUILD.md.

Upgrading (binary):

Download the latest ckb.pkg, run the installer, and reboot. The newly-installed driver will replace the old one.

Upgrading (source):

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.

Uninstalling:

Drag ckb.app into the trash. If the system service file isn't cleaned up automatically, you can find it and remove it here: /Library/LaunchDaemons/com.ckb.daemon.plist.

Usage

The user interface is still a work in progress.

Major features:

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.

Roadmap (roughly in order)

Troubleshooting

Linux

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:

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're using Unity and the tray icon doesn't appear correctly, run sudo apt-get install libappindicator-dev. Then reinstall ckb.

OS X

General

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:

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

Known issues

Contributing

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.