Jump to content
Corsair Community

(Unofficial) Linux / OSX Driver


MSC

Recommended Posts

  • Replies 824
  • Created
  • Last Reply

Top Posters In This Topic

Good job on the driver, it's fantastic that the community can step in to provide what should really be provided by Corsair itself. The fact that I couldn't use the G keys on my k95 on linux always bothered me way too much. At least my logitech mouse has an onboard memory, so even if I can't configure it from linux it still works there.

Anyway, I've tried to install your software on my Archlinux and the driver runs fine, I can see my keyboard under /dev/input/ckb1. The frontend for the configuration though, segfaults when I run it ("segmentation fault (core dumped) ckb"). I can see the interface for a fraction of a second but then it crashes. Is there a way for me to provide debug data on this?

Thanks a lot!

Link to comment
Share on other sites

Good job on the driver, it's fantastic that the community can step in to provide what should really be provided by Corsair itself. The fact that I couldn't use the G keys on my k95 on linux always bothered me way too much. At least my logitech mouse has an onboard memory, so even if I can't configure it from linux it still works there.

Anyway, I've tried to install your software on my Archlinux and the driver runs fine, I can see my keyboard under /dev/input/ckb1. The frontend for the configuration though, segfaults when I run it ("segmentation fault (core dumped) ckb"). I can see the interface for a fraction of a second but then it crashes. Is there a way for me to provide debug data on this?

Thanks a lot!

coredumpctl dump ckb > /path/to/file

 

Then upload that file somewhere and I can analyze it. I may need you to compile a debug build if I can't figure out the problem - I'll provide instructions for that if necessary.

 

Is the preview section supposed to be one quarter the normal size? If not, what am I doing wrong? Image here

 

I've tried reinstalling and rebooting, doesn't help.

 

Looks like a retina display issue. I'll see if I can fix it.

Link to comment
Share on other sites

Looks like a retina display issue. I'll see if I can fix it.

 

Thanks.

 

One more thing. On the k65 keyboard, is there any way to map the menu key to access the secondary functions of either the default second layer of the function keys on the mac, or the second layer media functions that come default on the keyboard?

 

Currently, it's mapped to menu. Menu+F9-F12 doesn't do anything.

Link to comment
Share on other sites

coredumpctl dump ckb > /path/to/file

Then upload that file somewhere and I can analyze it. I may need you to compile a debug build if I can't figure out the problem - I'll provide instructions for that if necessary.

 

Here it is (wow, I didn't think it was supposed to be so big).

https://www.dropbox.com/s/lc5rnlkv3o3uooe/core.4010?dl=0

Let me know if you need more help.

Thanks again!

Link to comment
Share on other sites

Anyway, I've tried to install your software on my Archlinux and the driver runs fine, I can see my keyboard under /dev/input/ckb1. The frontend for the configuration though, segfaults when I run it ("segmentation fault (core dumped) ckb"). I can see the interface for a fraction of a second but then it crashes. Is there a way for me to provide debug data on this?

Thanks a lot!

 

I get the exact same result. I have both a K70RGB and M65 mouse on Arch Linux. The generated coredump is about 130MB, I can get it to you if you need it.

 

Thanks!

Link to comment
Share on other sites

Thanks.

 

One more thing. On the k65 keyboard, is there any way to map the menu key to access the secondary functions of either the default second layer of the function keys on the mac, or the second layer media functions that come default on the keyboard?

 

Currently, it's mapped to menu. Menu+F9-F12 doesn't do anything.

 

This is planned for a future version in the form of key combos - you'll be able to assign a particular combination of keys to do something else.

 

The retina display issue should be fixed now in the testing repository.

 

Here it is (wow, I didn't think it was supposed to be so big).

https://www.dropbox.com/s/lc5rnlkv3o3uooe/core.4010?dl=0

Let me know if you need more help.

Thanks again!

 

I get the exact same result. I have both a K70RGB and M65 mouse on Arch Linux. The generated coredump is about 130MB, I can get it to you if you need it.

 

Thanks!

 

Unfortunately I wasn't able to load the core dump file on my system (probably due to different libraries or something). So here's how to get a printout from gdb instead:

 

1. Start with a clean ckb download

2. In the source directory, run `./qmake-auto && make && make debug` (it's necessary to run make twice because the animations don't have debug configurations, so they'll be missing if you don't)

3. Once it's finished, run `gdb bin/ckb`

4. Type `r` and hit enter to run the program.

5. When it crashes, type `bt` and hit enter.

6. Copy everything from "Program received signal SIGSEGV, Segmentation fault." downward and paste it here

 

Hopefully that should give me enough information to figure out the problem.

 

EDIT: You both installed it via the AUR package, right? If so, strike what I just said - see here: https://github.com/ccMSC/ckb/issues/102#issuecomment-130235978

Edited by MSC
Link to comment
Share on other sites

Dear MSC,

I've just received my K70 RGB and installed the v0.2 via the "quickinstall". All work like a charm on both MINT 17.1 and 17.2!

At first start it found the new software and the update process has been flawless!

I can set light profile and save them to the on-board memory: that's great!

The only thing I miss is the Italian layout. Are you interested in adding it? Is there something I could do to help you add the IT layout?

 

Thanks again for the great software!

Vortigern

Link to comment
Share on other sites

Do you have one? I'm not 100% certain but I think it's identical to the M65 apart from a slightly different layout and having one more light zone. I could add experimental support if you're interested in testing.
Link to comment
Share on other sites

Hi,

 

Today I tried to install the driver. I used the quickinstall script and everything went fine until it asked if I wanted to start ckb, which I answered yes to. The screen went black and my keyboard did the rainbow color effect. Nothing worked (tried getting to ttys, didn't work either.) I rebooted, and my keyboard simply didn't work.

 

I tried starting the ckb daemon:

 

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ ckb-daemon --help

thomas@thomas-debian:~$ systemctl status ckb

● ckb.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

thomas@thomas-debian:~$ systemctl status ckb-daemon

● ckb-daemon.service

Loaded: masked (/usr/lib/systemd/system/ckb-daemon.service; masked; vendor preset: enabled)

Active: inactive (dead)

thomas@thomas-debian:~$ systemctl start ckb-daemon

Failed to start ckb-daemon.service: Unit ckb-daemon.service is masked.

 

(Tried all of the above as root, also)

 

Running either ckb or ckb-daemon simply does nothing:

 

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ ckb-daemon

thomas@thomas-debian:~$ sudo !!

sudo ckb-daemon

[sudo] password for thomas:

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ sudo ckb

 

I have a K95 RGB, using Debian Testing, kernel version 4.1.0-1-amd64.

 

thomas@thomas-debian:~$ uname -a

Linux thomas-debian 4.1.0-1-amd64 #1 SMP Debian 4.1.3-1 (2015-08-03) x86_64 GNU/Linux

 

Thanks,

Thomas.

Link to comment
Share on other sites

I'm using a K70RGB on Ubuntu 15.04 (64 bit). I'm having an issue with usbhid - it hangs on boot for three ten second periods while usbhid attempts to talk to my device. [1] After the timeouts expire it starts up fine and the keyboard + ckb work perfectly, but the extended boot time is annoying me.

 

I've tried supplying the README's suggested usbhid quirks on the Linux command line, but (with either of the two suggestions [2]) I get an error message to the effect that usbhid.quirks can't take more than four arguments, and once the system's booted my mouse doesn't work. (The keyboard is fine, and the boot process doesn't hang; I'm assuming usbhid is just not loading because of the error.)

 

I've attempted to divine what the invocation for usbhid actually does, with little success, so can somebody suggest a line which will stop the hanging without breaking usbhid entirely? Thanks!

 

[1] Here's the usb lines from dmesg: http://pastebin.com/RQh30t29

 

[2] 0x1B1C:0x1B08:0x408,0x1B1C:0x1B09:0x400,0x1B1C:0x1B11:0x408,0x1B1C:0x1B12:0x400,0x1B1C:0x1B13:0x400,0x1B1C:0x1B17:0x400 or

0x1B1C:0x1B08:0x4,0x1B1C:0x1B09:0x4,0x1B1C:0x1B11:0x4,0x1B1C:0x1B12:0x4,0x1B1C:0x1B13:0x4,0x1B1C:0x1B17:0x4

Link to comment
Share on other sites

Is there a name for that layout? It looks like it's just the UK layout except with an extra backslash in place of the hash key.

 

Corsair calls it European (EU). It's most definitely not the UK layout, the symbols are arranged differently (at least @ " ~ # and £ are). It's identical to the US layout apart from being ISO, so it has one more key and differently shaped enter and left shift. In linux the additional key is set up automatically as '<>' despite having '\|' printed on it.

It is a particularly useful layout as I'm not a native English speaker and I switch between the US and my regional layout pretty often. Having one more key means I can directly map the keyboard to any international one without issues.

EDIT: I realized that the picture I linked before didn't have all the symbols on the keys. Not finding any other picture online, I took a photo of my own keyboard: https://www.dropbox.com/s/wancsvocepbmzmi/IMG_20150814_195207.jpg?dl=0

 

On a different note, can I ask for one more feature (I know I'm annoying you, sorry). It's fairly minor, but would it be possible to set the application to open directly as a tray icon rather than a full window? Right now when I log in the window always opens by itself (which is good as I want the program to run, just I don't need to see it at every boot).

Edited by gondsman
Link to comment
Share on other sites

Hi,

 

Today I tried to install the driver. I used the quickinstall script and everything went fine until it asked if I wanted to start ckb, which I answered yes to. The screen went black and my keyboard did the rainbow color effect. Nothing worked (tried getting to ttys, didn't work either.) I rebooted, and my keyboard simply didn't work.

 

I tried starting the ckb daemon:

 

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ ckb-daemon --help

thomas@thomas-debian:~$ systemctl status ckb

● ckb.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

thomas@thomas-debian:~$ systemctl status ckb-daemon

● ckb-daemon.service

Loaded: masked (/usr/lib/systemd/system/ckb-daemon.service; masked; vendor preset: enabled)

Active: inactive (dead)

thomas@thomas-debian:~$ systemctl start ckb-daemon

Failed to start ckb-daemon.service: Unit ckb-daemon.service is masked.

 

(Tried all of the above as root, also)

 

Running either ckb or ckb-daemon simply does nothing:

 

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ ckb-daemon

thomas@thomas-debian:~$ sudo !!

sudo ckb-daemon

[sudo] password for thomas:

thomas@thomas-debian:~$ ckb

thomas@thomas-debian:~$ sudo ckb

 

I have a K95 RGB, using Debian Testing, kernel version 4.1.0-1-amd64.

 

thomas@thomas-debian:~$ uname -a

Linux thomas-debian 4.1.0-1-amd64 #1 SMP Debian 4.1.3-1 (2015-08-03) x86_64 GNU/Linux

 

Thanks,

Thomas.

 

Sounds like it either didn't build or didn't install. First thing I'd do is check the bin dir in the ckb-master directory and see if those binaries are runnable. If so, you can probably just copy them to your system manually (open quickinstall in a text editor and look for the "sudo install" lines). If not, delete the folder, redownload, then try `./qmake-auto && make` in the source directory. It should compile without errors.

 

I'm using a K70RGB on Ubuntu 15.04 (64 bit). I'm having an issue with usbhid - it hangs on boot for three ten second periods while usbhid attempts to talk to my device. [1] After the timeouts expire it starts up fine and the keyboard + ckb work perfectly, but the extended boot time is annoying me.

 

I've tried supplying the README's suggested usbhid quirks on the Linux command line, but (with either of the two suggestions [2]) I get an error message to the effect that usbhid.quirks can't take more than four arguments, and once the system's booted my mouse doesn't work. (The keyboard is fine, and the boot process doesn't hang; I'm assuming usbhid is just not loading because of the error.)

 

I've attempted to divine what the invocation for usbhid actually does, with little success, so can somebody suggest a line which will stop the hanging without breaking usbhid entirely? Thanks!

 

[1] Here's the usb lines from dmesg: http://pastebin.com/RQh30t29

 

[2] 0x1B1C:0x1B08:0x408,0x1B1C:0x1B09:0x400,0x1B1C:0x1B11:0x408,0x1B1C:0x1B12:0x400,0x1B1C:0x1B13:0x400,0x1B1C:0x1B17:0x400 or

0x1B1C:0x1B08:0x4,0x1B1C:0x1B09:0x4,0x1B1C:0x1B11:0x4,0x1B1C:0x1B12:0x4,0x1B1C:0x1B13:0x4,0x1B1C:0x1B17:0x4

Did you copy and paste the line? It looks like there are some unnecessary spaces, which will prevent it from working.

 

If all you have is a K70 RGB, the following should be sufficient:

usbhid.quirks=0x1b1c:0x1b13:0x400

 

Corsair calls it European (EU). It's most definitely not the UK layout, the symbols are arranged differently (at least @ " ~ # and £ are). It's identical to the US layout apart from being ISO, so it has one more key and differently shaped enter and left shift. In linux the additional key is set up automatically as '<>' despite having '\|' printed on it.

It is a particularly useful layout as I'm not a native English speaker and I switch between the US and my regional layout pretty often. Having one more key means I can directly map the keyboard to any international one without issues.

EDIT: I realized that the picture I linked before didn't have all the symbols on the keys. Not finding any other picture online, I took a photo of my own keyboard: https://www.dropbox.com/s/wancsvocepbmzmi/IMG_20150814_195207.jpg?dl=0

 

On a different note, can I ask for one more feature (I know I'm annoying you, sorry). It's fairly minor, but would it be possible to set the application to open directly as a tray icon rather than a full window? Right now when I log in the window always opens by itself (which is good as I want the program to run, just I don't need to see it at every boot).

 

It should be doing that already. Might want to check your startup applications to make sure you've got "ckb --background" and not plain "ckb".

 

I'll add the layout soon.

Link to comment
Share on other sites

Sounds like it either didn't build or didn't install. First thing I'd do is check the bin dir in the ckb-master directory and see if those binaries are runnable. If so, you can probably just copy them to your system manually (open quickinstall in a text editor and look for the "sudo install" lines). If not, delete the folder, redownload, then try `./qmake-auto && make` in the source directory. It should compile without errors.

 

Yeah, for some reason it didn't install properly. I installed the executables in bin and ckb-daemon ran fine, however ckb segfaulted. I ended up reinstalling and rebooting and now it works properly.

 

Thanks for all of your work on this project!

 

Thomas.

Link to comment
Share on other sites

Hi,

 

I've installed the driver, which works very well in general. Good job!! :)

 

However, it seems that G keys doesn't work for me. I tried to get the key codes for G keys with the evtest command, and I get no codes when I push a G key. I can see all the key codes for all the keys but for G keys, it's like they're ignored.

 

I was expecting to get the key codes, since the first page of that thread says that the G keys works. I says that advanced macros don't, but that's not what I want. I just want to get the keycodes. My idea is to run a specific command when a specific key code is detected (that's what I was doing until now with the K90 keyboard).

 

I also tried to read the keycodes with the http://sourceforge.net/projects/keytouch/files/ application, without any luck.

 

Could you help me to get that? Does someone have the same issue?

 

The main difference between the K95 and K90 that I can see, is that the K90 had 2 different input devices (/dev/input/event6 and /dev/input/event7) but the K95 has only one (/dev/input/event6). On the K90, the G keys where readed from event7 and the "normal" keyboard from the event6. Since the K95 has only the event6, I understand that I must read everything from the event6 (but it doesn't seem hat event6 populates the G keys codes).

 

Maybe I'm reading from the wrong device? On /dev/input/ckb0/* and /dev/input/ckb1/* I don't see any device to be readed that could provide the key codes.

 

Thank you in advance for your help,

Daniel.

 

PS: I'm sorry for my bad english, if I wasn't clear enough on some point, please feel free to ask. I wrote it my best, but english is not my native language.

Link to comment
Share on other sites

Did you copy and paste the line? It looks like there are some unnecessary spaces, which will prevent it from working.

 

If all you have is a K70 RGB, the following should be sufficient:

usbhid.quirks=0x1b1c:0x1b13:0x400

The spaces were a copy/paste fail into the forum, not present in the original. Setting your suggested line doesn't make any difference, but setting 0x4 instead (per the readme) to blacklist the device does work. Not totally happy with that as a solution, given the caveats in the readme and the additional (somewhat bizarre) issue that about 50% of the time after rebooting out of Linux, the keyboard doesn't work on the GRUB screen, but I'm not sure there's a better way to unbork whatever's causing USBHID to hang. (The keyboard did work before I installed ckb.)

 

It should be doing that already. Might want to check your startup applications to make sure you've got "ckb --background" and not plain "ckb".

This is likely due to the window manager they're using doing some helpful session resuming - I get the same issue. The process listing should include something like "ckb -session <long identifier here>". Apparently this gets run before the startup items at least on my system (KDE5), so it's starting that one before the one with the --background argument (which I guess quits because ckb is already running). The "proper" fix for this would be to support session resuming and check if the resumed session was minimised when it exited. At least on KDE it's possible to work around it by going to System Settings > Startup and Shutdown > Desktop Session and adding ckb to the "Applications to be excluded from sessions" box.

Link to comment
Share on other sites

Hi,

 

I'm having some issues with ckb and multihead. Since ckb depends on qt, I decided to use KDE4, and I configured it to use awesome as window manager. In order to keep the awesome desktop and design I disabled Plasma and KRunner.

 

The problem is that the ckb can only be loaded at one DISPLAY, and when you push a G key, the application will only be oppened on the screen when the ckb was ran. But if your mouse cursor is at the other screen, you'd expect the application to be opened at the screen where the mouse is.

 

Does someone has the same issue?

 

Since the mouse's cursor current display can be readed by code, I think that the solution could be to set the DISPLAY variable with the mouse value before launching the application, and the application will be opened at the screen where the mouse cursor is.

 

I made the change on keyaction.cpp, but I'm having issues while compiling the source (my first ckb installation was from portage, not directly from source, and I'm probably missing something).

Link to comment
Share on other sites

This is likely due to the window manager they're using doing some helpful session resuming - I get the same issue. The process listing should include something like "ckb -session <long identifier here>". Apparently this gets run before the startup items at least on my system (KDE5), so it's starting that one before the one with the --background argument (which I guess quits because ckb is already running). The "proper" fix for this would be to support session resuming and check if the resumed session was minimised when it exited. At least on KDE it's possible to work around it by going to System Settings > Startup and Shutdown > Desktop Session and adding ckb to the "Applications to be excluded from sessions" box.

 

This did the trick, thanks!

Link to comment
Share on other sites


×
×
  • Create New...