Archived
1
0
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
controller/Scan/MatrixARM/capabilities.kll
Jacob Alexander ae6daa0e5c Adding DebounceThrottleDiv define to slow down the debounce rate.
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.
2015-03-06 22:18:15 -08:00

35 lines
1.4 KiB
Plaintext

Name = MatrixArmCapabilities;
Version = 0.1;
Author = "HaaTa (Jacob Alexander) 2015";
KLL = 0.3a;
# Modified Date
Date = 2015-02-28;
# Defines available to the MatrixArm sub-module
# This debounce scheme uses a rolling counter for press/unpress on each key
# Each counter is incremented if pressed/unpressed and the opposite counter is divided by 2
# Using the default division threshold (0xFFFF), there are approximately 13 cycles in a perfect cycle
# If debounce is actually necessary, this will increase (better switches will debounce faster)
#
# The maximum threshold is 0xFFFFFFFF, which will give around ~32 -> 36 cycles per perfect cycle
# Using a threshold higher than 0xFFFF will require 32 bit variables, and double the ram usage.
DebounceDivThreshold => DebounceDivThreshold_define;
DebounceDivThreshold = 0xFFFF; # Default debounce
#DebounceDivThreshold = 0xFFFFFFFF; # Max debounce
# This defines how often the matrix is scanned
# By, default the key matrix is scanned once per macro processing loop
# For fast uCs and bouncy switches, this can be non-ideal
# 0 - Bit-shift of 0
# 1 - Bit-shift of 1 (i.e. divide by 2)
# 2 - Bit-shift of 2 (i.e. divide by 4)
# 3 - Bit-shift of 3 (i.e. divide by 8)
# etc.
# Depending on the architecture, this is either a maximum of 16 or 32
# Increasing this value will increase switch latency
DebounceThrottleDiv => DebounceThrottleDiv_define;
DebounceThrottleDiv = 0; # Default
#DebounceThrottleDiv = 2; # /4 divider