aboutsummaryrefslogtreecommitdiff
path: root/quantum/quantum.c
diff options
context:
space:
mode:
authorYan-Fa Li <yanfali@gmail.com>2019-11-27 14:00:23 -0800
committerGitHub <noreply@github.com>2019-11-27 14:00:23 -0800
commit1604f79623c9f3b061dac54ff9f3b657b4246519 (patch)
tree2b6261ef28d1ea2cf453b15938f7b71dafb1d65d /quantum/quantum.c
parent265c415f5e13b32fd14f06d8af4ae2498ba9059b (diff)
downloadqmk_firmware-1604f79623c9f3b061dac54ff9f3b657b4246519.tar.gz
qmk_firmware-1604f79623c9f3b061dac54ff9f3b657b4246519.zip
clean up quantum.c (#7485)
* idea * progress * more stuff * wip * wip * last couple of keycodes you can move safely * Update quantum/quantum.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Put back RGB_MODE_BREATHE
Diffstat (limited to 'quantum/quantum.c')
-rw-r--r--quantum/quantum.c260
1 files changed, 87 insertions, 173 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 2e5e6376b..aaed6ce4e 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -276,259 +276,181 @@ bool process_record_quantum(keyrecord_t *record) {
276 return false; 276 return false;
277 } 277 }
278 278
279 // Shift / paren setup 279 if (record->event.pressed) {
280 280 switch (keycode) {
281 switch (keycode) { 281 case RESET:
282 case RESET:
283 if (record->event.pressed) {
284 reset_keyboard(); 282 reset_keyboard();
285 } 283 return false;
286 return false; 284 case DEBUG:
287 case DEBUG:
288 if (record->event.pressed) {
289 debug_enable ^= 1; 285 debug_enable ^= 1;
290 if (debug_enable) { 286 if (debug_enable) {
291 print("DEBUG: enabled.\n"); 287 print("DEBUG: enabled.\n");
292 } else { 288 } else {
293 print("DEBUG: disabled.\n"); 289 print("DEBUG: disabled.\n");
294 } 290 }
295 } 291 return false;
296 return false; 292 case EEPROM_RESET:
297 case EEPROM_RESET:
298 if (record->event.pressed) {
299 eeconfig_init(); 293 eeconfig_init();
300 } 294 return false;
301 return false;
302#ifdef FAUXCLICKY_ENABLE 295#ifdef FAUXCLICKY_ENABLE
303 case FC_TOG: 296 case FC_TOG:
304 if (record->event.pressed) {
305 FAUXCLICKY_TOGGLE; 297 FAUXCLICKY_TOGGLE;
306 } 298 return false;
307 return false; 299 case FC_ON:
308 case FC_ON:
309 if (record->event.pressed) {
310 FAUXCLICKY_ON; 300 FAUXCLICKY_ON;
311 } 301 return false;
312 return false; 302 case FC_OFF:
313 case FC_OFF:
314 if (record->event.pressed) {
315 FAUXCLICKY_OFF; 303 FAUXCLICKY_OFF;
316 } 304 return false;
317 return false; 305#endif
306#ifdef VELOCIKEY_ENABLE
307 case VLK_TOG:
308 velocikey_toggle();
309 return false;
310#endif
311#ifdef PROTOCOL_LUFA
312 case OUT_AUTO:
313 set_output(OUTPUT_AUTO);
314 return false;
315 case OUT_USB:
316 set_output(OUTPUT_USB);
317 return false;
318# ifdef BLUETOOTH_ENABLE
319 case OUT_BT:
320 set_output(OUTPUT_BLUETOOTH);
321 return false;
322# endif
318#endif 323#endif
324 }
325 }
326
319#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) 327#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
320 case RGB_TOG:
321// Split keyboards need to trigger on key-up for edge-case issue
322# ifndef SPLIT_KEYBOARD 328# ifndef SPLIT_KEYBOARD
323 if (record->event.pressed) { 329 if (record->event.pressed) {
324# else 330# else
325 if (!record->event.pressed) { 331 // Split keyboards need to trigger on key-up for edge-case issue
332 if (!record->event.pressed) {
326# endif 333# endif
334 uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT));
335 switch (keycode) {
336 case RGB_TOG:
327 rgblight_toggle(); 337 rgblight_toggle();
328 } 338 return false;
329 return false; 339 case RGB_MODE_FORWARD:
330 case RGB_MODE_FORWARD:
331 if (record->event.pressed) {
332 uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT));
333 if (shifted) { 340 if (shifted) {
334 rgblight_step_reverse(); 341 rgblight_step_reverse();
335 } else { 342 } else {
336 rgblight_step(); 343 rgblight_step();
337 } 344 }
338 } 345 return false;
339 return false; 346 case RGB_MODE_REVERSE:
340 case RGB_MODE_REVERSE:
341 if (record->event.pressed) {
342 uint8_t shifted = get_mods() & (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT));
343 if (shifted) { 347 if (shifted) {
344 rgblight_step(); 348 rgblight_step();
345 } else { 349 } else {
346 rgblight_step_reverse(); 350 rgblight_step_reverse();
347 } 351 }
348 } 352 return false;
349 return false; 353 case RGB_HUI:
350 case RGB_HUI:
351// Split keyboards need to trigger on key-up for edge-case issue
352# ifndef SPLIT_KEYBOARD
353 if (record->event.pressed) {
354# else
355 if (!record->event.pressed) {
356# endif
357 rgblight_increase_hue(); 354 rgblight_increase_hue();
358 } 355 return false;
359 return false; 356 case RGB_HUD:
360 case RGB_HUD:
361// Split keyboards need to trigger on key-up for edge-case issue
362# ifndef SPLIT_KEYBOARD
363 if (record->event.pressed) {
364# else
365 if (!record->event.pressed) {
366# endif
367 rgblight_decrease_hue(); 357 rgblight_decrease_hue();
368 } 358 return false;
369 return false; 359 case RGB_SAI:
370 case RGB_SAI:
371// Split keyboards need to trigger on key-up for edge-case issue
372# ifndef SPLIT_KEYBOARD
373 if (record->event.pressed) {
374# else
375 if (!record->event.pressed) {
376# endif
377 rgblight_increase_sat(); 360 rgblight_increase_sat();
378 } 361 return false;
379 return false; 362 case RGB_SAD:
380 case RGB_SAD:
381// Split keyboards need to trigger on key-up for edge-case issue
382# ifndef SPLIT_KEYBOARD
383 if (record->event.pressed) {
384# else
385 if (!record->event.pressed) {
386# endif
387 rgblight_decrease_sat(); 363 rgblight_decrease_sat();
388 } 364 return false;
389 return false; 365 case RGB_VAI:
390 case RGB_VAI:
391// Split keyboards need to trigger on key-up for edge-case issue
392# ifndef SPLIT_KEYBOARD
393 if (record->event.pressed) {
394# else
395 if (!record->event.pressed) {
396# endif
397 rgblight_increase_val(); 366 rgblight_increase_val();
398 } 367 return false;
399 return false; 368 case RGB_VAD:
400 case RGB_VAD:
401// Split keyboards need to trigger on key-up for edge-case issue
402# ifndef SPLIT_KEYBOARD
403 if (record->event.pressed) {
404# else
405 if (!record->event.pressed) {
406# endif
407 rgblight_decrease_val(); 369 rgblight_decrease_val();
408 } 370 return false;
409 return false; 371 case RGB_SPI:
410 case RGB_SPI:
411 if (record->event.pressed) {
412 rgblight_increase_speed(); 372 rgblight_increase_speed();
413 } 373 return false;
414 return false; 374 case RGB_SPD:
415 case RGB_SPD:
416 if (record->event.pressed) {
417 rgblight_decrease_speed(); 375 rgblight_decrease_speed();
418 } 376 return false;
419 return false; 377 case RGB_MODE_PLAIN:
420 case RGB_MODE_PLAIN:
421 if (record->event.pressed) {
422 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT); 378 rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
423 } 379 return false;
424 return false; 380 case RGB_MODE_BREATHE:
425 case RGB_MODE_BREATHE:
426# ifdef RGBLIGHT_EFFECT_BREATHING 381# ifdef RGBLIGHT_EFFECT_BREATHING
427 if (record->event.pressed) {
428 if ((RGBLIGHT_MODE_BREATHING <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_BREATHING_end)) { 382 if ((RGBLIGHT_MODE_BREATHING <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_BREATHING_end)) {
429 rgblight_step(); 383 rgblight_step();
430 } else { 384 } else {
431 rgblight_mode(RGBLIGHT_MODE_BREATHING); 385 rgblight_mode(RGBLIGHT_MODE_BREATHING);
432 } 386 }
433 }
434# endif 387# endif
435 return false; 388 return false;
436 case RGB_MODE_RAINBOW: 389 case RGB_MODE_RAINBOW:
437# ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD 390# ifdef RGBLIGHT_EFFECT_RAINBOW_MOOD
438 if (record->event.pressed) {
439 if ((RGBLIGHT_MODE_RAINBOW_MOOD <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_MOOD_end)) { 391 if ((RGBLIGHT_MODE_RAINBOW_MOOD <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_MOOD_end)) {
440 rgblight_step(); 392 rgblight_step();
441 } else { 393 } else {
442 rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD); 394 rgblight_mode(RGBLIGHT_MODE_RAINBOW_MOOD);
443 } 395 }
444 }
445# endif 396# endif
446 return false; 397 case RGB_MODE_SWIRL:
447 case RGB_MODE_SWIRL:
448# ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL 398# ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL
449 if (record->event.pressed) {
450 if ((RGBLIGHT_MODE_RAINBOW_SWIRL <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_SWIRL_end)) { 399 if ((RGBLIGHT_MODE_RAINBOW_SWIRL <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_RAINBOW_SWIRL_end)) {
451 rgblight_step(); 400 rgblight_step();
452 } else { 401 } else {
453 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL); 402 rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
454 } 403 }
455 }
456# endif 404# endif
457 return false; 405 return false;
458 case RGB_MODE_SNAKE: 406 case RGB_MODE_SNAKE:
459# ifdef RGBLIGHT_EFFECT_SNAKE 407# ifdef RGBLIGHT_EFFECT_SNAKE
460 if (record->event.pressed) {
461 if ((RGBLIGHT_MODE_SNAKE <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_SNAKE_end)) { 408 if ((RGBLIGHT_MODE_SNAKE <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_SNAKE_end)) {
462 rgblight_step(); 409 rgblight_step();
463 } else { 410 } else {
464 rgblight_mode(RGBLIGHT_MODE_SNAKE); 411 rgblight_mode(RGBLIGHT_MODE_SNAKE);
465 } 412 }
466 }
467# endif 413# endif
468 return false; 414 return false;
469 case RGB_MODE_KNIGHT: 415 case RGB_MODE_KNIGHT:
470# ifdef RGBLIGHT_EFFECT_KNIGHT 416# ifdef RGBLIGHT_EFFECT_KNIGHT
471 if (record->event.pressed) {
472 if ((RGBLIGHT_MODE_KNIGHT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_KNIGHT_end)) { 417 if ((RGBLIGHT_MODE_KNIGHT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_KNIGHT_end)) {
473 rgblight_step(); 418 rgblight_step();
474 } else { 419 } else {
475 rgblight_mode(RGBLIGHT_MODE_KNIGHT); 420 rgblight_mode(RGBLIGHT_MODE_KNIGHT);
476 } 421 }
477 }
478# endif 422# endif
479 return false; 423 return false;
480 case RGB_MODE_XMAS: 424 case RGB_MODE_XMAS:
481# ifdef RGBLIGHT_EFFECT_CHRISTMAS 425# ifdef RGBLIGHT_EFFECT_CHRISTMAS
482 if (record->event.pressed) {
483 rgblight_mode(RGBLIGHT_MODE_CHRISTMAS); 426 rgblight_mode(RGBLIGHT_MODE_CHRISTMAS);
484 }
485# endif 427# endif
486 return false; 428 return false;
487 case RGB_MODE_GRADIENT: 429 case RGB_MODE_GRADIENT:
488# ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT 430# ifdef RGBLIGHT_EFFECT_STATIC_GRADIENT
489 if (record->event.pressed) {
490 if ((RGBLIGHT_MODE_STATIC_GRADIENT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_STATIC_GRADIENT_end)) { 431 if ((RGBLIGHT_MODE_STATIC_GRADIENT <= rgblight_get_mode()) && (rgblight_get_mode() < RGBLIGHT_MODE_STATIC_GRADIENT_end)) {
491 rgblight_step(); 432 rgblight_step();
492 } else { 433 } else {
493 rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT); 434 rgblight_mode(RGBLIGHT_MODE_STATIC_GRADIENT);
494 } 435 }
495 }
496# endif 436# endif
497 return false; 437 return false;
498 case RGB_MODE_RGBTEST: 438 case RGB_MODE_RGBTEST:
499# ifdef RGBLIGHT_EFFECT_RGB_TEST 439# ifdef RGBLIGHT_EFFECT_RGB_TEST
500 if (record->event.pressed) {
501 rgblight_mode(RGBLIGHT_MODE_RGB_TEST); 440 rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
502 }
503# endif 441# endif
504 return false; 442 return false;
505#endif // defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) 443#if defined(BACKLIGHT_ENABLE) && defined(BACKLIGHT_BREATHING)
506#ifdef VELOCIKEY_ENABLE 444 case BL_BRTG:
507 case VLK_TOG: 445 backlight_toggle_breathing();
508 if (record->event.pressed) { 446 return false;
509 velocikey_toggle();
510 }
511 return false;
512#endif 447#endif
513#ifdef PROTOCOL_LUFA 448 }
514 case OUT_AUTO: 449 }
515 if (record->event.pressed) {
516 set_output(OUTPUT_AUTO);
517 }
518 return false;
519 case OUT_USB:
520 if (record->event.pressed) {
521 set_output(OUTPUT_USB);
522 }
523 return false;
524# ifdef BLUETOOTH_ENABLE
525 case OUT_BT:
526 if (record->event.pressed) {
527 set_output(OUTPUT_BLUETOOTH);
528 }
529 return false;
530# endif
531#endif 450#endif
451
452 // keycodes that depend on both pressed and non-pressed state
453 switch (keycode) {
532 case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI: 454 case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_ALT_GUI:
533 case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT: 455 case MAGIC_SWAP_LCTL_LGUI ... MAGIC_EE_HANDS_RIGHT:
534 if (record->event.pressed) { 456 if (record->event.pressed) {
@@ -711,14 +633,6 @@ bool process_record_quantum(keyrecord_t *record) {
711 return false; 633 return false;
712 } 634 }
713 635
714#if defined(BACKLIGHT_ENABLE) && defined(BACKLIGHT_BREATHING)
715 case BL_BRTG: {
716 if (record->event.pressed) {
717 backlight_toggle_breathing();
718 }
719 return false;
720 }
721#endif
722 } 636 }
723 637
724 return process_action_kb(record); 638 return process_action_kb(record);