aboutsummaryrefslogtreecommitdiff
path: root/quantum/quantum.c
diff options
context:
space:
mode:
authorChris Lewis <chris@chrislewisdev.com>2019-02-22 02:22:46 +1100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-02-21 07:22:46 -0800
commitc1c5922aae7b60b7c7d13d3769350eed9dda17ab (patch)
tree7c3805d9b949ef2d802bd3df4e9238662a5cdc0b /quantum/quantum.c
parent9f1d781fcb7129a07e671a46461e501e3f1ae59d (diff)
downloadqmk_firmware-c1c5922aae7b60b7c7d13d3769350eed9dda17ab.tar.gz
qmk_firmware-c1c5922aae7b60b7c7d13d3769350eed9dda17ab.zip
Velocikey: Match RGB animation speed to typing speed (#3754)
* Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Experimental LED support (untested) * Draft commit of typing speed RGB control * More information in the readme * Support all RGB animation modes (Fixes #1) * Added support for all RGB light modes to use typing speed Except christmas lights because that is seizure-inducing at high speeds! * Introduced a value range specific to each RGB mode Because some modes are a little too much when running at full speed! * Update readme.md * Update readme.md * Re-arrange typing_speed definitions (Fixes #5) (#6) * Re-arrange variable definitions to avoid including quantum.h from rgblight.c * Fix a compilation error when trying to run make test:all * Tweaks to the typing speed decay rate * Renamed to momentum; moved implementation into dedicated files * Groundwork for toggling momentum on/off (currently always on) * Add EEPROM toggle for momentum-matching * Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic * Move momentum decay task out of rgblight_task() * Fix missing momentum.h in lufa.c * Added documentation * Renamed feature to velocikey * Reverted readme to original state * Correct the readme title * Updated feature name in the docs * Update EECONFIG name * Add compile-time toggles for velocikey * Update feature documentation * Revert "Merge branch 'led-support' into master" This reverts commit e123ff5febf61639b9a9020748e1c2e2313460ff, reversing changes made to df111a55b9d4929182e16108b1c0ead15b16df97. * Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE * Rename decay_task function to decelerate * Apply suggestions from code review Co-Authored-By: chrislewisdev <chris@chrislewisdev.com> * Re-order eeconfig definitions * Apply coding conventions * Apply #ifdef check in lufa.c * Refactored interval time checks into one functionc * Small rename * Fix unused function error for layouts not using all rgb effects * Only update EEPROM if Velocikey is enabled * Incorporate code review feedback * Small adjustment to top-end decay rate * Add Velocikey documentation to table of contents * Bring tetris:default keymap size down by disabling audio
Diffstat (limited to 'quantum/quantum.c')
-rw-r--r--quantum/quantum.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c
index cb4d5ee80..46d404029 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -47,6 +47,10 @@ extern backlight_config_t backlight_config;
47#include "process_midi.h" 47#include "process_midi.h"
48#endif 48#endif
49 49
50#ifdef VELOCIKEY_ENABLE
51#include "velocikey.h"
52#endif
53
50#ifdef HAPTIC_ENABLE 54#ifdef HAPTIC_ENABLE
51 #include "haptic.h" 55 #include "haptic.h"
52#endif 56#endif
@@ -251,6 +255,10 @@ bool process_record_quantum(keyrecord_t *record) {
251 // return false; 255 // return false;
252 // } 256 // }
253 257
258 #ifdef VELOCIKEY_ENABLE
259 if (velocikey_enabled() && record->event.pressed) { velocikey_accelerate(); }
260 #endif
261
254 #ifdef TAP_DANCE_ENABLE 262 #ifdef TAP_DANCE_ENABLE
255 preprocess_tap_dance(keycode, record); 263 preprocess_tap_dance(keycode, record);
256 #endif 264 #endif
@@ -568,7 +576,14 @@ bool process_record_quantum(keyrecord_t *record) {
568 #endif 576 #endif
569 return false; 577 return false;
570 #endif // defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) 578 #endif // defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
571 #ifdef PROTOCOL_LUFA 579 #ifdef VELOCIKEY_ENABLE
580 case VLK_TOG:
581 if (record->event.pressed) {
582 velocikey_toggle();
583 }
584 return false;
585 #endif
586 #ifdef PROTOCOL_LUFA
572 case OUT_AUTO: 587 case OUT_AUTO:
573 if (record->event.pressed) { 588 if (record->event.pressed) {
574 set_output(OUTPUT_AUTO); 589 set_output(OUTPUT_AUTO);