Search the Community
Showing results for tags 'hardware macros'.
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). 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”. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.