summaryrefslogtreecommitdiffstats
path: root/docs/hardware_avr.md
diff options
context:
space:
mode:
authorzvecr <git@zvecr.com>2019-04-11 20:51:55 +0200
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-04-11 20:51:55 +0200
commit0137b0231957c0b2fde80ac0e2a769ba4cbd60e7 (patch)
tree581ae59d969aa725bf0af268a09808f1f4ae7bbf /docs/hardware_avr.md
parentdc570b0b389d23b8ea8b46311294a7040b5e1e44 (diff)
downloadqmk_firmware-0137b0231957c0b2fde80ac0e2a769ba4cbd60e7.tar.gz
qmk_firmware-0137b0231957c0b2fde80ac0e2a769ba4cbd60e7.tar.xz
Port DIRECT_PINS from split_common/matrix.c to matrix.c (#5091)
* Port DIRECT_PINS from split_common/matrix.c to matrix.c * Reorder matrix.c to remove foward declaration and match split_common/matrix.c * Refactor nano to use DIRECT_PINS * Reorder matrix.c to remove foward declaration and match split_common/matrix.c * Add DIRECT_PINS documentation * Reorder matrix.c to remove foward declaration and match split_common/matrix.c - fix logic from inherited from split_common * Add DIRECT_PINS documentation - review comments
Diffstat (limited to 'docs/hardware_avr.md')
-rw-r--r--docs/hardware_avr.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/hardware_avr.md b/docs/hardware_avr.md
index 12a0059c3..acf7088a3 100644
--- a/docs/hardware_avr.md
+++ b/docs/hardware_avr.md
@@ -93,6 +93,24 @@ Finally, you can specify the direction your diodes point. This can be `COL2ROW`
#define DIODE_DIRECTION COL2ROW
```
+#### Direct Pin Matrix
+To configure a keyboard where each switch is connected to a separate pin and ground instead of sharing row and column pins, use `DIRECT_PINS`. The mapping defines the pins of each switch in rows and columns, from left to right. Must conform to the sizes within `MATRIX_ROWS` and `MATRIX_COLS`, use `NO_PIN` to fill in blank spaces. Overrides the behaviour of `DIODE_DIRECTION`, `MATRIX_ROW_PINS` and `MATRIX_COL_PINS`.
+
+```c
+// #define MATRIX_ROW_PINS { D0, D5 }
+// #define MATRIX_COL_PINS { F1, F0, B0 }
+#define DIRECT_PINS { \
+ { F1, E6, B0, B2, B3 }, \
+ { F5, F0, B1, B7, D2 }, \
+ { F6, F7, C7, D5, D3 }, \
+ { B5, C6, B6, NO_PIN, NO_PIN } \
+}
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+//#define DIODE_DIRECTION
+```
+
### Backlight Configuration
By default QMK supports backlighting on pins `B5`, `B6`, and `B7`. If you are using one of those you can simply enable it here. For more details see the [Backlight Documentation](feature_backlight.md).