summaryrefslogtreecommitdiff
path: root/docs
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
parentd8f3c28a3786e7888fe3157c173845107c3ccc95 (diff)
downloadqmk_firmware-bfb2f8e0a8f809374fdec102eb02c3bce46a14ee.tar.gz
qmk_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')
-rw-r--r--docs/_summary.md1
-rw-r--r--docs/feature_wpm.md25
2 files changed, 26 insertions, 0 deletions
diff --git a/docs/_summary.md b/docs/_summary.md
index d6186bbf99..4a6e6996eb 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -80,6 +80,7 @@
* [Terminal](feature_terminal.md)
* [Unicode](feature_unicode.md)
* [Userspace](feature_userspace.md)
+ * [WPM Calculation](feature_wpm.md)
* Hardware Features
* Displays
diff --git a/docs/feature_wpm.md b/docs/feature_wpm.md
new file mode 100644
index 0000000000..12dd080579
--- /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.