diff options
author | Erin Call <hello@erincall.com> | 2018-04-27 11:47:41 -0700 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2018-04-27 14:47:41 -0400 |
commit | 050c21d35f01d4d59d2e1e89eaded2616257f148 (patch) | |
tree | 255ac05313745e397abc73c07a3ecdbbb31c2859 /keyboards/handwired/dactyl/config.h | |
parent | 642bf00bafefdda243e98c1f04202fcfc5aba88e (diff) |
Bring dactyl/matrix.c in line with quantum/matrix.c (#2613)
* Use the new debounce algorithm in dactyl/matrix.c [#2065]
This incorporates the fixed/optimized debounce code added to
quantum/matrix.c in:
* 508eddf8ba8548d3f71e1c09a404839beb49f45c
* 4c6960835c0a6e29670dabdc27117d7d3c7f99f5
* 32f88c07173b795c6981c779057dceba00aeb1cb
* f4030289744fc6dc82dd85c955070c0845813cc5
* a06115df19a74d39b08758472b221e630c3680d3
* Fix the row/column swap in dactyl [#2065]
With a column-driven keyboard, reading from the mcp23081 returns a
column-state, which takes some extra work to translate into the
row-state used in the actual matrix. The ergodox_ez code sidestepped
that problem by calling rows "columns" and columns "rows." With this
change, the dactyl now calls rows "rows" and columns "columns."
* Cleanup: variable names, documentation [#2065]
* Support MATRIX_MASKED in dactyl/matrix.c [#2065]
* Only unselect one col in unselect_col [#2065]
Bonus: saves one i2c transaction per matrix_scan!
* Implement COL2ROW in dactyl/matrix.c [#2065]
* Fix a typo in dactyl/matrix.c
This entirely doesn't matter. The PORT values are set during
init_keyboard and never change. They're repeatedly set to the same
thing. These PORT lines shouldn't even exist, but since they do, they
should at least look right.
* Implement COL_PINS/ROW_PINS for dactyl [#2065]
* Rename "mcp23018" to "expander" [#2065]
I honestly don't know whether/how well this code works with other I/O
expanders, but at least in theory, it should be generic enough to work
with others. Given that, the variable names shouldn't refer to a
specific model of expander.
* Remove matrix_power_up from dactyl/matrix.c [#2065]
It's commented out in quantum/matrix.c, and the dactyl has no power
up/down behavior beyond being unplugged (which goes to matrix_init), so
there's no sense keeping it around.
* Only initialize expander_input_mask once [#2065]
...and rename input_mask to expander_input_mask, since now that it isn't
scoped to init_expander it isn't clear that it's only for the expander.
Diffstat (limited to 'keyboards/handwired/dactyl/config.h')
-rw-r--r-- | keyboards/handwired/dactyl/config.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/keyboards/handwired/dactyl/config.h b/keyboards/handwired/dactyl/config.h index 8129b0a670..a990cc7208 100644 --- a/keyboards/handwired/dactyl/config.h +++ b/keyboards/handwired/dactyl/config.h @@ -30,12 +30,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define PRODUCT Dactyl #define DESCRIPTION An ortholinear, split, 3D-curved keyboard with thumb clusters. -/* key matrix size - * At this time, "row" in the dactyl's code actually means "column" on the - * physical keyboard. It's confusing. I'm sorry. Blame Jack Humbert :P - */ -#define MATRIX_ROWS 12 -#define MATRIX_COLS 6 +#define DIODE_DIRECTION ROW2COL +#define MATRIX_ROWS 6 +#define MATRIX_COLS 12 +#define COL_EXPANDED { true, true, true, true, true, true, false, false, false, false, false, false} +#define MATRIX_ONBOARD_ROW_PINS { F0, F1, F4, F5, F6, F7 } +#define MATRIX_ONBOARD_COL_PINS { 0, 0, 0, 0, 0, 0, B1, B2, B3, D2, D3, C6 } +#define EXPANDER_COL_REGISTER 0 +#define MATRIX_EXPANDER_COL_PINS {0, 1, 2, 3, 4, 5} +#define MATRIX_EXPANDER_ROW_PINS {0, 1, 2, 3, 4, 5} #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 |