Crkbd implementing return value for matrix_scan() #10422
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The OLED screen on the keyboard never turns off with the timeout as it supposed to.
With debugging output, it appears
keyboard_task()
in tmk_core/common/keyboard.c is constantly callingoled_on()
. This only happens whenOLED_DRIVER_ENABLE
is defined andOLED_DISABLE_TIMEOUT
is not defined.It appears that the return value of
matrix_scam()
is interpreted as a boolean of whether there are updates. And the custom implementation of that function in crkbd returns a constant 1.Thus I imitate the way quantum/matrix.c implement this return value and applied it to the crkbd implementation.
Despite a required change of the return type for
matrix_slave_scan()
fromvoid
touint8_t
, this function is never meant to and never does be called anywhere else. This change should not affect anything else.Types of Changes
Issues Fixed or Closed by This PR
Checklist