diff options
| author | Drashna Jaelre <drashna@live.com> | 2019-05-13 14:48:53 -0700 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2019-05-17 15:02:19 -0700 |
| commit | 6689f900fc0ed9022706af7605d40225a3348f63 (patch) | |
| tree | 2cd43786afb5540a0db850db4ba5e3336fa6e217 | |
| parent | f520316124fb789af0981fd6e5381f090c300acb (diff) | |
| download | qmk_firmware-6689f900fc0ed9022706af7605d40225a3348f63.tar.gz qmk_firmware-6689f900fc0ed9022706af7605d40225a3348f63.zip | |
Consolidate RGB Matrix layer indication function
And changes to iris
| -rw-r--r-- | keyboards/crkbd/keymaps/drashna/keymap.c | 54 | ||||
| -rw-r--r-- | keyboards/keebio/iris/keymaps/drashna/keymap.c | 2 | ||||
| -rw-r--r-- | layouts/community/ergodox/drashna/keymap.c | 37 | ||||
| -rw-r--r-- | layouts/community/ortho_4x12/drashna/keymap.c | 30 | ||||
| -rw-r--r-- | users/drashna/rgb_stuff.c | 11 | ||||
| -rw-r--r-- | users/drashna/rgb_stuff.h | 2 |
6 files changed, 92 insertions, 44 deletions
diff --git a/keyboards/crkbd/keymaps/drashna/keymap.c b/keyboards/crkbd/keymaps/drashna/keymap.c index 3eea7af9f..75b62cad8 100644 --- a/keyboards/crkbd/keymaps/drashna/keymap.c +++ b/keyboards/crkbd/keymaps/drashna/keymap.c | |||
| @@ -22,7 +22,7 @@ enum crkbd_keycodes { | |||
| 22 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ | 22 | KC_ESC, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_MINS, \ |
| 23 | KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \ | 23 | KC_TAB, ALT_T(K11), K12, K13, K14, K15, K16, K17, K18, K19, K1A, RGUI_T(KC_QUOT), \ |
| 24 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 24 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
| 25 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ | 25 | KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ |
| 26 | ) | 26 | ) |
| 27 | #define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) | 27 | #define LAYOUT_crkbd_base_wrapper(...) LAYOUT_crkbd_base(__VA_ARGS__) |
| 28 | 28 | ||
| @@ -156,6 +156,8 @@ void add_keylog(uint16_t keycode) { | |||
| 156 | if (keycode < 60) { | 156 | if (keycode < 60) { |
| 157 | keylog_str[0] = code_to_name[keycode]; | 157 | keylog_str[0] = code_to_name[keycode]; |
| 158 | } | 158 | } |
| 159 | keylog_str[KEYLOG_LEN] = 0; | ||
| 160 | |||
| 159 | log_timer = timer_read(); | 161 | log_timer = timer_read(); |
| 160 | } | 162 | } |
| 161 | 163 | ||
| @@ -267,3 +269,53 @@ uint16_t get_tapping_term(uint16_t keycode) { | |||
| 267 | return TAPPING_TERM; | 269 | return TAPPING_TERM; |
| 268 | } | 270 | } |
| 269 | } | 271 | } |
| 272 | |||
| 273 | #ifdef RGB_MATRIX_ENABLE | ||
| 274 | |||
| 275 | void rgb_matrix_indicators_user(void) { | ||
| 276 | if ( userspace_config.rgb_layer_change && | ||
| 277 | #ifdef RGB_DISABLE_WHEN_USB_SUSPENDED | ||
| 278 | !g_suspend_state && | ||
| 279 | #endif | ||
| 280 | #if defined(RGBLIGHT_ENABLE) | ||
| 281 | (!rgblight_config.enable && rgb_matrix_config.enable) | ||
| 282 | #else | ||
| 283 | rgb_matrix_config.enable | ||
| 284 | #endif | ||
| 285 | ) { | ||
| 286 | switch (biton32(layer_state)) { | ||
| 287 | case _MODS: | ||
| 288 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 289 | case _GAMEPAD: | ||
| 290 | rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 291 | case _DIABLO: | ||
| 292 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 293 | case _RAISE: | ||
| 294 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 295 | case _LOWER: | ||
| 296 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 297 | case _ADJUST: | ||
| 298 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 299 | default: | ||
| 300 | switch (biton32(default_layer_state)) { | ||
| 301 | case _QWERTY: | ||
| 302 | rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_UNDERGLOW); break; | ||
| 303 | case _COLEMAK: | ||
| 304 | rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break; | ||
| 305 | case _DVORAK: | ||
| 306 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 307 | case _WORKMAN: | ||
| 308 | rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_UNDERGLOW); break; | ||
| 309 | case _NORMAN: | ||
| 310 | rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_UNDERGLOW); break; | ||
| 311 | case _MALTRON: | ||
| 312 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_UNDERGLOW); break; | ||
| 313 | case _EUCALYN: | ||
| 314 | rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_UNDERGLOW); break; | ||
| 315 | case _CARPLAX: | ||
| 316 | rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_UNDERGLOW); break; | ||
| 317 | } | ||
| 318 | } | ||
| 319 | } | ||
| 320 | } | ||
| 321 | #endif | ||
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c index 95092cc52..44ffb59f6 100644 --- a/keyboards/keebio/iris/keymaps/drashna/keymap.c +++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ | 13 | KC_TAB , K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSLS, \ |
| 14 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ | 14 | KC_C1R3, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \ |
| 15 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 15 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
| 16 | LT(_LOWER,KC_GRV), KC_SPC, KC_BSPC, KC_DEL, KC_ENT, RAISE \ | 16 | KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \ |
| 17 | ) | 17 | ) |
| 18 | #define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__) | 18 | #define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__) |
| 19 | 19 | ||
diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index fd867ede5..71ac549ae 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c | |||
| @@ -399,15 +399,6 @@ void suspend_wakeup_init_keymap(void) { | |||
| 399 | rgb_matrix_set_suspend_state(false); | 399 | rgb_matrix_set_suspend_state(false); |
| 400 | } | 400 | } |
| 401 | 401 | ||
| 402 | extern led_config_t g_led_config; | ||
| 403 | void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { | ||
| 404 | for (int i = 0; i < DRIVER_LED_TOTAL; i++) { | ||
| 405 | if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { | ||
| 406 | rgb_matrix_set_color( i, red, green, blue ); | ||
| 407 | } | ||
| 408 | } | ||
| 409 | } | ||
| 410 | |||
| 411 | void rgb_matrix_indicators_user(void) { | 402 | void rgb_matrix_indicators_user(void) { |
| 412 | if ( userspace_config.rgb_layer_change && | 403 | if ( userspace_config.rgb_layer_change && |
| 413 | #ifdef RGB_DISABLE_WHEN_USB_SUSPENDED | 404 | #ifdef RGB_DISABLE_WHEN_USB_SUSPENDED |
| @@ -421,9 +412,9 @@ void rgb_matrix_indicators_user(void) { | |||
| 421 | ) { | 412 | ) { |
| 422 | switch (biton32(layer_state)) { | 413 | switch (biton32(layer_state)) { |
| 423 | case _MODS: | 414 | case _MODS: |
| 424 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; | 415 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 425 | case _GAMEPAD: | 416 | case _GAMEPAD: |
| 426 | rgb_matrix_layer_helper(0xFF, 0x80, 0x00); | 417 | rgb_matrix_layer_helper(0xFF, 0x80, 0x00, LED_FLAG_MODIFIER); |
| 427 | rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q | 418 | rgb_matrix_set_color(32, 0x00, 0xFF, 0x00); // Q |
| 428 | rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W | 419 | rgb_matrix_set_color(31, 0x00, 0xFF, 0xFF); // W |
| 429 | rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E | 420 | rgb_matrix_set_color(30, 0xFF, 0x00, 0x00); // E |
| @@ -439,31 +430,31 @@ void rgb_matrix_indicators_user(void) { | |||
| 439 | 430 | ||
| 440 | break; | 431 | break; |
| 441 | case _DIABLO: | 432 | case _DIABLO: |
| 442 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; | 433 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break; |
| 443 | case _RAISE: | 434 | case _RAISE: |
| 444 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; | 435 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 445 | case _LOWER: | 436 | case _LOWER: |
| 446 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; | 437 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 447 | case _ADJUST: | 438 | case _ADJUST: |
| 448 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; | 439 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break; |
| 449 | default: | 440 | default: |
| 450 | switch (biton32(default_layer_state)) { | 441 | switch (biton32(default_layer_state)) { |
| 451 | case _QWERTY: | 442 | case _QWERTY: |
| 452 | rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; | 443 | rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break; |
| 453 | case _COLEMAK: | 444 | case _COLEMAK: |
| 454 | rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; | 445 | rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break; |
| 455 | case _DVORAK: | 446 | case _DVORAK: |
| 456 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; | 447 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 457 | case _WORKMAN: | 448 | case _WORKMAN: |
| 458 | rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; | 449 | rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break; |
| 459 | case _NORMAN: | 450 | case _NORMAN: |
| 460 | rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; | 451 | rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break; |
| 461 | case _MALTRON: | 452 | case _MALTRON: |
| 462 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; | 453 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 463 | case _EUCALYN: | 454 | case _EUCALYN: |
| 464 | rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; | 455 | rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break; |
| 465 | case _CARPLAX: | 456 | case _CARPLAX: |
| 466 | rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; | 457 | rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break; |
| 467 | } | 458 | } |
| 468 | } | 459 | } |
| 469 | } | 460 | } |
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index 9b0c2d794..3ebcd84a6 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c | |||
| @@ -180,14 +180,6 @@ void suspend_wakeup_init_keymap(void) { | |||
| 180 | rgb_matrix_set_suspend_state(false); | 180 | rgb_matrix_set_suspend_state(false); |
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue) { | ||
| 184 | for (int i = 0; i < DRIVER_LED_TOTAL; i++) { | ||
| 185 | if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) { | ||
| 186 | rgb_matrix_set_color( i, red, green, blue ); | ||
| 187 | } | ||
| 188 | } | ||
| 189 | } | ||
| 190 | |||
| 191 | void rgb_matrix_indicators_user(void) { | 183 | void rgb_matrix_indicators_user(void) { |
| 192 | uint8_t this_mod = get_mods(); | 184 | uint8_t this_mod = get_mods(); |
| 193 | uint8_t this_led = host_keyboard_leds(); | 185 | uint8_t this_led = host_keyboard_leds(); |
| @@ -209,29 +201,29 @@ void rgb_matrix_indicators_user(void) { | |||
| 209 | ) { | 201 | ) { |
| 210 | switch (biton32(layer_state)) { | 202 | switch (biton32(layer_state)) { |
| 211 | case _RAISE: | 203 | case _RAISE: |
| 212 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; | 204 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 213 | case _LOWER: | 205 | case _LOWER: |
| 214 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; | 206 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 215 | case _ADJUST: | 207 | case _ADJUST: |
| 216 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00); break; | 208 | rgb_matrix_layer_helper(0xFF, 0x00, 0x00, LED_FLAG_MODIFIER); break; |
| 217 | default: | 209 | default: |
| 218 | switch (biton32(default_layer_state)) { | 210 | switch (biton32(default_layer_state)) { |
| 219 | case _QWERTY: | 211 | case _QWERTY: |
| 220 | rgb_matrix_layer_helper(0x00, 0xFF, 0xFF); break; | 212 | rgb_matrix_layer_helper(0x00, 0xFF, 0xFF, LED_FLAG_MODIFIER); break; |
| 221 | case _COLEMAK: | 213 | case _COLEMAK: |
| 222 | rgb_matrix_layer_helper(0xFF, 0x00, 0xFF); break; | 214 | rgb_matrix_layer_helper(0xFF, 0x00, 0xFF, LED_FLAG_MODIFIER); break; |
| 223 | case _DVORAK: | 215 | case _DVORAK: |
| 224 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00); break; | 216 | rgb_matrix_layer_helper(0x00, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 225 | case _WORKMAN: | 217 | case _WORKMAN: |
| 226 | rgb_matrix_layer_helper(0xD9, 0xA5, 0x21); break; | 218 | rgb_matrix_layer_helper(0xD9, 0xA5, 0x21, LED_FLAG_MODIFIER); break; |
| 227 | case _NORMAN: | 219 | case _NORMAN: |
| 228 | rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D); break; | 220 | rgb_matrix_layer_helper(0xFF, 0x7C, 0x4D, LED_FLAG_MODIFIER); break; |
| 229 | case _MALTRON: | 221 | case _MALTRON: |
| 230 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00); break; | 222 | rgb_matrix_layer_helper(0xFF, 0xFF, 0x00, LED_FLAG_MODIFIER); break; |
| 231 | case _EUCALYN: | 223 | case _EUCALYN: |
| 232 | rgb_matrix_layer_helper(0xFF, 0x80, 0xBF); break; | 224 | rgb_matrix_layer_helper(0xFF, 0x80, 0xBF, LED_FLAG_MODIFIER); break; |
| 233 | case _CARPLAX: | 225 | case _CARPLAX: |
| 234 | rgb_matrix_layer_helper(0x00, 0x00, 0xFF); break; | 226 | rgb_matrix_layer_helper(0x00, 0x00, 0xFF, LED_FLAG_MODIFIER); break; |
| 235 | } | 227 | } |
| 236 | } | 228 | } |
| 237 | } | 229 | } |
diff --git a/users/drashna/rgb_stuff.c b/users/drashna/rgb_stuff.c index 9e19747fa..342186617 100644 --- a/users/drashna/rgb_stuff.c +++ b/users/drashna/rgb_stuff.c | |||
| @@ -334,3 +334,14 @@ uint32_t layer_state_set_rgb(uint32_t state) { | |||
| 334 | 334 | ||
| 335 | return state; | 335 | return state; |
| 336 | } | 336 | } |
| 337 | |||
| 338 | #ifdef RGB_MATRIX_ENABLE | ||
| 339 | extern led_config_t g_led_config; | ||
| 340 | void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type) { | ||
| 341 | for (int i = 0; i < DRIVER_LED_TOTAL; i++) { | ||
| 342 | if (HAS_FLAGS(g_led_config.flags[i], led_type)) { | ||
| 343 | rgb_matrix_set_color( i, red, green, blue ); | ||
| 344 | } | ||
| 345 | } | ||
| 346 | } | ||
| 347 | #endif | ||
diff --git a/users/drashna/rgb_stuff.h b/users/drashna/rgb_stuff.h index 886f20ffc..572104612 100644 --- a/users/drashna/rgb_stuff.h +++ b/users/drashna/rgb_stuff.h | |||
| @@ -19,3 +19,5 @@ uint32_t layer_state_set_rgb(uint32_t state); | |||
| 19 | uint32_t default_layer_state_set_rgb(uint32_t state); | 19 | uint32_t default_layer_state_set_rgb(uint32_t state); |
| 20 | void rgblight_sethsv_default_helper(uint8_t index); | 20 | void rgblight_sethsv_default_helper(uint8_t index); |
| 21 | void rgb_matrix_set_color_all( uint8_t red, uint8_t green, uint8_t blue ); | 21 | void rgb_matrix_set_color_all( uint8_t red, uint8_t green, uint8_t blue ); |
| 22 | |||
| 23 | void rgb_matrix_layer_helper (uint8_t red, uint8_t green, uint8_t blue, uint8_t led_type); | ||
