DCX vs DCD vs DCL - Drop’s Keycap Profiles Explained
We’ve covered the basics of keycap profiles before—spherical/cylindrical, sculpted/uniform, etc. One thing that has come up more and more over the years as we’ve expanded our portfolio of offerings here at Drop is the distinction between some of our similar profiles. Specifically, what is the actual difference between DCX, DCD, and DCL? Cylindrical Profiles To recap the previous article on the topic, one of the most basic ways to separate various keycap profiles is by shape (cylindrical, spherical, or flat). DCX, DCD, and DCL are all cylindrical profiles. The most famous cylindrical profile is Cherry profile, as defined by the original manufacturer of the keycaps—Cherry. GMK now owns those tools, and as such, only they can technically claim to produce “Cherry” profile keycaps. Similar keycap profiles are often called Cherry profile colloquially, but are in actuality slightly different. For the sake of not splitting hairs, all of the cylindrical profiles discussed here are...
Apr 9, 2024
First, I read through LastContinue's post about how the LEDs are defined and identified in the code, here:
https://www.massdrop.com/talk/9382/how-to-configure-your-ctrl-keyboard/2201429
Then I took his LED Insanity spreadsheet and converted it to the ALT. @LastContinue, on the ALT, IDs with a multiple of 32 are in the lower group, not the higher group like you have in your sheet; and the ring LEDs start in the bottom left, and go counter clockwise (as viewed when typing on the keyboard), unlike the ones in your sheet. You may want to take a look to be sure for the CTRL, but I don't have one, so I could be wrong.
https://docs.google.com/spreadsheets/d/1nCuVrHgMlIkESlVAATQ-3C0BNIWUtVabbh4VUSVJ_z4/edit?usp=sharing
In my sheet, I found it easier to create all the groups on one tab, so I broke it down by 32 LED group and by color. Each column corresponds to the value given to an id group in the code for a color. For example, id2 has blue LEDs, pink LEDs, and "Escape" LEDs. The way I coded the escape is to still be able to cycle through the default layouts (and 2 more I added to led_programs.c), and I set all the ring LEDs to this. Here is what my code looks like in keymap.c.
led_instruction_t led_instructions[] = { //Blue keys { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 2415861758, .id1 = 2306860031, .id2 = 7, .r = 0, .g = 166, .b = 180 }, //Pink keys { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id0 = 1879105537, .id1 = 4135590912, .r = 211, .g = 123, .b = 162 }, //Test keys //{ .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_RGB, .id2 = 4294967288, .id3 = 511, .r = 255, .g = 255, .b = 255 }, //escape { .flags = LED_FLAG_MATCH_ID | LED_FLAG_USE_ROTATE_PATTERN, .id2 = 4294967288, .id3 = 511,}, { .end = 1 } };
The result is an LED layout for the keys that perfectly matches DSA Miami Dolch, and for the ring, allows me to cycle through the loaded options, where I also added a rolling Miami option. Again, I could not have done this without the help of LastContinue and ButteredToast, so great thanks to both of you.