aboutsummaryrefslogtreecommitdiffstats
path: root/docs/feature_wpm.md
diff options
context:
space:
mode:
authorbrickbots <rich@brickbots.com>2020-03-22 06:06:16 -0700
committerGitHub <noreply@github.com>2020-03-23 00:06:16 +1100
commitbfb2f8e0a8f809374fdec102eb02c3bce46a14ee (patch)
tree2bab982f9b1cc9184b58ca9764d1ba09e133335c /docs/feature_wpm.md
parentd8f3c28a3786e7888fe3157c173845107c3ccc95 (diff)
downloadfirmware-bfb2f8e0a8f809374fdec102eb02c3bce46a14ee.tar.gz
firmware-bfb2f8e0a8f809374fdec102eb02c3bce46a14ee.tar.bz2
firmware-bfb2f8e0a8f809374fdec102eb02c3bce46a14ee.zip
Add Word Per Minute calculation feature (#8054)
* Add Word Per Minute calculation feature * Fix copyright info * Remove header from quantum.c, setup overloadable keycode inclusion for WPM, update docs * Simplify logic for keycode filtering * Adding link from summary to wpm_feature info * Update docs/feature_wpm.md Typo in function prototype example in docs Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> * Add WPM transport via i2c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Diffstat (limited to 'docs/feature_wpm.md')
-rw-r--r--docs/feature_wpm.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/feature_wpm.md b/docs/feature_wpm.md
new file mode 100644
index 000000000..12dd08057
--- /dev/null
+++ b/docs/feature_wpm.md
@@ -0,0 +1,25 @@
+# Word Per Minute (WPM) Calculcation
+
+The WPM feature uses time between keystrokes to compute a rolling average words
+per minute rate and makes this available for various uses.
+
+Enable the WPM system by adding this to your `rules.mk`:
+
+ WPM_ENABLE = yes
+
+For split keyboards using soft serial, the computed WPM
+score will be available on the master AND slave half.
+
+## Public Functions
+
+`uint8_t get_current_wpm(void);`
+This function returns the current WPM as an unsigned integer.
+
+
+## Customized keys for WPM calc
+
+By default, the WPM score only includes letters, numbers, space and some
+punctuation. If you want to change the set of characters considered as part of
+the WPM calculation, you can implement `wpm_keycode_user(uint16_t keycode)`
+and return true for any characters you would like included in the calculation,
+or false to not count that particular keycode.