summaryrefslogtreecommitdiff
path: root/keyboards/ergodox_ez/config.h
AgeCommit message (Collapse)Author
2018-11-20Adaptive debounce logicMichael Graf
The debounce filtering reports a key/switch change directly, without any extra delay. After that the debounce logic will filter all further changes, until the key/switch reports the same state for the given count of scans. So a perfect switch will get a short debounce period and a bad key will get a much longer debounce period. The result is an adaptive debouncing period for each switch. This value defines how often the same key/switch state has to be detected in successive reads until the next key state can be reported. In other words this value defines the minimum debouncing period for a switch.
2018-09-17Make `PREVENT_STUCK_MODIFIERS` the default (#3107)Joe Wasson
* Remove chording as it is not documented, not used, and needs work. * Make Leader Key an optional feature. * Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE` * Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-07-08Re-add RGBW code, so RGB Underglow will compileDrashna Jaelre
2018-06-22refactor, non-workingJack Humbert
2018-06-12adds timeout to avr i2cJack Humbert
2018-06-12revert some attempts, update i2cJack Humbert
2018-05-09a quick attemptErez Zukerman
2017-11-27Merge pull request #2047 from seebs/seebs/ergodox_brightnessErez Zukerman
Make brightness easier to change
2017-11-26improve ergodox ez performanceSeebs
With these changes, the ergodox ez goes from 315 scans per second when no keys are pressed (~3.17ms/scan) to 447 (~2.24ms/scan). The changes to the pin read are just condensing the logic, and replacing a lot of conditional operations with a single bitwise inversion. The change to row scanning is more significant, and merits explanation. In general, you can only scan one row of a keyboard at a time, because if you scan two rows, you no longer know which row is pulling a given column down. But in the Ergodox design, this isn't the case; the left hand is controlled by an I2C-based GPIO expander, and the columns and rows are *completely separate* electrically from the columns and rows on the right-hand side. So simply reading rows in parallel offers two significant improvements. One is that we no longer need the 30us delay after each right-hand row, because we're spending more than 30us communicating with the left hand over i2c. Another is that we're no longer wastefully sending i2c messages to the left hand to unselect rows when no rows had actually been selected in the first place. These delays were, between them, coming out to nearly 30% of the time spent in each scan. Signed-off-by: seebs <seebs@seebs.net>
2017-11-23Make brightness easier to changeSeebs
Don't make the #defines unconditional, make them optional so users can override them with per-keymap settings more easily.
2017-11-09disables Shine LED layer indication for nowErez Zukerman
2017-11-06adds indication up to layer 7Erez Zukerman
2017-08-23Creates a layouts/ folder for keymaps shared between keyboards (#1609)Jack Humbert
* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
2016-07-29Initial structure for Ergodox as subprojectsFred Sundvik
Only the EZ default keymaps compiles at the moment though.
2016-07-04Improves debounceJack Humbert
2016-06-21Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)Jack Humbert
* fixes from tmk's repo * rename keyboard to keyboards