Jump to content
Corsair Community

Corsair Keyboards - Seriously deficient software is disappointing


Recommended Posts

I don't know about you, but when I spend almost $200 on a keyboard, I expect a first class product. Both the hardware and software need to meet a high bar. I purchased the K70 RGB PRO with the Cherry MX Brown switches.

I was excited about this keyboard because of the onboard memory and the advertised capability to store macros directly to the keyboard. When gaming, I want the ability to program keep-alive type actions which would be undetectable by “anti-cheat” checkers. Specifically, I don't want software running on the computer. If this is your use case, you might want to look elsewhere.

After a day of frustration, here is my (incomplete) list of deficiencies for iCUE 4 and the K70 RGB PRO. For reference, I'm using iCUE 4.26.110 and keyboard firmware 1.2.18 (both current as of 8/12/2022).

  1. Initial confusion using “Lighting Effects” and “Hardware Lighting”. One would expect that you would configure lighting profiles within the app and then copy these into the hardware. But that's not how it actually works. There are 2 different and mutually exclusive sections to configure. “Lighting Effects” controls the keyboard lights while the iCUE application is running. “Hardware Lighting” is a completely separate configuration which controls the keyboard lights when you completely quit from the iCUE software (and exit the dock icon). You can't copy configurations between these sections. There is a “Lighting Library” that indicates that it's “for sharing Lighting across profiles and devices” - but you can't share between the hardware and software profiles! So once you set up your “Lighting Effects” (software) then you need to completely recreate the same thing in “Hardware Lighting”. If you look at various postings, you'll find that many people are confused about this. Example: configure something in “Lighting Effects” - then use Device Settings to copy the profile to the onboard memory. When you quit out of iCUE - the keyboard goes dark. Why? Because you didn't configure “Hardware Lighting”.

  2. The same (odd) technique is used for key assignments. There is a section “Key Assignments” - this is only meaningful while the iCUE software is running. There is a separate section “Hardware Key Assignments” which is only meaningful when the iCUE software is NOT running. You can't copy between the sections. So, when trying to program a hardware macro, you need to program in iCUE (in the “Hardware Key Assignments” section). You need to use Device Settings to copy the profile to onboard memory. Then you need to completely quit iCUE in order to test your macro. You'll need to re-open iCUE to edit the macros.

  3. Programmable delays. We want to build a keep-alive macro. Every 5 minutes, hit the spacebar. Delays are programmed in milli-seconds. So 5 minutes = 300,000ms. But the text input in iCUE only supports a 5 digit number. So, your maximum delay is 99,999ms. That's annoying, but we can always create 5 delays of 60,000ms each.

  4. Random delays. I was very excited that the keyboard supported random delays. A macro that activates every 5 minutes exactly is too obvious. I'd like to wait a random time between 3 and 6 minutes. Unfortunately, the random delay is also in milli-seconds and also limited to 5 digits. It is impossible to create a random delay of 0-3 minutes. Mathematically, stacking 3 delays of 0-60,000ms is not the same as a single delay of 0-180,000ms.

  5. Repeating macros. A keep-alive macro must repeat. iCUE provides “toggle” macros. With a toggle macro, you hit the key once to start the macro and hit it again to stop. Perfect, right? Unfortunately no. A “toggle” macro does not imply repeat. You hit the key to start the macro and you can hit it a second time to stop it before the end. Once it hits the end, it stops regardless. I was trying to define a HARDWARE macro for keep alive. After fighting with this for some time and coming to the conclusion it was broken, I tried to define the same macro in the SOFTWARE key assignments section. There is an option in the SOFTWARE section to repeat continuously. This feature is not available for hardware macros - hardware macros can't repeat. If you're thinking you can cut/paste, to repeat, software macros can be quite large - but hardware macros are limited to 256 steps. The K70 RGB PRO boasts 8MB of onboard memory - but it's divided such that you can't create a single macro with more than 256 steps.

  6. Lighting and Macros. The keyboard has lots of fancy lighting. It is pretty nice to be able to light only the keys used by a specific game, allowing the rest of the keyboard to go dark. But what would REALLY be useful? How about lighting/flashing a key while there is a toggle macro active? But that's not an option. The best you can do is change the lighting when the key is pressed and pressed again - but remember, the macro can be shut off by another macro (or might simply end without repeating). So you can't be sure that the macro and lighting are sync'd together at the keypress. It's all too easy to get to a point where activating the macro shuts off the lighting and vice-versa. There is absolutely no visual indication that a macro is running - and no mechanism though lighting to create such an indication.

  7. Macro Editing in iCUE. The macro editing window in iCUE shows 7 steps. It's not resizeable. You can't scroll using cursor keys. You scroll with the mouse wheel or by dragging the small/imprecise scroll bar. The mouse wheel scrolls a maximum of 10 clicks/steps of the scroll wheel. So if your macro is 1000 lines, 1 click of the scroll wheel is 100 lines (with only a 7 line window). Given that a single key press is 3 lines (key down, delay, key up) - this is nearly unusable. There's no ability to cut/paste the macro sequence into an external editor. There's not even the ability to cut/paste a command between 2 hardware macros; you can only cut/paste within a single macro.

  8. You can't run multiple macros at the same time. Let's say you define 2 toggle macros. Macro 1 hits the “1” key every second. Macro 2 hits the “2” key every 2 seconds. It would be nice to independently toggle these macros. However, once you start macro 2, it silently terminates macro 1. In this post https://forum.corsair.com/forums/topic/130429-macros-simultaneously-working-possible/?do=findComment&comment=788802 a Corsair employee describes this as “an OS limitation”. Really? Corsair either owns the keyboard OS, or simply isn't using it properly. Doing multiple things in a single-threaded process is a problem that's been solved many times. And I'm being kind, assuming that he was talking about hardware macros and the keyboard OS. There really is no excuse for this limitation on the Windows-side using software macros.

These last 3, I'd classify as would-be-nice.

  1. Subroutines. There aren't any subroutines. If you want to wait 15 minutes, you have to code 15 delay statements. I thought - “Hey, I can bind that to another key and invoke it!” - but no, that doesn't work. Assign a delay macro to F1. Create another macro on F2 that hits the F1 key - it doesn't run the delay macro, it actually hits “F1”, ignoring the macro.

  2. Comments. There aren't any comments. A macro with a few dozen steps is pretty hard to read. It would helpful to have the ability to add comments/annotations to the sequence of keystrokes. The sequences are especially hard to read because keydown-delay-keyup is represented by 3 steps. Of course 3 separate steps are required if multiple keys are involved, but for a single key, this could be represented as a single command (even if it gets executed as 3 distinct steps). Another reason for comments is the 7-line editing window. It's very difficult to know where you are when editing a large macro.

  3. Random conditionals. It's hard to call it “programming” without conditionals. But I guess we've already established that (in hardware mode) we don't even have the ability to repeat. A “stretch feature” would allow the ability to include random options. Example: 20% of the time, execute sequence A. 80% of the time execute sequence B. I honestly wasn't expecting this, but I'll toss it in as a “would be nice”.


Summary. If you're looking for a keyboard with a solid build, nice keys, and impressive lighting, Corsair keyboards will fit the bill. However, if your primary motivation is for macro programming, especially hardware macros, then I'd suggest you look elsewhere.  I haven't decided if I'll return it yet, but it clearly hasn't met my expectations.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 months later...

I needed ONE more second for my macro.... So annoying. I also wanted it random which is cool but if I make it two 50,000 and random then it is bound to mess up a lot. Why wouldn't they have macros go to one more digit esp since it's in ms not even seconds. Can they please patch an update to make it seconds or ms with a drop-down.... Then this keyboard will be the hands down best. 

Edited by hedgehodge
Link to comment
Share on other sites

  • 4 weeks later...

I would like to pile on, respectfully if I may, with some appreciation of what you are trying to achieve and some constructive criticism...

I just got the K70 RGB Pro for Christmas after reading many great reviews.  I am just beginning to use/enjoy/type-on it.  Very nice build quality from what I can tell, and happy with the Cherry MX Browns with RGB. 

After spending a few days with it, I also have the exact same comments and frustrations that the OP laid out well with respect to this high-end keyboard -- nicely built, but with disappointing software and firmware (present issues with the reported phantom macro functions on the K100, etc., notwithstanding). 

I won't repeat any of the OP's comments, but to say that they are categorically spot on...the iCUE software is too bloated and disjoint, while not offering enough programmability and flexibility, missing some fairly obvious functionality, in a keyboard with a powerful processor and 8MB of storage -- a lot of potential -- and high-expectations!  I am resisting returning it, and I hope that you can rapidly improve these obvious issues.  Please protect and live up to your legacy.  (High-end users are more sophisticated [and discerning and demanding, sorry] than perhaps you thought this software/firmware was targeted/designed.)

1. It took quite a while just to noodle through it to figure out the meaning of each of the configuration options and settings -- no well-written user/config/programming manual to be found, and the videos are sorely lacking in any useful detail,  hopefully not meant as a substitute for a well-written manual.  Your customers/users are left to stumble through a fairly idiosyncratic programming interface.  Again, lots of potential, but it is not there, yet.

2. Strange to have to first select a particular profile then go to a completely different dialog to update/upload each "hardware" profile individually to the keyboard.  Why can't it be done right from the profile itself?  The differences between a regular profile and a hardware profile are tenuous.  No way to incrementally undo things easily while creating a profile, no way to revert.  Too easy to delete a custom key-set by accidentally clicking on the X while trying to simply select it.  We should also be able to delete and/or redefine the pre-configured key-sets.

3. Why does the keyboard not have a simple way of turning off all of the LEDs after a preset timeout after the last key press?  I don't put my machine to sleep at night, but my screens timeout and blank, go to low-power unobtrusive mode -- so should the keyboard -- automatically, if so desired.  I tried to create an everyday simple productivity keyboard RGB profile for myself.  I thought it would be nice to have all the "letter keys" be one color, the enter, esc, and backspace keys be another color, the numpad another color, the shift, alt, and win keys another color, and the function keys another color, arrows and edit keys another color, etc.  Simple, kind of neat.  ...and I want the whole keyboard to light up statically, each key with its assigned color, whenever I press ANY single key on the keyboard (i.e., all keys light up, like any backlit keyboard should), then after a 5 minute timeout of no further key-presses, all the LEDs should turn off (actually fade to black).  Astoundingly, I found no easy way to do this!  I found that I could have it be static and on all the time with the multiple desired static colors, or I could only just pick a single color for all keys and have them timeout and fade.  Currently, unless I haven't correctly figured out all the primitive options and configurations, the only thing that I was able to do was select a gradient with a single color for all keys and a timeout that fades to black after only 60 secs (max of only 100 secs, not minutes).  No way to accomplish this with "layers" that I could figure out, even with some complicated profiles.  Can you please add further functionality to at least blank the keyboard after a preset time from the last key-press, no matter the profile?

4. Why can the FN key not be properly remapped?  For those of us who do not need a FN key very often, let alone one that takes the useful place of the right WIN key, it would be natural to expect that we could use the FN key exactly like the missing right-WIN key,  as an option (or the other way around).  Why is FN 0-9 even used to select built-in keyboard lighting effects?  Why did you not instead implement holding down the (top-left) PROFILE key while selecting a number or function key -- this would seem to be the more obvious and most natural way of doing this?   I would also like to be able to repurpose the LOCK button.  (Even the dimmer button, although I like having the dimming functionality.)

5. In the best possible world, give us a well-conceived macro/scripting language that runs on the keyboard.  (You can still provide a rudimentary profile construction interface that generates a script for the impatient or unsophisticated, but for the rest of us who can script and want the most out of this keyboard...)

6. I really like the ability to load, select, and run multiple profiles in hardware on the keyboard, as I very much prefer not to install or run the iCUE software services.  I bought this keyboard for its purported programmability and its ability, once configured/programmed, to stand alone without need for the iCUE software.   I appreciate this capability, and I am looking forward to more fully realizing that promise...

Thank you for your attention to these important details....

Best regards and happy holidays,



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...