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.

fgblomqvist commented 8 years ago

@bwoodruff Didn't realize I had to specifically replace the K70 rapidfire one, once I did and recompiled I got it to work! Thanks a lot.

So to clarify: If you have K70 LUX (no RGB, no Rapidfire) you have to edit the K70 Rapidfire section of usb.h so that it looks like this:

#define P_K70_RFIRE     0x1b36
#define P_K70_RFIRE_STR "1b36"
elXaptation commented 8 years ago

Hi Ben,

Just closing the loop.

Upgrading the firmware using a Windoze machine solved my problem. 

Now the keyboard is recognized and ckb is controlling it properly.

Thank you.

And thank you CKB contributors.

On Wed, 24 Aug 2016, Ben Woodruff wrote:

Date: Wed, 24 Aug 2016 10:09:09 From: Ben Woodruff notifications@github.com Reply-To: ccMSC/ckb <reply+012ed9c6f5887bc3a71df74720a5dfb15208249fe2e3fd7292cf0000000113d596b 592a169ce0998e75c@reply.github.com> To: ccMSC/ckb ckb@noreply.github.com Cc: elXaptation el@xaptation.com, Mention mention@noreply.github.com Subject: Re: [ccMSC/ckb] MEGATHREAD: Newer keyboards/mice (K65 Lux, K70 Rapidfire, M65 Pro) (#386)

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

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.[AS7Zxg4Xtzj7EX_GIzm5xCCBjaM-w-r4ks5qjHq1gaJpZM4I46Kt.gif]

richardspiers commented 8 years ago

Just confirming that my K70 Lux RGB is working fine under the newdev branch code. Worked as plain keyboard without being detected by ckb under the old master branch.

rkingsbury commented 8 years ago

Can anyone with a K70 non-RGB LUX confirm that Ubuntu 16.04 recognizes it as a standard keyboard? Is it necessary to enable the USB quirks? I've done so, and updated FW to 2.04, but my keyboard is unusable. Seems to work fine on Windows.

I'd really like it to work with the regular USB HID driver before I start messing with ckb...

fgblomqvist commented 8 years ago

@rkingsbury Yes it does. At first Ubuntu did not recognize it, but after updating the firmware in Windows to 2.04 Ubuntu started to recognize it as well, without CKB installed. I did not enable any USB quirks as far as I remember.

kd8nzg commented 8 years ago

I am so confused, how do I get my k70 rapidfire to work on MacOS?

horen20 commented 8 years ago

Please checkout the source code Switch to newdev branch Install Qt Follow the description in Build.md for Mac. Your keyboard will work fine.

kd8nzg commented 8 years ago

I built (clicked on the quickinstall executable) it but it says no devices connected...any solutions? This is all new to me, thank you for your patience

bwoodruff commented 8 years ago

@kd8nzg,

What version of Mac OS are you running? Have you upgraded to macOS Sierra?

kd8nzg commented 8 years ago

yes i am running mac os sierra, i guess i can roll back to el capitan if need be, can anyone confirm if theirs works on sierra?

horen20 commented 8 years ago

Are you sure, you built from the newdev branch. It should run without problems on Sierra.

kd8nzg commented 8 years ago

I am very sure considering the folder created from the zip file said ckb-newdev. I feel like I am doing something wrong. I go into the folder, click on quickinstall, it opens up terminal, installs it. Then I click on the app it creates and it opens fine and then it says no devices connected as if my k70 rapidfire didn't exist

rkingsbury commented 8 years ago

Back on the K70 Lux (non-RGB), thanks for the info @fgblomqvist . Sadly my Keyboard still doesn't work. I have 2.04 firmware, I've removed the quirks, so I'm just running a stock Ubuntu/Mint 4.4.0-21 kernel. As of now:

  1. When I plug it in, lsusb takes an excessively long time (minutes) to return any output
  2. I get the following error in dmesg
[  130.747691] usb 3-10: new full-speed USB device number 8 using xhci_hcd
[  160.875697] usb 3-10: New USB device found, idVendor=1b1c, idProduct=1b36
[  160.875699] usb 3-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  165.875966] usb 3-10: can't set config #1, error -110

and needless to say, no keypresses are recognized. The keyboard lights up, but that's about it.

I've tried several different ports (USB3, USB2). Is there anything else I should try software-wise, or is it time to call this one a bad unit and try to replace it?

fgblomqvist commented 8 years ago

@rkingsbury I am running kernel 4.4.0-38-generic, can't remember whether I got that automatically or manually installed it. Your error seems very odd. If you can I would try it on another Ubuntu machine, or maybe a Mac. If you can't, then maybe returning it is the best bet. I am not too deep into USB drivers on Ubuntu unfortunately.

bwoodruff commented 8 years ago

@kd8nzg

Did you upgrade the firmware on the keyboard from a Windows PC using the Corsair software yet? That could also be the issue. The out of the box firmware isn't supported. You have to update from Windows before it'll be recognized.

ajwills72 commented 8 years ago

Just bought a K65 LUX RGB, struggled with ckb iniitially, but then found this thread. Works beautifully, thank you for this great piece of work :-)

Kubuxu commented 8 years ago

K70 LUX no RGB: 1b1c:1b36 is not on the list in the newdev branch.

rkingsbury commented 8 years ago

Thank you @fgblomqvist . I updated to the 4.4.0-38 kernel but that didn't change anything w.r.t. the keyboard recognition using the default drivers.

I was able to get it working well by building ckb from the newdev branch and applying the change to usb.h that you give above.

shadcn commented 8 years ago

@ccMSC Corsair K65 LUX + the newdev branch works. Thanks so much.

elbuenyuz commented 8 years ago

hello :) , i am a newbie so i just got my new K70 RGB Rapidfire and I was searching how to control the light or make it work on my OS X el Capitan, so firstable thank you for the patience.

i would like to learn hot to do it ! i have the ckb.app install but doesnt detect my keyboard, so i read that i need to install de newdev branch , if someone has the K70 RGB RAPIDFIRE would like to explain me a little better the process! thank you very much and have a really nice day!

shadcn commented 8 years ago
  1. Install Xcode from the App Store: https://itunes.apple.com/ca/app/xcode/id497799835?mt=12.
  2. Install Qt5 from here: http://www.qt.io/download-open-source.
  3. Open a terminal and clone the ckb repository by running the following command: git clone git@github.com:ccMSC/ckb.git
  4. This creates a ckb directory with the master branch.
  5. Let's switch to the newdev branch: cd ckb && git checkout newdev
  6. Now run the quickinstall by running the following command: ./quickinstall
  7. Follow the on-screen prompts.
  8. Once completed, open ckb from your Applications directory and connect your keyboard.

You should be good to go.

elbuenyuz commented 8 years ago

thank you very m,uch isd already running and is amazing :) !!!

bwoodruff commented 8 years ago

I built ckb on El Capitan. After I upgraded to Sierra I started having some issues (see #473). I thought I'd try re-building under Sierra to see if that would help, but every time I try to run the quickinstall I get this error:

readlink: illegal option -- f
usage: readlink [-n] [file ...]
Preparing build files...
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.

There are no updates available for Xcode, I've updated Qt using the MaintenanceTools.app, and have restarted. I launch Xcode and it goes right to the welcome screen. I can run through the xcode user agreement using xcodebuild -license but I still get the same error(s).

Have others been successful in building under Sierra? Any ideas how to resolve this?

shadcn commented 8 years ago

@bwoodruff On Sierra + Xcode 8 you need this http://stackoverflow.com/questions/33728905/qt-creator-project-error-xcode-not-set-up-properly-you-may-need-to-confirm-t

bwoodruff commented 8 years ago

@arshad Changing the /5.7/clang_64/mkspecs/features/mac/default_pre.prf file as specified did the trick. Building now. Thank you!

MasonMakram commented 8 years ago

So this should fix the modifier key issue with my K70 in Sierra?

kd8nzg commented 8 years ago

Hi, Im running the most current release for MacOS Sierra and I cannot seem to get CKB to recognize my K70 Rapidfire. I have xcode for other development stuff, and I downloaded QT5. I used the quickinstall to build the Newdev program. Any suggestions?

bwoodruff commented 8 years ago

@kd8nzg did you update your firmware on the keyboard from a Windows computer?

MasonMakram commented 8 years ago

Can someone confirm that this will fix the modifier key issue with the K70 in Sierra? I don't want to go through the trouble if not.

bwoodruff commented 8 years ago

@MasonMakram it did not for me.

kd8nzg commented 8 years ago

it's firmware is 2.0.5, i made sure it is up to date

elbuenyuz commented 8 years ago

make sure the BIOS selection is in Number 1

kd8nzg commented 8 years ago

It is on Number 1, it still says no devices connected. I used the quickinstall to build the program. Am I supposed to do something with QT5? Could someone provide a step by step for the K70 Rapidfire? I sure would appreciate it, I've been at this for weeks

Jareyy commented 8 years ago

Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.

I don't know what to do, I have already accepted the license agreement but it keeps bringing me up to this after I try loading quickinstall (I don't know anything about code...)

horen20 commented 8 years ago

Open the file in [Qt-Install-folder]/5.7/clang_64/mkspecs/features/Mac/default_pre.prf Replace
isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))) with isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")))

This will fix the issue.

Jareyy commented 8 years ago

I'm stuck, I finally get the quickinstall to load through but it says this towards the end. and when i try to load the ckb app thing that appears when its all done, it does nothing at all at this point ive attempted to delete it all but if anyone can give a step by step for the ENTIRE download process for the K65 RGB LUX (LUX people :3) that would be great keep it simple if anyone can actually help ._. ^ ./keyaction.h:97:39: warning: unused parameter 'rhs' [-Wunused-parameter] inline KeyAction(const KeyAction& rhs) : QObject() {} ^ 2 warnings generated. 2 warnings generated. 2 warnings generated. 2 warnings generated. 2 warnings generated. In file included from release/moc_fwupgradedialog.cpp:9: In file included from release/../fwupgradedialog.h:7: In file included from ./kb.h:7: In file included from ./kbprofile.h:9: In file included from ./kbmode.h:6: In file included from ./kbbind.h:10: ./keyaction.h:96:44: warning: unused parameter 'rhs' [-Wunused-parameter] inline void operator=(const KeyAction& rhs) {} ^ ./keyaction.h:97:39: warning: unused parameter 'rhs' [-Wunused-parameter] inline KeyAction(const KeyAction& rhs) : QObject() {} ^ In file included from release/moc_kbmanager.cpp:9: In file included from release/../kbmanager.h:8: In file included from ./kb.h:7: In file included from ./kbprofile.h:9: In file included from ./kbmode.h:6: In file included from ./kbbind.h:10: ./keyaction.h:96:44: warning: unused parameter 'rhs' [-Wunused-parameter] inline void operator=(const KeyAction& rhs) {} ^ ./keyaction.h:97:39: warning: unused parameter 'rhs' [-Wunused-parameter] inline KeyAction(const KeyAction& rhs) : QObject() {} ^ In file included from release/moc_mperfwidget.cpp:9: In file included from release/../mperfwidget.h:11: In file included from ./kbprofile.h:9: In file included from ./kbmode.h:6: In file included from ./kbbind.h:10: ./keyaction.h:96:44: warning: unused parameter 'rhs' [-Wunused-parameter] inline void operator=(const KeyAction& rhs) {} ^ ./keyaction.h:97:39: warning: unused parameter 'rhs' [-Wunused-parameter] inline KeyAction(const KeyAction& rhs) : QObject() {} ^ 2 warnings generated. In file included from release/moc_kperfwidget.cpp:9: In file included from release/../kperfwidget.h:9: In file included from ./kbprofile.h:9: In file included from ./kbmode.h:6: In file included from ./kbbind.h:10: ./keyaction.h:96:44: warning: unused parameter 'rhs' [-Wunused-parameter] inline void operator=(const KeyAction& rhs) {} ^ ./keyaction.h:97:39: warning: unused parameter 'rhs' [-Wunused-parameter] inline KeyAction(const KeyAction& rhs) : QObject() {} ^ 2 warnings generated. 2 warnings generated. 2 warnings generated. 2 warnings generated.

Press enter to exit.

Jareyy commented 8 years ago

@arshad umm...k65 rgb lux??

shadcn commented 8 years ago

@Jareyy yes the steps above should work for k65 rgb LUX. I have the same model.

MasonMakram commented 8 years ago

What are you guys doing with all this code? Even if you get it properly installed, the modifier+click won't work on Sierra. You're better off putting all the effort in rolling back your OS.

Jareyy commented 8 years ago

@arshad do i already have to have ckb downloaded? and terminal as in the built in one for mac? I'm new to this and a bit lost on how to start

Jareyy commented 8 years ago

@MasonMakram you're saying os sierra doesn't work with all this?

bwoodruff commented 8 years ago

@MasonMakram you're saying os sierra doesn't work with all this?

Correct. Not fully anyway. No modifier + click actions work (e.x. shift + click).

RobMoore606 commented 8 years ago

M65 Pro RGB not detected here is the relevant entry from terminal Bus 007 Device 003: ID 1b1c:1b2e Corsair

x86_64 Linux 4.7.7

nathanjackson commented 8 years ago

@RobMoore606 I show the same. My mouse isn't detected either: M65 Pro RGB

Fedora 24 64-bit Kernel 4.7.6

Bus 003 Device 007: ID 1b1c:1b2e Corsair

Using master branch of ckb.

nathanjackson commented 8 years ago

@RobMoore606 I take that back, I just saw a newdev branch and tried that. It works great.

RobMoore606 commented 8 years ago

@nathanjackson thanks mate never even new that was there mine is also now working :)

jolosantos commented 8 years ago

@ccMSC I managed to make the CKB app build from newdev and detect my K65 Lux RGB after a few hours of reading and testing.

Only issue I ran was that I had trouble with this _typedef redefinition with different types ('int' vs 'enum clockid_t')_ upon building the ckb.pro on Qt. I managed to build successfully by commenting-out this line out _typedef int clockid_t;_ — definitely sure this is not a clean approach hence worth reporting here.

I am running 10.12.1 (latest macOS Sierra)

Thanks for making this. Much appreciated!

bikerdan commented 8 years ago

This worked for me. Thanks!

kd8nzg commented 8 years ago

Alright, I have xcode and QT5 installed and the firmware is most current...I download the newdev source code. I move the CKB application to the applications folder. I open CKB and plug my keyboard back in. No devices detected. I am using the K70 Rapidfire on MacOS Sierra. Any help?

LxFx commented 8 years ago

Will these new developments be integrated in the master branch anytime soon? That would be great.