vectorstorm
c9fd698711
Reimplements WPM feature to be smaller & precise ( #13902 )
...
* Reimplements WPM feature.
- Now calculates exact WPM over the last up to three seconds of typing.
- WPM_SMOOTHING removed, as it's no longer needed.
- WPM_SAMPLE_SECONDS added, to specify how long a period to average WPM
over, set to 5 seconds by default.
- WPM_SAMPLE_PERIODS added, to specify how many sampling buffers we'll
use. Each one uses one extra byte of space. Having more will lead
to smoother decay of WPM values. Defaults to 50 (we're saving so
many bytes of firmware space I felt like being extravagent, and this
change is still a big size saving overall)
- WPM_UNFILTERED option added (defaults to unset), which disables all
filtering within the WPM feature. This saves some space in the
firmware and also reduces latency between typing and the WPM
calculation measuring it. (saves 70 bytes in my tests)
- WPM_LAUNCH_CONTROL added (defaults to unset). When typing begins
while the current displayed WPM value is zero, the WPM calculation
only considers the time elapsed since typing began, not the whole
WPM_SAMPLE_SECONDS buffer. The result of this is that the displayed
WPM value much more rapidly reaches an accurate WPM value, even when
results are being filtered. (costs 22 bytes in my tests)
- Updates documentation to reflect changed options.
Saves about 900 bytes, in my tests, compared against the previous implementation,
with default settings.
* Apply suggestions from code review
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Trevor Powell <trevor@vectorstorm.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-11-16 05:40:52 +11:00
..
audio
Move Audio drivers from quantum to platform drivers folder ( #14308 )
2021-10-06 12:01:45 +11:00
backlight
fix typo in backlight code from #14439 ( #14442 )
2021-09-15 03:37:45 +01:00
bootmagic
Fix issues with VIA EEPROM init and bring in line with eeconfig functionality ( #13243 )
2021-08-20 21:02:53 -07:00
debounce
Manually format develop ( #15003 )
2021-11-01 19:18:33 +00:00
keymap_extras
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
led_matrix
Fixup LED matrix. ( #15020 )
2021-11-02 10:05:42 +00:00
logging
Move print/debug files to quantum ( #12069 )
2021-08-03 18:49:33 +01:00
process_keycode
Merge remote-tracking branch 'origin/master' into develop
2021-11-13 09:32:14 -08:00
rgb_matrix
Add Pixel Rain RGB Matrix effect ( #14155 )
2021-11-02 10:40:25 +11:00
rgblight
Merge remote-tracking branch 'upstream/master' into develop
2021-07-25 12:17:15 +10:00
sequencer
Remove SERIAL_LINK feature ( #14727 )
2021-10-07 12:32:05 +11:00
split_common
Manually format develop ( #15003 )
2021-11-01 19:18:33 +00:00
action.c
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
action.h
Manually format develop ( #15003 )
2021-11-01 19:18:33 +00:00
action_code.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_layer.c
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_layer.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_macro.c
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_macro.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_tapping.c
Manually format develop ( #15003 )
2021-11-01 19:18:33 +00:00
action_tapping.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
action_util.c
Fix issues with Oneshot disabling ( #14934 )
2021-11-01 09:41:24 -07:00
action_util.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
bitwise.c
Migrate some tmk_core files to quantum ( #11791 )
2021-02-07 23:16:15 +00:00
bitwise.h
Migrate some tmk_core files to quantum ( #11791 )
2021-02-07 23:16:15 +00:00
color.c
Add support for hsv->rgb conversion without using CIE curve. ( #9856 )
2020-08-29 14:30:02 -07:00
color.h
Relocate RGB/HSV color defs to a more fitting place ( #13377 )
2021-06-29 19:15:58 +01:00
command.c
[Bug] Fix command feature if mousekey is enabled and using 3-speed setting ( #14697 )
2021-10-05 17:50:23 -07:00
command.h
Refactor quantum/command.{c,h} for code size & {read,maintain}ability ( #11842 )
2021-08-07 17:12:57 +10:00
config_common.h
Remove deprecated KEYMAP alias ( #15037 )
2021-11-03 12:18:11 +11:00
crc.c
Add CRC8 calculation subsystem to quantum ( #12641 )
2021-06-18 00:09:43 +01:00
crc.h
Add CRC8 calculation subsystem to quantum ( #12641 )
2021-06-18 00:09:43 +01:00
debounce.h
Avoid 8-bit timer overflows in debounce algorithms ( #12240 )
2021-06-09 17:23:21 +10:00
deferred_exec.c
Add support for deferred executors. ( #14859 )
2021-11-15 18:21:09 +00:00
deferred_exec.h
Add support for deferred executors. ( #14859 )
2021-11-15 18:21:09 +00:00
digitizer.c
Digitizer HID interface : absolute coordinates for mouse cursor ( #12851 )
2021-08-18 04:52:44 +10:00
digitizer.h
Digitizer HID interface : absolute coordinates for mouse cursor ( #12851 )
2021-08-18 04:52:44 +10:00
dip_switch.c
Align DIP_SWITCH_PINS_RIGHT implementation with encoders ( #14079 )
2021-08-20 10:15:11 +01:00
dip_switch.h
Convert Dip Switch callbacks to boolean functions ( #13399 )
2021-07-01 08:22:21 -07:00
dynamic_keymap.c
Improve EEPROM defaults for Dynamic Keymaps ( #12853 )
2021-05-10 15:37:36 -07:00
dynamic_keymap.h
clang-format changes
2019-08-30 15:01:52 -07:00
dynamic_macro.h
[Core] Convert Dynamic Macro to a Core Feature ( #5948 )
2019-11-04 22:59:13 -08:00
eeconfig.c
Migrate STM32_EEPROM_ENABLE to use EEPROM_DRIVER ( #14433 )
2021-09-15 01:21:36 -07:00
eeconfig.h
Reuse of EEPROM debounce logic ( #14699 )
2021-10-07 01:47:14 +01:00
encoder.c
Allow for removal of hysteresis on 4x encoders ( #13698 )
2021-08-18 09:40:00 +10:00
encoder.h
2021 May 29 Breaking Changes Update ( #13034 )
2021-05-29 14:38:50 -07:00
haptic.c
haptic: Feature to disable it when usb port is not configured or suspended. ( #12692 )
2021-11-02 16:54:29 +11:00
haptic.h
haptic: Feature to disable it when usb port is not configured or suspended. ( #12692 )
2021-11-02 16:54:29 +11:00
joystick.c
Hid joystick interface ( #4226 )
2020-08-29 14:30:02 -07:00
joystick.h
2020 November 28 Breaking Changes Update ( #11053 )
2020-11-28 12:02:18 -08:00
keyboard.c
Fix develop after recent changes ( #14975 )
2021-10-28 23:43:57 +01:00
keyboard.h
Migrate platform independent code from tmk_core -> quantum ( #13673 )
2021-08-18 00:18:58 +01:00
keycode.h
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
keycode_config.c
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
keycode_config.h
2021 May 29 Breaking Changes Update ( #13034 )
2021-05-29 14:38:50 -07:00
keycode_legacy.h
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
keymap.h
Revert 14083 && 14144 ( #14150 )
2021-08-25 01:16:59 +01:00
keymap_common.c
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
led.c
Ensure single newline at EOF for core files ( #11310 )
2020-12-28 04:36:32 +11:00
led.h
Migrate some tmk_core files to quantum ( #11791 )
2021-02-07 23:16:15 +00:00
led_tables.c
Remove unused LED_BREATHING_TABLE
2020-03-06 22:29:01 -08:00
led_tables.h
Change include guards in quantum/ to pragma once ( #11239 )
2020-12-26 15:53:12 +11:00
main.c
Add support for deferred executors. ( #14859 )
2021-11-15 18:21:09 +00:00
matrix.c
Optimize matrix scanning by removing variable shifts ( #14947 )
2021-10-26 20:01:57 -07:00
matrix.h
Change the prototype of matrix_output_unselect_delay() ( #13045 )
2021-07-13 16:50:25 +09:00
matrix_common.c
Change the prototype of matrix_output_unselect_delay() ( #13045 )
2021-07-13 16:50:25 +09:00
mousekey.c
mousekey: expose current report to users ( #13069 )
2021-07-03 00:50:47 -07:00
mousekey.h
mousekey: expose current report to users ( #13069 )
2021-07-03 00:50:47 -07:00
pointing_device.c
Add needed include to pointing_device.c ( #15167 )
2021-11-16 04:09:31 +11:00
pointing_device.h
Rework and expand Pointing Device support ( #14343 )
2021-11-14 22:03:24 -08:00
pointing_device_drivers.c
Rework and expand Pointing Device support ( #14343 )
2021-11-14 22:03:24 -08:00
programmable_button.c
Add Support for USB programmable buttons ( #12950 )
2021-09-15 08:40:22 -07:00
programmable_button.h
Add Support for USB programmable buttons ( #12950 )
2021-09-15 08:40:22 -07:00
quantum.c
Rework and expand Pointing Device support ( #14343 )
2021-11-14 22:03:24 -08:00
quantum.h
Add support for deferred executors. ( #14859 )
2021-11-15 18:21:09 +00:00
quantum_keycodes.h
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
raw_hid.h
Relocate protocol files within tmk_core/common/ ( #14972 )
2021-10-28 22:31:59 +01:00
ring_buffer.h
Migrate some tmk_core files to quantum ( #11791 )
2021-02-07 23:16:15 +00:00
send_string.c
Move SENDSTRING_BELL code to send_string.h ( #13566 )
2021-07-16 09:40:20 -07:00
send_string.h
Remove hex_to_keycode and move tap_random_base64 to send_string.c ( #12079 )
2021-03-12 18:03:44 +11:00
send_string_keycodes.h
Workaround for recent changes to mouse keycodes ( #12367 )
2021-03-24 19:38:35 +00:00
sync_timer.c
Relocate protocol files within tmk_core/common/ ( #14972 )
2021-10-28 22:31:59 +01:00
sync_timer.h
Relocate protocol files within tmk_core/common/ ( #14972 )
2021-10-28 22:31:59 +01:00
util.h
Migrate some tmk_core files to quantum ( #11791 )
2021-02-07 23:16:15 +00:00
variable_trace.c
clang-format changes
2019-08-30 15:01:52 -07:00
variable_trace.h
Change include guards in quantum/ to pragma once ( #11239 )
2020-12-26 15:53:12 +11:00
velocikey.c
clang-format changes
2019-08-30 15:01:52 -07:00
velocikey.h
Change include guards in quantum/ to pragma once ( #11239 )
2020-12-26 15:53:12 +11:00
via.c
Fix issues with VIA EEPROM init and bring in line with eeconfig functionality ( #13243 )
2021-08-20 21:02:53 -07:00
via.h
Fix issues with VIA EEPROM init and bring in line with eeconfig functionality ( #13243 )
2021-08-20 21:02:53 -07:00
via_ensure_keycode.h
Basic keycode overhaul ( #14726 )
2021-11-03 22:22:17 -07:00
virtser.h
Relocate protocol files within tmk_core/common/ ( #14972 )
2021-10-28 22:31:59 +01:00
wpm.c
Reimplements WPM feature to be smaller & precise ( #13902 )
2021-11-16 05:40:52 +11:00
wpm.h
Reimplements WPM feature to be smaller & precise ( #13902 )
2021-11-16 05:40:52 +11:00