keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
497 stars 64 forks source link

Assigned colors wrong on Layer 1 #1208

Closed danielcranford closed 1 year ago

danielcranford commented 1 year ago

Describe the bug The LED colors assigned to many keys on layer 1 are not respected and RED is used instead

To Reproduce I created a keymap with 7 layers and assigned a different color to all the keys in each layer. When I activate layer 1 , most of the keys that have been assigned a color turn on as RED instead of the assigned color. The correct keys light up, and change when I update which keys have a non-default color. This problem only occurs for the keys in layer 1 (the second layer). All the other layers respect their assigned colors. Some keys on layer 1 display their assigned color, but most turn on as RED.

Expected behavior Keys assigned a color should display the assigned color.

Desktop (please complete the following information):

algernon commented 1 year ago

This has been a long-standing issue (#430). This whole thing is caused by the NumPad plugin on the firmware side, which - due to a whole lot of historical baggage - is surprisingly hard to get rid of.

As a quick workaround, you can copy layer 1 to a higher layer, and adjust the NumLock key on Layer 0 to go to the copy instead. The NumPad plugin only overrides colors on layer 1, so having it elsewhere works around the problem.

danielcranford commented 1 year ago

Further inspection seems to indicate there an interaction between the key code for a key on layer 1 and the assigned mapping. If the key is transparent, the assigned color is respected. If the key is assigned a key+modifier, the color is respected. If the key is assigned a regular key, the assigned color is ignored and RED is used instead.

danielcranford commented 1 year ago

@algernon ahh, I missed seeing your comment. That makes sense. Good thing I have one spare layer left!

algernon commented 1 year ago

(Closing this as a duplicate)