The Corsair User Forums  

Go Back   The Corsair User Forums > Corsair Product Discussion > Keyboards and Mice

Reply
 
Thread Tools Search this Thread Rating: Thread Rating: 130 votes, 5.00 average. Display Modes
  #46  
Old 11-24-2014, 06:35 AM
SpeedFreak01 SpeedFreak01 is offline
Registered User
SpeedFreak01's PC Specs
 
Join Date: Oct 2014
Posts: 17
POST ID # = 743341
SpeedFreak01 Reputation: 10
Default

Bit of an update from me, loving the gui so far.
The ability to select colours / patterns and adjust a range of settings is just great. Better yet is the ability to use the brightness button.
Words cant express how happy i am that brightness is now working. Thank you very much :)
Storing profiles and writing them to the hardware seems to work fine as well.

One thing though, the changes you made to ckb-daemon in commit 11ec0b3, stopped the daemon working for me. I ended up checking out commit b37a519, which resolves the issue.

ckb-daemon output
Code:
ckb Corsair Keyboard RGB driver v0.0.3
Setting FPS to 60
Setting default layout: us
Root controller ready at /dev/input/ckb0
Connecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
The program halts here, and the following is spammed in dmesg
Code:
[ 1754.114238] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
[ 1754.170184] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
[ 1754.226127] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
[ 1754.282073] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
[ 1754.289059] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Guessing this might have something to do with the changes to usb.c?? could be wrong though.

I ended up cherry-picking the two later commits after 11ec0b3, fixed a merge conflict in usb.c where i pretty much removed anything that could set fail to 1 in the setupusb method and now the keyboard connects, and it connects much faster than it use to.

Not exactly sure why this works, but maybe you might see something.

Thanks again :)

Last edited by SpeedFreak01; 11-24-2014 at 06:47 AM.
Reply With Quote


  #47  
Old 11-25-2014, 03:29 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 743509
MSC Reputation: 10
Default

Hmm. So it doesn't work for you if you use the latest version unmodified, but if you revert to a commit before 11ec0b3 or comment out the failure code, then it does?

I do remember 11ec0b3 specifically having problems, so double-check to make sure it hasn't been fixed since then. I'll add some more debug info to help pinpoint where it's happening. strerror says that 110 is "Connection timed out" but it sounds like the messages are reaching the keyboard anyway? Maybe it would be better to ignore that error. You could test this by changing
Code:
usb_linux.c:16

    int res = ioctl(kb->handle, USBDEVFS_CONTROL, &transfer);
    if(res <= 0)
        return 0;
    // Rotate queue
    uchar* first = kb->queue[0];
to:
Code:
usb_linux.c:16

    int res = ioctl(kb->handle, USBDEVFS_CONTROL, &transfer);
    if(res == -110)
        res = MSG_SIZE;
    if(res <= 0)
        return 0;
    // Rotate queue
    uchar* first = kb->queue[0];
I'll put up a new version of the daemon tomorrow night with some more debugging info, so check back then and hopefully we can get this sorted out :)
Reply With Quote


  #48  
Old 11-25-2014, 10:44 AM
SpeedFreak01 SpeedFreak01 is offline
Registered User
SpeedFreak01's PC Specs
 
Join Date: Oct 2014
Posts: 17
POST ID # = 743549
SpeedFreak01 Reputation: 10
Default

To confirm, doesn't work on the latest commit cbd0981. unmodified.
Only works consistently on commit b37a519 unmodified.
(https://github.com/ccMSC/ckb/commit/...4fb1911319cbc8)

I tried changing the code as you suggested, but didn't see anything different in the standard output, or in the dmesg logs.
Still get the constant spam as mentioned before in the dmesg logs.

Will wait for another update.
Reply With Quote


  #49  
Old 11-26-2014, 03:20 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 743683
MSC Reputation: 10
Default

Ok, the new daemon code is up. If I'm understanding your problem correctly, you should now see warning messages spammed to the daemon output, but it should work regardless. If it doesn't work then paste the warnings and I'll see if I can make anything of it.

I put up two commits which are identical except for some minor timing differences. If 63ab888 (the newest) doesn't work then check 9c28b21 (the one before it) instead. I notice that 11ec0b3 has some long delays which weren't present in b37a519, so I shortened them in the latest commit. That's the only substantial difference I can find so hopefully one of these fixes it for you.

Edit: Ok, after playing around with it a bit more I put up one more commit, 2ed0e96. It seems like the best solution is just to reset the board repeatedly sometimes. You might want to try out all three commits and let me know which one works best, if at all.

Last edited by MSC; 11-26-2014 at 04:18 AM.
Reply With Quote


  #50  
Old 11-26-2014, 05:11 AM
SpeedFreak01 SpeedFreak01 is offline
Registered User
SpeedFreak01's PC Specs
 
Join Date: Oct 2014
Posts: 17
POST ID # = 743692
SpeedFreak01 Reputation: 10
Default

Testing again, thanks for being patient :)

(To note, i didn't unplug the keyboard before testing the latest revision, was running commit b37a519 at the time)
This time i checked out the latest revision (63ab888), compiled the code, copied the daemon as root to /usr/local/bin. Ran the daemon as root, keyboard connected with no issues.

Code:
ckb Corsair Keyboard RGB driver v0.0.6
Setting FPS to 60
Setting default layout: us
Root controller ready at /dev/input/ckb0
Connecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
Device ready at /dev/input/ckb1
^C
Caught signal 2
Disconnecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
Removed device path /dev/input/ckb1
Removed device path /dev/input/ckb0
I then killed the daemon as you can see above, and unplugged the keyboard.

Gave the keyboard about 30 seconds of being unplugged before re-connecting it.
Ran the daemon again, and this time it failed to connect.

Logs:
Code:
ckb Corsair Keyboard RGB driver v0.0.6
Setting FPS to 60
Setting default layout: us
Root controller ready at /dev/input/ckb0
Connecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
Error: usbdequeue (firmware.c:24): Operation not permitted
Error: usbdequeue (usb.c:71): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
^C
Caught signal 2
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (main.c:25): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (main.c:31): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (usb.c:80): Operation not permitted
Error: usbdequeue (main.c:41): Operation not permitted
Disconnecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
Error: usbdequeue (usb.c:80): Operation not permitted
Removed device path /dev/input/ckb1
Removed device path /dev/input/ckb0
Code:
Nov 26 16:23:31: [79798.615213] usb 8-1: USB disconnect, device number 8
Nov 26 16:23:32: [79798.890762] usb 8-1: new full-speed USB device number 9 using uhci_hcd
Nov 26 16:23:32: [79799.563990] usb 8-1: New USB device found, idVendor=1b1c, idProduct=1b11
Nov 26 16:23:32: [79799.563995] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 26 16:23:32: [79799.563999] usb 8-1: Product: Corsair K95 RGB Gaming Keyboard
Nov 26 16:23:32: [79799.564001] usb 8-1: Manufacturer: Corsair
Nov 26 16:23:32: [79799.564004] usb 8-1: SerialNumber: 0701B03EAE3618E3530D5E92F5001946
Nov 26 16:23:32: [79799.773081] input: Corsair Corsair K95 RGB Gaming Keyboard as /devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0/0003:1B1C:1B11.000E/input/input40
Nov 26 16:23:32: [79799.773385] hid-generic 0003:1B1C:1B11.000E: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K95 RGB Gaming Keyboard] on usb-0000:00:1d.2-1/input0
Nov 26 16:24:07: [79834.735410] usbhid 8-1:1.1: can't add hid device: -110
Nov 26 16:24:07: [79834.735433] usbhid: probe of 8-1:1.1 failed with error -110
Nov 26 16:24:42: [79869.700022] usbhid 8-1:1.2: can't add hid device: -110
Nov 26 16:24:42: [79869.700045] usbhid: probe of 8-1:1.2 failed with error -110
Nov 26 16:25:17: [79904.664643] usbhid 8-1:1.3: can't add hid device: -110
Nov 26 16:25:17: [79904.664665] usbhid: probe of 8-1:1.3 failed with error -110
Nov 26 16:25:17: [79904.743760] usb 8-1: Process 24781 (ckb-daemon) called USBDEVFS_CLEAR_HALT for active endpoint 0x81
Nov 26 16:25:32: [79919.729800] input: ckb1 as /devices/virtual/input/input41
Nov 26 16:25:33: [79920.228872] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 1 ret -110
Nov 26 16:25:33: [79920.379770] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:33: [79920.531604] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:33: [79920.683444] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.743369] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.803368] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.863221] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.923160] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.983159] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.803368] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.863221] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.923160] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79920.983159] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.043036] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.103059] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.162969] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.222910] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.282868] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.342774] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.406673] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.466690] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.526590] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.586537] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.646505] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:34: [79921.706387] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79921.766406] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79921.826350] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79921.886242] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79921.946200] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.010149] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.070008] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.130014] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.189874] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.249904] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.309814] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.369786] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.429767] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.489642] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.549589] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.609527] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.669460] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:35: [79922.729403] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79922.789335] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79922.849367] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79922.909209] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79922.969134] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.029034] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.089047] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.148963] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.208898] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.268837] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.328820] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.388731] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.448660] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:25:36: [79923.508573] usb 8-1: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Checked out 9c28b21, did the same thing. Tried running the daemon without unplugging the keyboard first, still didn't work.
Unplugged the keyboard and tested again, still no luck, same above logs.


Edit: Noticed the latest commit whilst typing / testing all this, checked out cbd0981 and i think we have a winner! :)

Didnt unplug the keyboard after the testing on 9c28b21. Ran the new daemon and instantly the keyboard came back up. Logs incase you're interested..

Code:
ckb Corsair Keyboard RGB driver v0.0.6
Setting FPS to 60
Setting default layout: us
Root controller ready at /dev/input/ckb0
Connecting Corsair K95 RGB Gaming Keyboard (S/N: 0701B03EAE3618E3530D5E92F5001946)
Error: usbdequeue (firmware.c:23): Operation not permitted
Error: usbdequeue (usb.c:71): Operation not permitted
Error: usbdequeue (usb.c:79): Operation not permitted
Error: usbdequeue (profile.c:249): Operation not permitted
Failed to set up device, trying to reset...
Reset success
Device ready at /dev/input/ckb1
Code:
Nov 26 16:57:17: [81821.862265] usbhid 8-2:1.1: can't add hid device: -110
Nov 26 16:57:17: [81821.862282] usbhid: probe of 8-2:1.1 failed with error -110
Nov 26 16:57:17: [81821.862368] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:59:20: [81944.736254] usb 8-2: Process 25301 (ckb-daemon) called USBDEVFS_CLEAR_HALT for active endpoint 0x81
Nov 26 16:59:25: [81949.732865] usb 8-2: Process 25301 (ckb-daemon) called USBDEVFS_CLEAR_HALT for active endpoint 0x82
Nov 26 16:59:30: [81954.727797] usb 8-2: Process 25301 (ckb-daemon) called USBDEVFS_CLEAR_HALT for active endpoint 0x83
Nov 26 16:59:35: [81959.723128] input: ckb1 as /devices/virtual/input/input47
Nov 26 16:59:35: [81960.222299] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 1 ret -110
Nov 26 16:59:35: [81960.273167] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:59:35: [81960.425147] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:59:35: [81960.481008] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:59:35: [81960.636858] usb 8-2: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 33 rq 9 len 64 ret -110
Nov 26 16:59:36: [81960.951975] usb 8-2: reset full-speed USB device number 11 using uhci_hcd
I unplugged the keyboard to try the driver from scratch again and everything worked fine!

So i suspect the issue is resolved for now, just needed some brute force love :P

Many thanks :)
Reply With Quote


  #51  
Old 11-27-2014, 06:49 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 743888
MSC Reputation: 10
Default

Glad it's working :D Shame the device gets locked up so easily. Oh well, at least I got the resets to work a lot faster in the process.

Another thing I think might need doing is periodically sending USB commands to the keyboard even if animations are disabled. One time I was using the keyboard and the input suddenly locked up, but when I turned on an animation the daemon detected that it was frozen and reset the device, causing it to work again. Only did that once, I don't know if you've had anything like that happen. But it's probably a good idea to have the daemon "check in" every now and again even if a lock-up isn't likely.
Reply With Quote


  #52  
Old 11-29-2014, 10:03 PM
hysw hysw is offline
Newbie Programmer
hysw's PC Specs
 
Join Date: Nov 2014
Posts: 3
POST ID # = 744309
hysw Reputation: 10
Default

Thanks for the driver.

Is there any plan for a compositor and/or a software library for effect rendering. Some effects are just easier to do by writing code, and embedded python, lua, scheme or js(integrated in qt) would be very useful.
Reply With Quote


  #53  
Old 11-30-2014, 06:41 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 744341
MSC Reputation: 10
Default

Definitely! I think I mentioned this in an earlier post, but I'm planning to make the animations API-based so that they run as standalone programs, and you'll be able to add custom scripts that work in the same way. So they could be coded in C, Python, BASH, or anything else that a command-line interpreter can run. You'll also be able to select which keys they play on as well as how they're activated, and will be able to layer multiple animations together. I should have the API finished some time in the next week or two.
Reply With Quote


  #54  
Old 11-30-2014, 03:21 PM
Jelnique Jelnique is offline
Registered User
 
Join Date: Oct 2014
Posts: 6
POST ID # = 744392
Jelnique Reputation: 10
Default

Hey MSC you're doing excellent things here sir! Let me be the first in line to buy you a beer.

Now, I'm running 10.9 and am running into a "framework not found AudioToolbox.framework" error when trying to compile. If you don't know what the cause is off the top of your head, then I guess Yosemite isn't too bad...
Reply With Quote


  #55  
Old 12-01-2014, 02:39 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 744485
MSC Reputation: 10
Default

Apple's docs say it goes back to 10.5, so it should still be present. I noticed that I didn't include the .framework extension anywhere else, so maybe that's the problem. Try compiling again with the latest commit and see if that fixes it. If not I'll include an option to disable linking with AudioToolbox (it's not a major feature, it's only used to toggle the light on the Mute button).
Reply With Quote


  #56  
Old 12-01-2014, 04:35 AM
Jelnique Jelnique is offline
Registered User
 
Join Date: Oct 2014
Posts: 6
POST ID # = 744495
Jelnique Reputation: 10
Default

Okay, I just ran the latest commit and got the same error.

I can confirm that the framework does exist within my library- I'm looking at this compile error log and I feel like it might be helpful.

Code:
ckb/moc_rgbwidget.o   -F/Users/zamzx/Documents/QT/5.4/clang_64/lib -framework AudioToolbox.framework -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework OpenGL -framework AGL 
ld: framework not found AudioToolbox.framework
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../../../ckb-master/bin/ckb.app/Contents/MacOS/ckb] Error 1
make: *** [sub-src-ckb-ckb-pro-make_first] Error 2
03:27:19: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project ckb (kit: Desktop Qt %{Qt:Version} clang 64bit)
When executing step "Make"
03:27:19: Elapsed time: 00:00.
Reply With Quote


  #57  
Old 12-01-2014, 05:11 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 744496
MSC Reputation: 10
Default

Looks like it's still trying to link the version with the file extension. Can you open up src/ckb/ckb.pro (or "ckb [master]" > "ckb" > "ckb.pro" from Qt Creator) and confirm that line 17 says "LIBS += -framework AudioToolbox" and NOT "LIBS += -framework AudioToolbox.framework"? You might need to re-invoke "Run qmake" as well, or try deleting the whole ckb directory and extracting it from the zip file again. If that doesn't do it just let me know and I'll fire up a Mavericks VM later to figure out what's going on.
Reply With Quote


  #58  
Old 12-01-2014, 05:42 AM
Jelnique Jelnique is offline
Registered User
 
Join Date: Oct 2014
Posts: 6
POST ID # = 744497
Jelnique Reputation: 10
Default

I checked and it did NOT have the .framework extension, so I took your advice and deleted all of the files from previous versions and builds and started from a freshly unzipped version.

And it worked! This is super awesome! There's nothing cooler than seeing those beautiful rainbow hues come to life.
Reply With Quote


  #59  
Old 12-03-2014, 06:51 AM
MSC's Avatar
MSC MSC is offline
Linux/OSX driver
 
Join Date: Oct 2014
Posts: 246
POST ID # = 744855
MSC Reputation: 10
Default

Glad it worked. I made a note in the documentation to delete the old directory first in case something like this happens again.

I just added the ability to store multiple profiles and to add/remove modes beyond the three stored on the device. Right now it will load the hardware profile first and if you want to create more, you can select the "Edit profiles" option which will allow you to create, rename, duplicate, or delete them. I might rework this UI later, but at least it works for now. I'm planning to get started on the animation API next.
Reply With Quote


  #60  
Old 12-03-2014, 01:37 PM
alexises alexises is offline
Registered User
 
Join Date: Dec 2014
Posts: 2
POST ID # = 744897
alexises Reputation: 10
Default

I love you dude ;)

I had try to solve some issue on linux with this keyboard, Me and another user had wrote on kernel.org

https://bugzilla.kernel.org/show_bug.cgi?id=79251
Reply With Quote


Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:28 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.