Commit Graph

29 Commits

Author SHA1 Message Date
Andrew Pritchard
cd30a60d0e Change to per-key eager debouncing for ErgoDox EZ.
Empirically, waiting for N consecutive identical scans as a debouncing
strategy doesn't work very well for the ErgoDox EZ where scans are very
slow compared to most keyboards.  Instead, debounce the signals by
eagerly reporting a change as soon as one scan observes it, but then
ignoring further changes from that key for the next N scans.

This is implemented by keeping an extra matrix of uint8 countdowns, such
that only keys whose countdown is currently zero are eligible to change.
When we do observe a change, we bump that key's countdown to DEBOUNCE.
During each scan, every nonzero countdown is decremented.

With this approach to debouncing, much higher debounce constants are
tolerable, because latency does not increase with the constant, and
debounce countdowns on one key do not interfere with events on other
keys.  The only negative effect of increasing the constant is that the
minimum duration of a keypress increases.  Perhaps I'm just extremely
unlucky w.r.t. key switch quality, but I saw occasional bounces even
with DEBOUNCE=10; with 15, I've seen none so far.  That's around 47ms,
which seems like an absolutely insane amount of time for a key to be
bouncy, but at least it works.
2017-04-26 15:29:39 -07:00
Fred Sundvik
bb86be1f1f Remove unneeded makefile include 2017-04-09 18:34:59 +03:00
Erez Zukerman
13c882a1fb disables space cadet rollover 2017-04-03 15:11:42 -04:00
Jack Humbert
841d7e6a1d turn off rgb_midi in ez 2017-01-23 13:55:24 -05:00
Jack Humbert
ffc1d97672 Update config.h 2017-01-02 09:57:39 -05:00
Jack Humbert
101416eb82 Merge branch 'master' of github.com:jackhumbert/qmk_firmware 2016-12-19 11:18:22 -05:00
Jack Humbert
06c64bbff3 rgb clean-up, api clean-up 2016-12-19 11:18:18 -05:00
Erez Zukerman
29731588b7 Flips off MIDI and API_SYSEX 2016-12-19 08:27:05 -05:00
Kyle Smith
83e613ad23 Allow power consumption to be set per-keyboard. 2016-12-14 23:29:33 -05:00
Jack Humbert
f946d830f9 guess i didnt pull 2016-11-29 00:11:11 -05:00
Jack Humbert
efbc205efd Merge branch 'wu5y7' of github.com:jackhumbert/qmk_firmware into wu5y7 2016-11-29 00:10:06 -05:00
Jack Humbert
d0cefef946 enable rgblight by default for ez 2016-11-29 00:09:56 -05:00
Jack Humbert
06f18e95d4 enable api sysex for ez 2016-11-29 00:06:12 -05:00
Erez Zukerman
9caf866618 Tweaks EZ Makefile 2016-11-28 07:59:01 -05:00
Erez Zukerman
2d0ada0190 Pulls LED config into common config for EZ 2016-11-28 07:55:02 -05:00
Jack Humbert
06a2677b7e fix infinity 2016-11-21 20:17:32 -05:00
Jack Humbert
e9f7487518 mostly working 2016-11-13 23:02:38 -05:00
Rob Rogers
75ea142d01 Update ez.c 2016-10-18 13:59:19 -05:00
Rob Rogers
1dcee07eab Move hand_swap_config to ez.c, removes error for infinity 2016-10-17 08:04:29 -05:00
Erez Zukerman
1a96b2cdc8 Disables sleep LED by default 2016-09-23 20:57:36 -04:00
profet23
b83f76e1b0 Changing keymap name to "profet_80" 2016-09-08 23:34:55 -04:00
profet23
1406118c71 Removing separate ergodox80 project.
Created KEYMAP_80 in ez.h to support 80 key ergodoxes.
Creating default_80 keymap as ez keymap.
2016-09-06 21:59:47 -04:00
Fred Sundvik
2e3834edea Merge remote-tracking branch 'upstream/master' into makefile_overhaul 2016-08-24 10:37:02 +03:00
Jason Green
7009112752 move to ergodox-ez only 2016-08-23 07:04:55 +00:00
Fred Sundvik
051017c312 Split subproject make files into Makefile and rules.mk 2016-08-20 03:56:23 +03:00
Fred Sundvik
349f189e83 Move Ergodox readme from ez subfolder to parent 2016-07-29 21:09:37 +03:00
Fred Sundvik
426e9ecc6f Fix config.h include guards 2016-07-29 21:09:32 +03:00
Fred Sundvik
e7670f6d19 Move some of the Ergodox config settings to shared 2016-07-29 20:48:22 +03:00
Fred Sundvik
9af995c59b Initial structure for Ergodox as subprojects
Only the EZ default keymaps compiles at the moment though.
2016-07-29 20:48:04 +03:00