- Almost never needed
- However, some keyboards exhibit odd strobing behaviours (pressing two keys at once with a single key)
- Setting to around 10 us tends to fix the issue
- Uses expiry timer to decide on when to allow a state change
- Initial state transitions are unaffected
- Use MinDebounceTime define in kll to configure
- ms granularity
By default:
DebounceThrottleDiv = 0;
This is the default infinity behaviour right now (may be changed in the future).
Increasing DebounceThrottleDiv will increase the scan rate divider.
DebounceThrottleDiv = 1; # Scans half as much
DebounceThrottleDiv = 2; # Scans a quarter as much
DebounceThrottleDiv = 3; # Scans an eigth as much
etc.
For ARM based uCs (like the Infinity) the maximum divider is 32.
Can be specified from any .kll file
DebounceDivThreshold = 0xFFFFFFFF
Sets to max debounce, default is 0xFFFF.
The 0xFFFFFFFF is about a 2x longer debounce
The max requires more ram (as it uses 32 bit variables instead of 16).
Added support for submodule capabilities files.