forked from mirrors/qmk_userspace
		
	Also improve documentation for related settings.
This commit is contained in:
		
					parent
					
						
							
								8906e62c1f
							
						
					
				
			
			
				commit
				
					
						7fef5ca240
					
				
			
		
					 2 changed files with 33 additions and 3 deletions
				
			
		| 
						 | 
					@ -123,21 +123,23 @@ If you define these options you will enable the associated feature, which may in
 | 
				
			||||||
## Behaviors That Can Be Configured
 | 
					## Behaviors That Can Be Configured
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* `#define TAPPING_TERM 200`
 | 
					* `#define TAPPING_TERM 200`
 | 
				
			||||||
  * how long before a tap becomes a hold
 | 
					  * how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
 | 
				
			||||||
* `#define RETRO_TAPPING`
 | 
					* `#define RETRO_TAPPING`
 | 
				
			||||||
  * tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
 | 
					  * tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
 | 
				
			||||||
* `#define TAPPING_TOGGLE 2`
 | 
					* `#define TAPPING_TOGGLE 2`
 | 
				
			||||||
  * how many taps before triggering the toggle
 | 
					  * how many taps before triggering the toggle
 | 
				
			||||||
* `#define PERMISSIVE_HOLD`
 | 
					* `#define PERMISSIVE_HOLD`
 | 
				
			||||||
  * makes tap and hold keys work better for fast typers who don't want tapping term set above 500
 | 
					  * makes tap and hold keys work better for fast typers who don't want tapping term set above 500
 | 
				
			||||||
 | 
					* `#define IGNORE_MOD_TAP_INTERRUPT`
 | 
				
			||||||
 | 
					  * makes it possible to do rolling combos (zx) with keys that convert to other keys on hold
 | 
				
			||||||
 | 
					* `#define TAPPING_FORCE_HOLD`
 | 
				
			||||||
 | 
					  * makes it possible to use a dual role key as modifier shortly after having been tapped
 | 
				
			||||||
* `#define LEADER_TIMEOUT 300`
 | 
					* `#define LEADER_TIMEOUT 300`
 | 
				
			||||||
  * how long before the leader key times out
 | 
					  * how long before the leader key times out
 | 
				
			||||||
* `#define ONESHOT_TIMEOUT 300`
 | 
					* `#define ONESHOT_TIMEOUT 300`
 | 
				
			||||||
  * how long before oneshot times out
 | 
					  * how long before oneshot times out
 | 
				
			||||||
* `#define ONESHOT_TAP_TOGGLE 2`
 | 
					* `#define ONESHOT_TAP_TOGGLE 2`
 | 
				
			||||||
  * how many taps before oneshot toggle is triggered
 | 
					  * how many taps before oneshot toggle is triggered
 | 
				
			||||||
* `#define IGNORE_MOD_TAP_INTERRUPT`
 | 
					 | 
				
			||||||
  * makes it possible to do rolling combos (zx) with keys that convert to other keys on hold
 | 
					 | 
				
			||||||
* `#define QMK_KEYS_PER_SCAN 4`
 | 
					* `#define QMK_KEYS_PER_SCAN 4`
 | 
				
			||||||
  * Allows sending more than one key per scan. By default, only one key event gets
 | 
					  * Allows sending more than one key per scan. By default, only one key event gets
 | 
				
			||||||
    sent via `process_record()` per scan. This has little impact on most typing, but
 | 
					    sent via `process_record()` per scan. This has little impact on most typing, but
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -175,3 +175,31 @@ Example: (Tapping Term = 200ms)
 | 
				
			||||||
- SHFT_T(KC_A) Up
 | 
					- SHFT_T(KC_A) Up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
With defaults, if above is typed within tapping term, this will emit `ax`. With permissive hold, if above is typed within tapping term, this will emit `X` (so, Shift+X).
 | 
					With defaults, if above is typed within tapping term, this will emit `ax`. With permissive hold, if above is typed within tapping term, this will emit `X` (so, Shift+X).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Mod tap interrupt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When a dual role key used for a modifier is quickly followed by another keys, it is interpreted as held even before the tapping term elapsed.  This is a problem if a key is used for example inside a rolling combo because the second key will be pressed before the first key is released.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For example, when trying to type the rolling combo "zx" and z being configured to send Ctrl when hold, z rapidly followed by x actually sends Ctrl-x. That's bad.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can disable this behavior by defining `IGNORE_MOD_TAP_INTERRUPT` in `config.h`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note that this only concerns modifiers and not layer switching keys.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Hold after tap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When the user holds a key after tap, this repeats the tapped key rather to hold a modifier key.  This allows to use auto repeat for the tapped key.  If you prefer to hold a modifier instead, define `TAPPING_FORCE_HOLD` in `config.h`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- SHFT_T(KC_A) Down
 | 
				
			||||||
 | 
					- SHFT_T(KC_A) Up
 | 
				
			||||||
 | 
					- SHFT_T(KC_A) Down
 | 
				
			||||||
 | 
					- wait more than tapping term...
 | 
				
			||||||
 | 
					- SHFT_T(KC_A) Up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					With default settings, `a` will be sent on the first release, then `a` will be sent on the second press allowing the computer to trigger its auto repeat function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					With `TAPPING_FORCE_HOLD`, the second press will be interpreted as a Shift, allowing to use it as a modifier shortly after having used it as a tap.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					!> `TAPPING_FORCE_HOLD` will break anything that uses tapping toggles (Such as the `TT` layer keycode, and the One Shot Tapping Toggle).
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue