Showing 1 of 1659 conversations about:
View Full Discussion
Hey ya'll does anyone know how to add an led color option to this keyboard? Iv'e played around with massdrops keyboard configurator but I can't figure out how to just add a custom color that can be switched to. Thanks.
Same here. I believe this is something the configurator cannot provide (yet?) and I'm looking into the process of editing led_programs.c from a local copy of Massdrop's CTRL QMK code and rolling my own firmware. If you decide to go down this path, I highly recommend you download a copy of the unaltered firmware from Massdrop's configurator for your keyboard so you can re-flash the CTRL if anything goes awry. Proceed at your own risk.
If you're still reading, here are a few resources that are helping me tremendously in my pursuit of custom firmware creation success:
1) How to Configure your CTRL Keyboard!https://www.massdrop.com/talk/9382/how-to-configure-your-ctrl-keyboard
This is the link to Massdrop's instructions on configuring the CTRL which includes info on mdloader (the program you'll need to upload any firmware into your keyboard). You probably already have this, but having a link here doesn't hurt.
Become familiar and comfortable using mdloader with firmware exported from Massdrop's configurator. Once you've done that, you'll need to become familiar with some C code. Good news: There are resources to help out and (if you're familiar with code) it's not horribly complicated.
2) FAQ Lightshttps://github.com/LastContinue/ctrl-info/wiki/FAQ-Lights
This guide from @LastContinue walks through some of the changes that are (fairly) easily possible. I'm a learn-by-examples kind of guy and this helped me understand what is going on in Massdrop's QMK code.
3) Massdrop's CTRL led_programs.c filehttps://github.com/qmk/qmk_firmware/blob/master/keyboards/massdrop/ctrl/led_programs.c
This is just a direct link to the led_programs.c file from Massdrop's CTRL code fork at Github which is mentioned in the FAQ Lights link above. If you want to review more of the Github repository, check out the path toward the top of the page to navigate backwards to the rest of the available code. I'm finding the qmk_firmware and ctrl links especially useful.
Now that you're more familiar with the actual C code underlying compiled QMK firmware, you'll need to start getting everything installed and ready for compiling your own code.
4) Alternative Compile QMK Quick Start Guidehttps://github.com/LastContinue/ctrl-info/wiki/Alternative-Compile-QMK-Quick-Start-Guide
This guide (also from @LastContinue) collects a lot of info on how to compile firmware for the CTRL. FWIW: I'm still learning and preparing my laptop to compile QMK firmware, but I'm optimistic I'll be able to introduce custom selectable color options soon.
Note: If anyone with more experience is reading this and sees egregious errors in my notes or wants to provide helpful updates, I'm all ears!
Of course, given everything involved, this may be much more than you're willing or interested in doing. I really hope this becomes much easier when Massdrop updates their configurator in the future. I may also be wrong and there is some way to do what we want to achieve with the configurator. I would be happy to be corrected, but I don't think that's the case.
Success! I was able to create a new firmware that added two backlit options: Purple and Black with a moving purple stripe. I also changed the default profile to Purple so I can easily tell which config I have loaded.
Hey when I build a firmware using msys2 it gives me a bin file, and the led_programs.c file is in the ctrl folder in qmk, not in the specific layout folder. So how do you get the led data in the bin file that you get when building the firmware? Edit: okay when compiling my custom layout in msys2 it said compiling led_programs.c so i guess it just uses whichever led programs file is there when you compile a firmware? Edit: when I use qmk toolbox to try and flash the firmware, it just closes the program. I googled it though and apparently the CTRL uses an atsamd51 microcontroller which isn't supported by qmk toolbox. I am very confused. I have a hex file, because I now know how to make them with msys2, but I have no idea how to flash it to my keyboard now.
Some other commenters wrote that disconnecting power will cause you to lose all customizations. Is this the case, really?
I'm not sure I totally understand what you've done, @MalikEid, so I'm not 100% certain how to help. I've followed the instructions I outlined above which use Docker to create new firmware. If you're doing the same, the resulting .bin file will appear in the root directory of the QMK code you specified when running Docker. That file will utilize the keyboard layout you specified, so all you need to do then is upload the resulting .bin file (a.k.a your new firmware) into your keyboard. I then used mdloader to upload the firmware using the instructions mentioned in step three of Massdrop's How to Configure your CTRL Keyboard! (linked in my first step above). Hopefully this helps.
No. This is definitely not true. As long as you've successfully uploaded your firmware to the CTRL, unplugging it from your computer will not lose all your customizations. They are stored in the CTRL and stay in the keyboard even when it loses power from your computer.
Thanks for confirming. That would indeed be very strange behavior.
I found a different tutorial online for compiling qmk firmware files using MSYS2, and I think I got it down. I was actually doing everything correctly I just accidentally lowered the red value instead of the blue value so I wasn't getting the color I wanted CX I changed the white color preset to the color I wanted, but I couldn't figure out how to add new colors to the list of presets. I tried just copying and pasting the white preset below it and changing the name where it says leds_white to a different name , but it just didn't show up in the rotation after flashing. heres how i'm compiling the firmware with msys2 btw https://www.youtube.com/watch?v=u1lweFStx1U&list=PLAiem_jjh1Lb8-Hdpgbq3SzTCGThFb6pU&index=4
Thanks for sharing this! I've just ordered my CNTRL today after getting tired of waiting for my ducky one 2 mini. But was wondering do I need to update the firmware for this keyboard right after receiving it? Also, all the reviews and videos I've seen for the CNTRL keyboard say that once it's unplugged from your PC that you have to reconfigure any custom LED configurations. Is there any way to get the ripple effect on here? For example when you press a key the surrounding area lights up and then slowly fades out. A common led configuration on most RGB keyboards.
You posed three questions to answer here. I'll paraphrase them below and provide my best answers:
1) Do you need to update the firmware before using the CTRL?
No. It's ready to use right out of the box.
2) Will the CTRL lose custom LED configurations when it's unplugged from your PC?
No. I'm not sure where this persistent rumor came from, but I can say from personal experience that none of the customizations I've successfully uploaded to my CTRL have ever been lost when unplugging it from my computer. I just tested it again now to be sure and it worked as I predicted: nothing was lost.
NOTE: Please be careful when uploading new firmware to your CTRL that you allow the process the complete before unplugging your keyboard in order to avoid data loss or damage due to an unexpected interruption of the upload process. It only takes a few seconds, so this shouldn't be a problem, but it's always best to be safe.
3) Can the CTRL have a keypress-reactive effect like a ripple?
Yes. It will require more customization than I can produce at this point, but others have been able to make it happen and are continuing to work on this. If you check the FAQ Lights link I provided above, there are links to other people's work in this area. Here is a link to a video of one of those people's results:
https://www.youtube.com/watch?v=W3U1SDztx1INOTE: Since I'm not familiar with the underlying code changes required to make this kind of effect happen on the CTRL, I can't say for sure whether the code is safe. Remember that it's a personal choice whether to upload someone else's code into your keyboard. Proceed at your own risk. Or, better yet, learn how to do it yourself and teach us what you did. :)
Hope this helps.
Thank you kind sir for your reply. And all of your help! I didn't mean to continue a negative rumor, I've just been looking at this keyboard for the past few months and then I happened to see the big YouTuber that does very in depth unboxing and reviews on many tech items post a review of the CNTRL and he also included that rumor that when you unplug it that it wont save LED configs. Thanks for clearing that up for me. And one last question for ya if I may ask. Once I receive mine and start playing around with different custom LED configs, does that mean I will need to update the firmware with the changes I made for my personal LED settings or is it just a simple "save and apply new settings" via the QMK code? And I will def share my code, if I happen to create a magnificent ripple effect as well as any other accidentall discoveries 😂 👊
It's cool that you asked about verifying a rumor. I just was confused why it is so persistent. I hope the guy who originally posted that video was able to get his keyboard fixed.
When you make custom LED settings, whether you use Massdrop's Keyboard Configurator or you write/modify your own code and compile firmware outside the Configurator, the result will be new firmware (i.e. a .bin file) that needs to be uploaded into the CTRL. I'd recommend you get familiar with the instructions Massdrop has provided on their How to Configure your CTRL Keyboard! page. From there, you can learn quite a lot about how the keyboard works.
I preciate it. Yeah I haven't received mine yet, I guess I was just trying to get some info about it for when I receive it so I don't permanently mess something up. But I have a background in programming and IT so I should be able to get things going. Thanks again for the links and answers to my specific questions. This will be my first "official" mechanical keyboard, besides an old razer I've been using. But they aren't quite as customizable and such as these since they have a GUI that a small child could use with ease. Hope to receive mine soon!
Thanks for this post! Now I can try and modify my LEDs too!