sorry if it’s not the right place nor the time, to ask for this feature.
How hard would it be to have functional backlighting colors based on the active keymap or connection.
Basically, I’d like to have a different scancode colour for every keymap or connection, so I don’t need to read the UHK display to find out which one is active.
It sometimes happen that I may have switched keymap or connection inadvertently, it may take a while for me to realise as some keymaps are very similar and I get confused.
A different scancode colour per keymap or connection would be immediately noticeable.
I don’t think you can change colors per-connection, but you can get similar results per-keymap by using per-key backlighting. You’d have to manually change the colors for each function on every key though. It would take forever, but it’s at least partially possible.
If you don’t mind loosing functional colors, then this is easy to achieve with macro events and constant rgb backlight mode (which means that the entire keyboard is set to one color).
Functional colors can’t be set from macros at the moment, but if we added commands for it then it would be easy too.
If I understand OP correctly, they also want to change colors when switching host connections. Is $onSwitchHostChange (or whatever) something that can be added to the list of macro events as well? Or is it already possible, and I just don’t know what I’m talking about?
So, if you only need a temporary visual warning that you’ve switched host connections and keymaps, you can just dedicate a key for the set backlight.strategy perKeyRgb or set backlight.strategy functional macros. Then you can revert the color scheme, so you’re not stuck with the whole board being one color forever.
Here’s a couple of ways I’ve tested that will get something close to what you asked:
1. The long, tedious way (simulated functional backlighting with custom scancode colors):
•Set Agent’s LED settings > Backlight mode to “Per-key backlighting”, and manually set the colors for each keymap/layer to mimic functional backlighting, but with customized colors for the scancode keys.
•Then add set backlight.constantRgb.rgb 255 0 0 to the end of your switchHost macros.
-(This will change the entire board to be red when you switch the host. 255 0 0 is RGB “red”, change that part for the desired color)
•Dedicate a key on each keymap with the set backlight.strategy perKeyRgb macro.
-(Trigger that macro to resume the per-key color scheme you created in the first step.)
2. The quicker, easy way (default functional backlighting with visual color warning):
•Set Agent’s LED settings > Backlight mode to “Functional backlighting”.
•Create a macro called $onKeymapChange any with the command: set backlight.constantRgb.rgb 255 0 0.
-(That will change the whole keyboard red when changing a keymap.)
•Then add set backlight.constantRgb.rgb 255 0 0 to the end of your switchHost macros.
-(This will change the entire board to be red when you switch the host connection.)
•Dedicate a key on each keymap with the set backlight.strategy functional macro.
-(Trigger that macro to resume the default functional color scheme.)