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) { |
