diff options
| author | Chris Lewis <chris@chrislewisdev.com> | 2019-02-22 02:22:46 +1100 |
|---|---|---|
| committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-02-21 07:22:46 -0800 |
| commit | c1c5922aae7b60b7c7d13d3769350eed9dda17ab (patch) | |
| tree | 7c3805d9b949ef2d802bd3df4e9238662a5cdc0b /tmk_core | |
| parent | 9f1d781fcb7129a07e671a46461e501e3f1ae59d (diff) | |
| download | qmk_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 'tmk_core')
| -rw-r--r-- | tmk_core/common/eeconfig.c | 1 | ||||
| -rw-r--r-- | tmk_core/common/eeconfig.h | 1 | ||||
| -rw-r--r-- | tmk_core/common/keyboard.c | 7 |
3 files changed, 9 insertions, 0 deletions
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c index ded27e599..9c1e3520e 100644 --- a/tmk_core/common/eeconfig.c +++ b/tmk_core/common/eeconfig.c | |||
| @@ -46,6 +46,7 @@ void eeconfig_init_quantum(void) { | |||
| 46 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); | 46 | eeprom_update_dword(EECONFIG_RGBLIGHT, 0); |
| 47 | eeprom_update_byte(EECONFIG_STENOMODE, 0); | 47 | eeprom_update_byte(EECONFIG_STENOMODE, 0); |
| 48 | eeprom_update_dword(EECONFIG_HAPTIC, 0); | 48 | eeprom_update_dword(EECONFIG_HAPTIC, 0); |
| 49 | eeprom_update_byte(EECONFIG_VELOCIKEY, 0); | ||
| 49 | 50 | ||
| 50 | eeconfig_init_kb(); | 51 | eeconfig_init_kb(); |
| 51 | } | 52 | } |
diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h index d576634f5..0ac3dff07 100644 --- a/tmk_core/common/eeconfig.h +++ b/tmk_core/common/eeconfig.h | |||
| @@ -40,6 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 40 | #define EECONFIG_HANDEDNESS (uint8_t *)14 | 40 | #define EECONFIG_HANDEDNESS (uint8_t *)14 |
| 41 | #define EECONFIG_KEYBOARD (uint32_t *)15 | 41 | #define EECONFIG_KEYBOARD (uint32_t *)15 |
| 42 | #define EECONFIG_USER (uint32_t *)19 | 42 | #define EECONFIG_USER (uint32_t *)19 |
| 43 | #define EECONFIG_VELOCIKEY (uint8_t *)23 | ||
| 43 | 44 | ||
| 44 | #define EECONFIG_HAPTIC (uint32_t*)24 | 45 | #define EECONFIG_HAPTIC (uint32_t*)24 |
| 45 | 46 | ||
diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 849d74aa1..52546866e 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c | |||
| @@ -75,6 +75,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 75 | #ifdef QWIIC_ENABLE | 75 | #ifdef QWIIC_ENABLE |
| 76 | # include "qwiic.h" | 76 | # include "qwiic.h" |
| 77 | #endif | 77 | #endif |
| 78 | #ifdef VELOCIKEY_ENABLE | ||
| 79 | #include "velocikey.h" | ||
| 80 | #endif | ||
| 78 | 81 | ||
| 79 | #ifdef MATRIX_HAS_GHOST | 82 | #ifdef MATRIX_HAS_GHOST |
| 80 | extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; | 83 | extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; |
| @@ -336,6 +339,10 @@ MATRIX_LOOP_END: | |||
| 336 | midi_task(); | 339 | midi_task(); |
| 337 | #endif | 340 | #endif |
| 338 | 341 | ||
| 342 | #ifdef VELOCIKEY_ENABLE | ||
| 343 | if (velocikey_enabled()) { velocikey_decelerate(); } | ||
| 344 | #endif | ||
| 345 | |||
| 339 | // update LED | 346 | // update LED |
| 340 | if (led_status != host_keyboard_leds()) { | 347 | if (led_status != host_keyboard_leds()) { |
| 341 | led_status = host_keyboard_leds(); | 348 | led_status = host_keyboard_leds(); |
