diff options
Diffstat (limited to 'quantum/quantum.c')
| -rw-r--r-- | quantum/quantum.c | 168 |
1 files changed, 7 insertions, 161 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c index 2def99ac8..4c501785c 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c | |||
| @@ -16,10 +16,6 @@ | |||
| 16 | 16 | ||
| 17 | #include "quantum.h" | 17 | #include "quantum.h" |
| 18 | 18 | ||
| 19 | #if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE) | ||
| 20 | # include "rgb.h" | ||
| 21 | #endif | ||
| 22 | |||
| 23 | #ifdef PROTOCOL_LUFA | 19 | #ifdef PROTOCOL_LUFA |
| 24 | # include "outputselect.h" | 20 | # include "outputselect.h" |
| 25 | #endif | 21 | #endif |
| @@ -254,6 +250,9 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 254 | #ifdef MAGIC_KEYCODE_ENABLE | 250 | #ifdef MAGIC_KEYCODE_ENABLE |
| 255 | process_magic(keycode, record) && | 251 | process_magic(keycode, record) && |
| 256 | #endif | 252 | #endif |
| 253 | #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) | ||
| 254 | process_rgb(keycode, record) && | ||
| 255 | #endif | ||
| 257 | true)) { | 256 | true)) { |
| 258 | return false; | 257 | return false; |
| 259 | } | 258 | } |
| @@ -293,176 +292,24 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 293 | return false; | 292 | return false; |
| 294 | #endif | 293 | #endif |
| 295 | #ifdef BLUETOOTH_ENABLE | 294 | #ifdef BLUETOOTH_ENABLE |
| 296 | case OUT_AUTO: | 295 | case OUT_AUTO: |
| 297 | set_output(OUTPUT_AUTO); | 296 | set_output(OUTPUT_AUTO); |
| 298 | return false; | 297 | return false; |
| 299 | case OUT_USB: | 298 | case OUT_USB: |
| 300 | set_output(OUTPUT_USB); | 299 | set_output(OUTPUT_USB); |
| 301 | return false; | 300 | return false; |
| 302 | case OUT_BT: | 301 | case OUT_BT: |
| 303 | set_output(OUTPUT_BLUETOOTH); | 302 | set_output(OUTPUT_BLUETOOTH); |
| 304 | return false; | 303 | return false; |
| 305 | #endif | 304 | #endif |
| 306 | #if defined(BACKLIGHT_ENABLE) && defined(BACKLIGHT_BREATHING) | 305 | #if defined(BACKLIGHT_ENABLE) && defined(BACKLIGHT_BREATHING) |
| 307 | case BL_BRTG: | 306 | case BL_BRTG: |
| 308 | backlight_toggle_breathing(); | 307 | backlight_toggle_breathing(); |
| 309 | return false; | 308 | return false; |
| 310 | #endif | 309 | #endif |
| 311 | } | 310 | } |
| 312 | } | 311 | } |
| 313 | 312 | ||
| 314 | #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) | ||
| 315 | # ifndef SPLIT_KEYBOARD | ||
| 316 | if (record->event.pressed) { | ||
| 317 | # else | ||
| 318 | // Split keyboards need to trigger on key-up for edge-case issue | ||
| 319 | if (!record->event.pressed) { | ||
| 320 | # endif | ||
| 321 | uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)); | ||
| 322 | switch (keycode) { | ||
| 323 | case RGB_TOG: | ||
| 324 | rgblight_toggle(); | ||
| 325 | return false; | ||
| 326 | case RGB_MODE_FORWARD: | ||
| 327 | if (shifted) { | ||
| 328 | rgblight_step_reverse(); | ||
| 329 | } else { | ||
| 330 | rgblight_step(); | ||
| 331 | } | ||
| 332 | return false; | ||
| 333 | case RGB_MODE_REVERSE: | ||
| 334 | if (shifted) { | ||
| 335 | rgblight_step(); | ||
| 336 | } else { | ||
| 337 | rgblight_step_reverse(); | ||
| 338 | } | ||
| 339 | return false; | ||
| 340 | case RGB_HUI: | ||
| 341 | if (shifted) { | ||
| 342 | rgblight_decrease_hue(); | ||
| 343 | } else { | ||
| 344 | rgblight_increase_hue(); | ||
| 345 | } | ||
| 346 | return false; | ||
| 347 | case RGB_HUD: | ||
| 348 | if (shifted) { | ||
| 349 | rgblight_increase_hue(); | ||
| 350 | } else { | ||
| 351 | rgblight_decrease_hue(); | ||
| 352 | } | ||
| 353 | return false; | ||
| 354 | case RGB_SAI: | ||
| 355 | if (shifted) { | ||
| 356 | rgblight_decrease_sat(); | ||
| 357 | } else { | ||
| 358 | rgblight_increase_sat(); | ||
| 359 | } | ||
| 360 | return false; | ||
| 361 | case RGB_SAD: | ||
| 362 | if (shifted) { | ||
| 363 | rgblight_increase_sat(); | ||
| 364 | } else { | ||
| 365 | rgblight_decrease_sat(); | ||
| 366 | } | ||
| 367 | return false; | ||
| 368 | case RGB_VAI: | ||
| 369 | if (shifted) { | ||
| 370 | rgblight_decrease_val(); | ||
| 371 | } else { | ||
| 372 | rgblight_increase_val(); | ||
| 373 | } | ||
| 374 | return false; | ||
| 375 | case RGB_VAD: | ||
| 376 | if (shifted) { | ||
| 377 | rgblight_increase_val(); | ||
| 378 | } else { | ||
| 379 | rgblight_decrease_val(); | ||
| 380 | } | ||
| 381 | return false; | ||
| 382 | case RGB_SPI: | ||
| 383 | if (shifted) { | ||
| 384 | rgblight_decrease_speed(); | ||
| 385 | } else { | ||
| 386 | rgblight_increase_speed(); | ||
| 387 | } | ||
| 388 | return false; | ||
| 389 | case RGB_SPD: | ||
| 390 | if (shifted) { | ||
| 391 | rgblight_increase_speed(); | ||
| 392 | } else { | ||
| 393 | rgblight_decrease_speed(); | ||
| 394 | } | ||
| 395 | return false; | ||
| 396 | case RGB_MODE_PLAIN: | ||
| 397 | rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); | ||
| 398 | return false; | ||
| 399 | case RGB_MODE_BREATHE: | ||
| 400 | # ifdef RGBLIGHT_EFFECT_BREATHING | ||
| 401 | if ((RGBLIGHT_MODE_BREATHING <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_BREATHING_end)) { | ||
| 402 | rgblight_step(); | ||
| 403 | } else { | ||
| 404 | rgblight_mode(RGBLIGHT_MODE_BREATHING); | ||
| 405 | } | ||
| 406 | # endif | ||
| 407 | return false; | ||
| 408 | case RGB_MODE_RAINBOW: | ||
| 409 | # ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD | ||
| 410 | if ((RGBLIGHT_MODE_RAINBOW_MOOD <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_MOOD_end)) { | ||
| 411 | rgblight_step(); | ||
| 412 | } else { | ||
| 413 | rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD); | ||
| 414 | } | ||
| 415 | # endif | ||
| 416 | case RGB_MODE_SWIRL: | ||
| 417 | # ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL | ||
| 418 | if ((RGBLIGHT_MODE_RAINBOW_SWIRL <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_SWIRL_end)) { | ||
| 419 | rgblight_step(); | ||
| 420 | } else { | ||
| 421 | rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL); | ||
| 422 | } | ||
| 423 | # endif | ||
| 424 | return false; | ||
| 425 | case RGB_MODE_SNAKE: | ||
| 426 | # ifdef RGBLIGHT_EFFECT_SNAKE | ||
| 427 | if ((RGBLIGHT_MODE_SNAKE <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_SNAKE_end)) { | ||
| 428 | rgblight_step(); | ||
| 429 | } else { | ||
| 430 | rgblight_mode(RGBLIGHT_MODE_SNAKE); | ||
| 431 | } | ||
| 432 | # endif | ||
| 433 | return false; | ||
| 434 | case RGB_MODE_KNIGHT: | ||
| 435 | # ifdef RGBLIGHT_EFFECT_KNIGHT | ||
| 436 | if ((RGBLIGHT_MODE_KNIGHT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_KNIGHT_end)) { | ||
| 437 | rgblight_step(); | ||
| 438 | } else { | ||
| 439 | rgblight_mode(RGBLIGHT_MODE_KNIGHT); | ||
| 440 | } | ||
| 441 | # endif | ||
| 442 | return false; | ||
| 443 | case RGB_MODE_XMAS: | ||
| 444 | # ifdef RGBLIGHT_EFFECT_CHRISTMAS | ||
| 445 | rgblight_mode(RGBLIGHT_MODE_CHRISTMAS); | ||
| 446 | # endif | ||
| 447 | return false; | ||
| 448 | case RGB_MODE_GRADIENT: | ||
| 449 | # ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT | ||
| 450 | if ((RGBLIGHT_MODE_STATIC_GRADIENT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_STATIC_GRADIENT_end)) { | ||
| 451 | rgblight_step(); | ||
| 452 | } else { | ||
| 453 | rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT); | ||
| 454 | } | ||
| 455 | # endif | ||
| 456 | return false; | ||
| 457 | case RGB_MODE_RGBTEST: | ||
| 458 | # ifdef RGBLIGHT_EFFECT_RGB_TEST | ||
| 459 | rgblight_mode(RGBLIGHT_MODE_RGB_TEST); | ||
| 460 | # endif | ||
| 461 | return false; | ||
| 462 | } | ||
| 463 | } | ||
| 464 | #endif | ||
| 465 | |||
| 466 | // keycodes that depend on both pressed and non-pressed state | 313 | // keycodes that depend on both pressed and non-pressed state |
| 467 | switch (keycode) { | 314 | switch (keycode) { |
| 468 | case GRAVE_ESC: { | 315 | case GRAVE_ESC: { |
| @@ -513,7 +360,6 @@ bool process_record_quantum(keyrecord_t *record) { | |||
| 513 | send_keyboard_report(); | 360 | send_keyboard_report(); |
| 514 | return false; | 361 | return false; |
| 515 | } | 362 | } |
| 516 | |||
| 517 | } | 363 | } |
| 518 | 364 | ||
| 519 | return process_action_kb(record); | 365 | return process_action_kb(record); |
