123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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
-
- # This defines the minimum amount of time after a transition until allowing another transition
- # Generally switches require a minimum 5 ms debounce period
- # Since a decision can usually be made quite quickly, there is little latency on each press
- # However, this defines the latency at which the switch state can change
- MinDebounceTime => MinDebounceTime_define;
- MinDebounceTime = 5; # 5 ms
-
- # This option delays each strobe by the given number of microseconds
- # By default this should *NOT* be set unless your keyboard is having issues
- # Delaying more than 10 usecs may cause significant slow-downs with other keyboard functions
- StrobeDelay => StrobeDelay_define;
- StrobeDelay = 0; # Disabled
- #StrobeDelay = 10; # 10 us
|