diff options
Diffstat (limited to 'quantum/wpm.c')
-rw-r--r-- | quantum/wpm.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/quantum/wpm.c b/quantum/wpm.c index d4c971f313..da30bd252c 100644 --- a/quantum/wpm.c +++ b/quantum/wpm.c @@ -17,12 +17,12 @@ #include "wpm.h" -//WPM Stuff -static uint8_t current_wpm = 0; -static uint8_t latest_wpm = 0; -static uint16_t wpm_timer = 0; +// WPM Stuff +static uint8_t current_wpm = 0; +static uint8_t latest_wpm = 0; +static uint16_t wpm_timer = 0; -//This smoothing is 40 keystrokes +// This smoothing is 40 keystrokes static const float wpm_smoothing = 0.0487; void set_current_wpm(uint8_t new_wpm) { current_wpm = new_wpm; } @@ -34,34 +34,31 @@ bool wpm_keycode(uint16_t keycode) { return wpm_keycode_kb(keycode); } __attribute__((weak)) bool wpm_keycode_kb(uint16_t keycode) { return wpm_keycode_user(keycode); } __attribute__((weak)) bool wpm_keycode_user(uint16_t keycode) { - if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX) || (keycode >= QK_MODS && keycode <= QK_MODS_MAX)) { keycode = keycode & 0xFF; } else if (keycode > 0xFF) { - keycode = 0; + keycode = 0; } - if((keycode >= KC_A && keycode <= KC_0) || (keycode >= KC_TAB && keycode <= KC_SLASH)) { - return true; + if ((keycode >= KC_A && keycode <= KC_0) || (keycode >= KC_TAB && keycode <= KC_SLASH)) { + return true; } return false; } - void update_wpm(uint16_t keycode) { - if(wpm_keycode(keycode)) { - if(wpm_timer > 0) { - latest_wpm = 60000 / timer_elapsed(wpm_timer) / 5; - current_wpm = (latest_wpm - current_wpm) * wpm_smoothing + current_wpm; - } - wpm_timer = timer_read(); + if (wpm_keycode(keycode)) { + if (wpm_timer > 0) { + latest_wpm = 60000 / timer_elapsed(wpm_timer) / 5; + current_wpm = (latest_wpm - current_wpm) * wpm_smoothing + current_wpm; + } + wpm_timer = timer_read(); } } void decay_wpm(void) { - if (timer_elapsed(wpm_timer) > 1000) { - current_wpm = (0 - current_wpm) * wpm_smoothing + - current_wpm; - wpm_timer = timer_read(); - } + if (timer_elapsed(wpm_timer) > 1000) { + current_wpm = (0 - current_wpm) * wpm_smoothing + current_wpm; + wpm_timer = timer_read(); + } } |