-
-
Notifications
You must be signed in to change notification settings - Fork 40.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Indicator LED issues with md_rgb_matrix.c #12097
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As user keymaps would need to be updated, this should really target develop in its current form.
@zvecr why would user keymaps need to be updated? |
Changing to target develop, as advised. |
Curious, is the video from this post (eg with the flickering/stuck caps lock key) the buggy behavior you're seeing that this PR now fixes? If so, that would be great. I shared a video in that Reddit thread with a keymap-level-fix that I was able to make, but would love to replace that with a real fix if possible. Oh, does this fix apply to CTRL/ALT keyboards using the newer QMK RGB patterns or is this for the older stock RGB code that comes with the Drop keyboards? |
@ewersp it might be related, but the issue I was trying to fix was the indicator not following pattern behavior properly. i.e. I had code that inverted the indicator color relative to the underlying pattern, but the inversion was happening multiple times per cycle, since RGB_MATRIX_LED_PROCESS_LIMIT causes the matrix code to operate on smaller blocks. On the CTRL there's 119 LEDs, processed 15 at a time. Scroll lock is in the first block, so it was getting inverted 8 times (i.e. no change), while caps lock is in the 4th block, so it was getting inverted 5 times (thus working as expected). I suppose this might fix flickering, depending on how your inversion code is configured. This is for a via-enabled keymap I made for the CTRL. Not sure how it would deal with the stock firmware, since I believe that's generated on a legacy branch of QMK |
Ah interesting, I may have noticed the behavior you're describing as well. After a little more digging, I believe the specific issue I was seeing has since been fixed in this PR #10818 |
Thank you for your contribution! |
@drashna is there any action needed on my part here? |
@zvecr look good? |
Description
The indicator LED code in
md_rgb_matrix.c
wasn't built to handle the iterative behavior associated with RGB_MATRIX_LED_PROCESS_LIMIT, causing indicator LED behavior to be buggy (scroll lock broken on Drop CTRL, for example). Modernized the code to usergb_matrix_indicators_advanced
instead.Types of Changes
Issues Fixed or Closed by This PR
Checklist