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>
This commit is contained in:
		
							parent
							
								
									d8f3c28a37
								
							
						
					
					
						commit
						bfb2f8e0a8
					
				
					 8 changed files with 169 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -80,6 +80,7 @@
 | 
			
		|||
    * [Terminal](feature_terminal.md)
 | 
			
		||||
    * [Unicode](feature_unicode.md)
 | 
			
		||||
    * [Userspace](feature_userspace.md)
 | 
			
		||||
    * [WPM Calculation](feature_wpm.md)
 | 
			
		||||
 | 
			
		||||
  * Hardware Features
 | 
			
		||||
    * Displays
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										25
									
								
								docs/feature_wpm.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								docs/feature_wpm.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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.
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue