diff options
author | 2016-07-07 11:13:22 -0400 | |
---|---|---|
committer | 2016-07-07 11:13:22 -0400 | |
commit | 97dfbd1afce005392aa8f067e89bdf95334bdea5 (patch) | |
tree | 1b198dd239bcb49564c31f124978abde0b467a81 /keyboards/ergodox_ez/matrix.c | |
parent | 2e1cfaf73fccdfaba2d7542f00bd7c3d49998d5d (diff) | |
parent | ad43d450ca1b988d196da80e2a745f45f24068f6 (diff) | |
download | qmk_firmware-97dfbd1afce005392aa8f067e89bdf95334bdea5.tar.gz |
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboards/ergodox_ez/matrix.c')
-rw-r--r-- | keyboards/ergodox_ez/matrix.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/matrix.c b/keyboards/ergodox_ez/matrix.c index 9c1efa1d0..dc29cf5cd 100644 --- a/keyboards/ergodox_ez/matrix.c +++ b/keyboards/ergodox_ez/matrix.c @@ -39,6 +39,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "timer.h" #endif +/* + * This constant define not debouncing time in msecs, but amount of matrix + * scan loops which should be made to get stable debounced results. + * + * On Ergodox matrix scan rate is relatively low, because of slow I2C. + * Now it's only 317 scans/second, or about 3.15 msec/scan. + * According to Cherry specs, debouncing time is 5 msec. + * + * And so, there is no sense to have DEBOUNCE higher than 2. + */ + #ifndef DEBOUNCE # define DEBOUNCE 5 #endif @@ -181,6 +192,7 @@ uint8_t matrix_scan(void) if (debouncing) { if (--debouncing) { wait_us(1); + // this should be wait_ms(1) but has been left as-is at EZ's request } else { for (uint8_t i = 0; i < MATRIX_ROWS; i++) { matrix[i] = matrix_debouncing[i]; |