summaryrefslogtreecommitdiffstats
path: root/keyboards/handwired/dactyl/config.h
diff options
context:
space:
mode:
authorErin Call <hello@erincall.com>2018-04-27 11:47:41 -0700
committerJack Humbert <jack.humb@gmail.com>2018-04-27 14:47:41 -0400
commit050c21d35f01d4d59d2e1e89eaded2616257f148 (patch)
tree255ac05313745e397abc73c07a3ecdbbb31c2859 /keyboards/handwired/dactyl/config.h
parent642bf00bafefdda243e98c1f04202fcfc5aba88e (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.h15
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