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 169 forks source link

MEGATHREAD: Newer keyboards/mice (K65 Lux, K70 Rapidfire, M65 Pro) #386

Open ccMSC opened 8 years ago

ccMSC commented 8 years ago

I've added support for the K65 Lux and K70 Rapidfire in this branch: https://github.com/ccMSC/ckb/tree/newdev

It does not support the M65 Pro as nobody has told me the USB device ID for it yet.

A few of you tried to get the keyboards working by editing the device IDs but found that the lighting didn't work - I think I know why. It should be fixed in this version.

Hopefully this version works for everyone and I can release it soon. Let me know which device you have and whether or not the test version is working. I can also provide an OS X binary package if anyone needs it.

rbieb commented 8 years ago

Does the support for the rapidfire k70 include support for the Corsair K65 RGB Rapidfire? If not, then this is the ID:

Bus 001 Device 002: ID 1b1c:1b39 Corsair

gtjoseph commented 8 years ago

K65 Lux 1b1c:1b37 and Scimitar 1b1c:1b1e working fine in the newdev branch.

THANKS!!!

jashephe commented 8 years ago

Thanks for all of your hard work! I built the newdev branch, but the K65 Rapidfire doesn't seem to be supported yet. Not sure if you have this information already, but here's the device ID for the K65 Rapidfire: screen shot 2016-06-18 at 11 02 30 pm

Edit: And now I see that this was already posted by rbeib earlier today, so sorry for my poor reading comprehension.

tatokis commented 8 years ago

@rbieb @jashephe please try applying the following patch on newdev and then compiling ckb again. https://vps.tasossah.com/ckb/K65_Rapidfire.patch

To apply it, download it to the ckb directory, and then on a terminal switch to the ckb directory and run

patch -p1 < K65_Rapidfire.patch
rbieb commented 8 years ago

@tatokis Works beautifully, thanks a lot!

jashephe commented 8 years ago

@tatokis I still get "No devices connected", even for the patched version.

tatokis commented 8 years ago

@jashephe Make sure the daemon is restarted. Close the ckb application and run

sudo killall -9 ckb-daemon && sudo ckb-daemon

and then start the ckb application again.

If it still doesn't recognise it please post the output of the above command.

Alternatively, try rebooting.

jashephe commented 8 years ago

Sure, I had killed the daemon before, but here's the output of killing it and starting it manually:

ckb: Corsair RGB driver beta-v0.2.6+d01
[I] Root controller ready at /var/run/ckb0
[W] iterate_devices_usb (usb_mac.c:629): Unable to seize USB handle, continuing anyway...
[I] Connecting  at /var/run/ckb1
[W] iterate_devices_hid (usb_mac.c:751): Failed to open device: e00002c5
[W] iterate_devices_hid (usb_mac.c:751): Failed to open device: e00002c5`
tatokis commented 8 years ago

Since it worked for rbieb who runs linux, it is probably a Mac-specific issue.

However, the only modification that needs to be done specifically for Macs is on line 773 on usb_mac.c, to include "P_K65_RFIRE", which the patch already does. So assuming the patch hasn't failed, I am not sure what is going on.

I also run Linux, and don't have any knowledge of how Macs handle USB devices, so unfortunately I can't help you. Will have to wait for @ccMSC

ajmicheli commented 8 years ago

K70 Rapidfire (non RGB) not working: Bus 003 Device 002: ID 1b1c:1b36 Corsair

lukeberry99 commented 8 years ago

Out of town until next Friday, if no one has gotten back to you by then I'll be able to update you with the M65 Pro RGB device ID.

kirishima262 commented 8 years ago

I purchased a k65 lux for my mac (10.9) and was disappointed to find that ckb didn't detect it but after building this latest dev version (and restarting) it works!!!! thank you so much for this wonderful software. Also your build system is really simple; it's often a challenge to build projects like this but one script and you're done ^^

Corsair should hire you as a dev. it's really poor that they have no native support for osx/linux.

ghost commented 8 years ago

I just compiled and ran the updated newdev branch version on my Linux machine - success! K70 RGB Rapidfire is now working with animations and such.

TekNicholas commented 8 years ago

M65 RGB PRO $ lsusb -d 1b1c: Bus 004 Device 004: ID 1b1c:1b2e Corsair

Let me know if you need anything more. Would love to have this added.

superak commented 8 years ago

I just got a k65 lux for my mc (10.10) and installed the latest version CKB (v0.2.6). I am pretty new to the scripts and code stuffs, so I used the simplest way to install CKB (download ckb.pkg and run it). Even I have tried all the usb port and external hubs, multiple restarting, it cannot detect the keyboard shows message "no devices connected". Any advice will be appreciated... PS: the keyboard just works fine in windows system.

tatokis commented 8 years ago

You need to compile ckb using the quickinstall script.

There are instructions in the readme ( https://github.com/ccMSC/ckb/tree/newdev#building-from-source )

Make sure to get ckb from this link instead, which contains support for the K65 Lux: https://github.com/ccMSC/ckb/archive/newdev.zip

superak commented 8 years ago

@tatokis Thanks a lot. I installed gt5 then used the quickinstall script, and the keyboard works perfect. Thumb up...

ghost commented 8 years ago

Thank you for bringing this to Linux

M65 RGB PRO $ lsusb -d 1b1c: Bus 001 Device 005: ID 1b1c:1b2e Corsair

Please let me know if there is any other information that you need.

skiller23 commented 8 years ago

I just got the Corsair RGB Lux k70 and using this ckb software won't recognize the keyboard. I've been reading this thread and have come to the conclusion that the software is not optimized for this new keyboard. Any way to get it to to work?

jashephe commented 8 years ago

@tatokis Just wanted to report that I had an opportunity to try this again and was able to get a K65 Rapidfire working on a mac using the newdev branch with your patch. It seemed like unplugging and re-plugging the keyboard while ckb was open seemed to do the trick (although I can't be certain that was all there was to it, since I also did a fresh build and patch).

ElijahAFrancis commented 8 years ago

I was able to get the newdev build to recognize the k70 LUX RGB But changing the lighting would not change anything. Shortly after I got it to recognize the keyboard, I couldn't type. I was able to get the keyboard typing again with a simple reboot then deleting all CKB files and unplugging the keyboard once. What I did to get it to recognize was install with the terminal command, then just fiddling around being dumb in the files, I didn't think it would do anything, but I opened package and preinstall then unplugged my keyboard and plugged it back in then suddenly it recognized it. When I tried changing the lighting it just turned the lights off then back on. I most likely will not try this for a while, the lights just bother me because the rest of my setup is blue and it has red lights. I will check this page daily to see if anybody has a fix though. It may because k70 lux rgb isn't supported, but when I checked the product ID matched the one provided.

If this was confusing, I got it to recognize the keyboard, but not change lights, then suddenly it no longer recognized it and my keyboard stopped working. I got my keyboard functioning as a normal keyboard again and all the lights are on fine, but now ckb doesn't recognized it again. I can tell you are trying really hard to get it working and it is my fault for buying a keyboard even though I knew I couldn't use it to it's full potential. It also doesn't help that I know barely anything about what I am doing.

Sunnygogogo commented 8 years ago

Hi, Ive tried to patch for the K65_Rapidfire.patch but keep getting this error?

can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

|diff --git a/src/ckb-daemon/usb.c b/src/ckb-daemon/usb.c |index c9af78c..f529891 100644 |--- a/src/ckb-daemon/usb.c

|+++ b/src/ckb-daemon/usb.c

I have downloaded the patch and moved it into the "contents" folder of the CKB app files? then i open terminal, and switch to the contents folder, and try running the patch? any ideas?

CommandMasterGeek commented 8 years ago

I just bought these two latest models of mouse and KB and could not get either to work on OSX 10.11.5. As requested I have uploaded the "About this Mac" info' on both devices. It would be great if you could add them. I'm not a programmer so a new .pkg to download would be awesome. Thanks for the great work. Its much appreciated.

screen shot 2016-06-29 at 9 01 03 pm screen shot 2016-06-29 at 9 00 41 pm
taisph commented 8 years ago

From Ubuntu 16.04:

[94622.893433] usb 3-9.4.2: New USB device found, idVendor=1b1c, idProduct=1b2e
[94622.893437] usb 3-9.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[94622.893438] usb 3-9.4.2: Product: Corsair Gaming M65 Pro RGB Mouse
[94622.893439] usb 3-9.4.2: Manufacturer: Corsair
taisph commented 8 years ago

Attempted to use the M65 code to support M65 Pro in my fork here: https://github.com/taisph/ckb ... seems to timeout on retrieving the mouse profile though.

ccMSC commented 8 years ago

All the new devices should be added now. Thanks everyone.

@taisph that's a pretty common issue, as long as the mouse itself works I wouldn't be bothered by it.

CommandMasterGeek commented 8 years ago

Thanks so much. I followed you OSX build instructions for this fork and they worked perfectly. My new K70 RGB Rapidfire KB and M65 Pro RGB mouse were recognised first go with the new build on OSX 10.11.5 on my iMac. Now having fun trying out the S/W and options. Will advise of any bugs. Great job!

robgc commented 8 years ago

Hi! Here you have the K70 LUX RGB's deviceID:

Bus 003 Device 002: ID 1b1c:1b33 Corsair

Thanks a lot for your amazing work!

ElijahAFrancis commented 8 years ago

so I got it to recognize my k70 LUX RGB, but whenever it does the lights turn off and the keyboard basically disconnects from my computer, then it reconnects and works again

koanya commented 8 years ago

I have a K70 rapidfire (non-rgb) and it not recognize. I compiled the New-dev branch. It's the ID "Bus 003 Device 002: ID 1b1c:1b3a Corsair". It's strange that I havn't the same ID than @ajmicheli.

Another problem (or maybe not). When I launch ckb-daemon I have only : juil. 02 21:18:04 Archlinux systemd[1]: Started Corsair Keyboard Daemon. juil. 02 21:18:04 Archlinux ckb-daemon[472]: ckb: Corsair RGB driver beta-v0.2.6+d01 juil. 02 21:18:04 Archlinux ckb-daemon[472]: [I] Root controller ready at /dev/input/ckb0 I don't know if it's normal that I don't have a line "keyboard not recognizeé" or something like that. And during the boot, I have the message "usbhid: 9-2:1.1: couldn't find an input interrupt endpoint". Maybe it's because this message than my keyboard is not recognize.

In all case, thank you for your hard work on this driver :)

ElijahAFrancis commented 8 years ago

Update on k70 Lux RGB. It is recognizing it as a standard k70, the program attempts to change the lights and does nothing.

ganoz commented 8 years ago

K70 Rapidfire (non RGB) not working: id

Thanks a lot for your amazing work! :)

bladejlm commented 8 years ago

Thanks in advance for your great Work ... I have K70 Rapidfire (spanish edition) that is the "About my mac" usb information: 2016_07_06_img_1593

I'd like a refresh of your driver for mac to get full funcionality on osX

Thanks!

koanya commented 8 years ago

If someone want to use K70 rapidfire non-rgb, you just need to modify the file usb.h in src/ckb-daemon/ in the newdev branch. Replace the line "#define P_K70_RFIRE 0x1b38" by "#define P_K70_RFIRE 0x1b3a" and the line "#define P_K70_RFIRE_STR "1b38"" by "#define P_K70_RFIRE_STR "1b3a"" (1b3a is the id of my k70 rapidfire. You can check with the command "lsusb -d 1b1c:"). Then just build the program. Thanks @piyatat for the info.

Edit : There is just a little bug. Ckb recognize the keyboard as a RGB keyboard. Black color will turn off the LEDs and white color will turn on the LEDs

horen20 commented 8 years ago

ckb from the newdev branch works fine for K70 RGB LUX

ElijahAFrancis commented 8 years ago

Horen are you on mac or linux?

horen20 commented 8 years ago

I am on Mac.

Thx, Horen

Sent from my iPhone

On Jul 14, 2016, at 9:22 PM, Gausgovy notifications@github.com wrote:

Horen are you on mac or linux?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

lukeberry99 commented 8 years ago

I'm currently not in a position to compile the dev branch, is there any ETA on when this will be released or is anyone kind enough to package this up for Mac and send it to me? If not, no worries

chrisengelsma commented 8 years ago

Corsair K65 Lux RGB Mac OS X 10.11.6 Installed using Qt 5.7.0

Very excited about getting this to work, however after following the instructions on the OSX install, the ckb.app fails to launch. Launching from a terminal window will output this:

LSOpenURLsWithRole() failed with error -10810 for the file /Applications/ckb.app.

Any thoughts? I'm interested in a precompiled ckb.app if you're offering.

bwoodruff commented 8 years ago

macbook_pro

K70 non-RGB non-Rapidfire LUX

bwoodruff commented 8 years ago

Was able to get the above working by editing the usb.h file as @koanya suggested.

poppeach commented 8 years ago

screen shot 2559-08-09 at 12 36 35 am

K70 Non-RGB LUX

mapintar commented 8 years ago

I have a k70 rapidfire ABNT2 (Brazilian portuguese) and replace the line "#define P_K70_RFIRE 0x1b38" by "#define P_K70_RFIRE 0x1b3a" and the line "#define P_K70_RFIRE_STR "1b38"" by "#define P_K70_RFIRE_STR "1b3a"". Keyboard now is detected by ckb-daemon, but ckb not have suport for ABNT2.

mrgaolei commented 8 years ago

Corsair Gaming K65 RGB RAPIDFIRE Keyboard :

产品 ID: 0x1b39 厂商 ID: 0x1b1c (CORSAIR MEMORY INC.) 版本: 2.05 序列号: 0A04101AAEAA10025504DC66F5001943 速度: 最大 12 Mb/秒 制造商: Corsair 位置 ID: 0x14300000 / 6 可用电流 (mA): 500 所需电流 (mA): 500 额外的操作电流 (mA): 0

bwoodruff commented 8 years ago

Is a new binary with the above mentioned changes planned? Is there anything more we can do to help @ccMSC?

elXaptation commented 8 years ago

Hi, I have the K70 RGB Rapidfire

blah:~$ lsusb -d 1b1c: Bus 001 Device 005: ID 1b1c:1b38 Corsair

The ckb-newdev/src/ckb-daemon/usb.h file lists this id as blah:~$ cat Downloads/ckb-newdev/src/ckb-daemon/usb.h | grep 1b38

define P_K70_RFIRE 0x1b38

define P_K70_RFIRE_STR "1b38"

ckb control panel recognizes the device as connected, but can not control it. No light control. I only get the NumLck, CapLck , OtherLED flashing.

I don't have a windows machine to update firmware. Could this be the problem. I guess the current ckb-newdev branch build is looking for K70 to have the newest firmware? Please confirm if possible.

Any other ideas?

Thank you.

bwoodruff commented 8 years ago

Hi @elXaptation

The newest firmware was required in my experience. Without it ckb did not even "see" my keyboard. Updating the firmware from a Windows PC then connecting it to ckb worked perfectly (after making the above mentioned required changes).

Ben

boatchum commented 8 years ago

For some reason I cannot install QT5. and they will not offer further support to me. I have even tried on all the 3 mirrors provided from qt. Is there a workaround QT5? Keyboard is recognized, CKB is installed (it just doesn't show anything other than settings when app is open), and showing the default Red/White LEDs. So basically the install begins and ends with this error every time: Could not download archive: http://download.qt.io/online/qtsdkrepository/mac_x64/desktop/tools_qtcreator/qt.tools.qtcreator/4.1.0-0qtcreator.7z : Connection closed

Please help thanks.

fgblomqvist commented 8 years ago

@bwoodruff I got the same keyboard as you (same ID) but it's dead when I run CKB (I created a separate issue here: https://github.com/ccMSC/ckb/issues/453). What firmware version are you on? Which branch/revision of CKB are you using?

bwoodruff commented 8 years ago

Hey @fgblomqvist -- I'm using FW 2.04 (if you haven't updated from a Windows box that could definitely be a problem). I built ckb from the newdev branch after making the changes I mentioned above.