diff options
author | XScorpion2 <rcalt2vt@gmail.com> | 2021-02-15 18:30:33 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-16 11:30:33 +1100 |
commit | d1806a26e4ad75fa0e0405283803eba22c1a49ba (patch) | |
tree | 25bf2750e9770781cff373114bd44736463a91f1 /quantum/rgb_matrix.c | |
parent | 1bc8a6e5d49861b268f9274a8686a2640e36e0b5 (diff) | |
download | qmk_firmware-d1806a26e4ad75fa0e0405283803eba22c1a49ba.tar.gz qmk_firmware-d1806a26e4ad75fa0e0405283803eba22c1a49ba.zip |
Split transport mirror (#11046)
* Split transport mirror support
* Updated RGB Matrix to respond to electrical events instead of key events
* split matrix slave fix
Diffstat (limited to 'quantum/rgb_matrix.c')
-rw-r--r-- | quantum/rgb_matrix.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c index a945df68e..ec17b4d72 100644 --- a/quantum/rgb_matrix.c +++ b/quantum/rgb_matrix.c | |||
@@ -184,11 +184,12 @@ void rgb_matrix_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { | |||
184 | 184 | ||
185 | void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { rgb_matrix_driver.set_color_all(red, green, blue); } | 185 | void rgb_matrix_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { rgb_matrix_driver.set_color_all(red, green, blue); } |
186 | 186 | ||
187 | bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record) { | 187 | void process_rgb_matrix(uint8_t row, uint8_t col, bool pressed) { |
188 | #ifndef RGB_MATRIX_SPLIT | ||
189 | if (!is_keyboard_master()) return; | ||
190 | #endif | ||
188 | #if RGB_DISABLE_TIMEOUT > 0 | 191 | #if RGB_DISABLE_TIMEOUT > 0 |
189 | if (record->event.pressed) { | 192 | rgb_anykey_timer = 0; |
190 | rgb_anykey_timer = 0; | ||
191 | } | ||
192 | #endif // RGB_DISABLE_TIMEOUT > 0 | 193 | #endif // RGB_DISABLE_TIMEOUT > 0 |
193 | 194 | ||
194 | #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED | 195 | #ifdef RGB_MATRIX_KEYREACTIVE_ENABLED |
@@ -196,12 +197,12 @@ bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record) { | |||
196 | uint8_t led_count = 0; | 197 | uint8_t led_count = 0; |
197 | 198 | ||
198 | # if defined(RGB_MATRIX_KEYRELEASES) | 199 | # if defined(RGB_MATRIX_KEYRELEASES) |
199 | if (!record->event.pressed) | 200 | if (!pressed) |
200 | # elif defined(RGB_MATRIX_KEYPRESSES) | 201 | # elif defined(RGB_MATRIX_KEYPRESSES) |
201 | if (record->event.pressed) | 202 | if (pressed) |
202 | # endif // defined(RGB_MATRIX_KEYRELEASES) | 203 | # endif // defined(RGB_MATRIX_KEYRELEASES) |
203 | { | 204 | { |
204 | led_count = rgb_matrix_map_row_column_to_led(record->event.key.row, record->event.key.col, led); | 205 | led_count = rgb_matrix_map_row_column_to_led(row, col, led); |
205 | } | 206 | } |
206 | 207 | ||
207 | if (last_hit_buffer.count + led_count > LED_HITS_TO_REMEMBER) { | 208 | if (last_hit_buffer.count + led_count > LED_HITS_TO_REMEMBER) { |
@@ -224,11 +225,9 @@ bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record) { | |||
224 | 225 | ||
225 | #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP) | 226 | #if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP) |
226 | if (rgb_matrix_config.mode == RGB_MATRIX_TYPING_HEATMAP) { | 227 | if (rgb_matrix_config.mode == RGB_MATRIX_TYPING_HEATMAP) { |
227 | process_rgb_matrix_typing_heatmap(record); | 228 | process_rgb_matrix_typing_heatmap(row, col); |
228 | } | 229 | } |
229 | #endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP) | 230 | #endif // defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) && !defined(DISABLE_RGB_MATRIX_TYPING_HEATMAP) |
230 | |||
231 | return true; | ||
232 | } | 231 | } |
233 | 232 | ||
234 | void rgb_matrix_test(void) { | 233 | void rgb_matrix_test(void) { |