Closed tyalie closed 3 years ago
Suggestions are welcome
Probably need layer state sync too, in order to deal with lighting layers? (Is that RGBLIGHT-only?)
I haven't really looked into the matter on the RGB Matrix side, but I'm not even sure RGB Matrix has something like that without some hacks. At least the rgb_matrix.h
doesn't mention anything to my knowledge
Probably what #717 was for.
Probably need layer state sync too, in order to deal with lighting layers? (Is that RGBLIGHT-only?)
Yes, lighting layers are currently implemented only in the rgblight code, not in rgbmatrix; and the state of rgblight layers is already synced, so they technically should not need anything more.
Actually there might be some conflicts if we attempt to sync the layer state to the slave side (which would presumably call layer_state_set_user()
to update various kinds of indicators) and at the same time send the rgblight layer state there directly.
The RGB Matrix code, on the other hand, has rgb_matrix_indicators_user()
, which works in a completely different way (it can pull information for various places to update the LED state), and it would need layer state sync if the user wants some LEDs to show the layer state.
Hmh. I haven't thought about that. But rgb_matrix_indicator_user()
could be very ugly to implement. I'll add it to the list.
This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs.
For maintainers: Please label with bug
, in progress
, on hold
, discussion
or to do
to prevent the issue from being re-flagged.
Removing the "in progress" tag, so that this can be closed.
develop
(as of May 25th) has everything in place for this to work, now. And in a week, the code will hit master
. (as well as the removal of the "legacy" corne revision)
This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs.
For maintainers: Please label with bug
, in progress
, on hold
, discussion
or to do
to prevent the issue from being re-flagged.
As of now split keyboards don't support rgb_matrix out of the box. The nature of the problem lies in the asynchron internal timers of both halves, the disabled keypress evaluation on the slave side, ...
Making it work seamlessly is the goal of the current repo, but there're a few problems to solve first.
Feature Request Type
Description
As mentioned before rgb matrix doesn't work together with split keyboards. There're some forks (#5998 and an iteration on that: #9613) that seem promising, but aren't perfect either. Major problems that need to be fixed first are:
[ ] how are rgb matrix information transferred
[ ] synchronization between master and slave timer (see #9665)
[ ] how is it guaranteed that both slave and master are in the same state
[ ] reactive rgb matrix effects on slave side
RESET
, change of rgb matrix states and async behaviour accordingly, ...keymaps
with onlyKC_NO
(or all access to it returnsKC_NO
). This approach was taken in #9613. But this has the side effect, that the slave still has no idea what layer the keyboard is currently on. A component that could be implemented easily, depending on the approach taken[ ] processing
rgb_matrix_indicator_user()
rgb_matrix_indicator_user()
that is run each cycle and cull pull information to set the color of single keys from arbitrary places a simple indicator, which layer is used might not be enough.