summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-05-06 10:04:19 -0400
committerPete Johanson <peter@peterjohanson.com>2020-05-06 10:04:19 -0400
commit70bf1230fa45dde5c91bf684f439bc1e88d4413c (patch)
treeaeaa2e0b978fcd348ca8a5f7d7aee28e175e89b6
parenta63a773983e8e575778ba2e3b326b3f2e63ce26e (diff)
Tweak to use a chosen node for kscan device.
-rw-r--r--boards/shields/petejohanson_handwire/petejohanson_handwire.overlay11
-rw-r--r--src/main.c4
-rw-r--r--src/zmk.h6
3 files changed, 14 insertions, 7 deletions
diff --git a/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay b/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
index 3a777a6..215531d 100644
--- a/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
+++ b/boards/shields/petejohanson_handwire/petejohanson_handwire.overlay
@@ -3,6 +3,7 @@
/ {
chosen {
zmk,keymap = &keymap0;
+ zmk,kscan = &kscan0;
};
layers {
@@ -10,7 +11,11 @@
default: layer_0 {
label = "Default";
- keys = <KC_A KC_B KC_C KC_D>;
+ keys =
+ <
+ KC_A KC_B
+ KC_C KC_D
+ >;
};
lower: layer_1 {
@@ -31,9 +36,9 @@
layers = <&default &lower &raise>;
};
- kscan {
+ kscan0: kscan {
compatible = "gpio-kscan";
- label = "Handwired GPIO KSCAN matrix";
+ label = "KSCAN";
diode-direction = "row2col";
row-gpios = <&arduino_header 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
diff --git a/src/main.c b/src/main.c
index 33cf61d..8604989 100644
--- a/src/main.c
+++ b/src/main.c
@@ -8,14 +8,16 @@
#include <device.h>
#include <devicetree.h>
+#include "zmk.h"
#include "kscan.h"
#include "usb_hid.h"
+#define ZMK_KSCAN_DEV DT_LABEL(ZMK_MATRIX_NODE_ID)
void main(void)
{
printk("Welcome to ZMK!\n");
- if (zmk_kscan_init(CONFIG_KSCAN_MATRIX_DEV_NAME) != 0) {
+ if (zmk_kscan_init(ZMK_KSCAN_DEV) != 0) {
printk("Keyboard Scan Init Failed\n");
return;
}
diff --git a/src/zmk.h b/src/zmk.h
index a5a5ff1..82ef3b6 100644
--- a/src/zmk.h
+++ b/src/zmk.h
@@ -1,8 +1,8 @@
#ifndef ZMK_H
#define ZMK_H
-#define __ZMK_MATRIX_NODE_ID DT_PATH(kscan)
-#define ZMK_MATRIX_ROWS DT_PROP_LEN(__ZMK_MATRIX_NODE_ID,row_gpios)
-#define ZMK_MATRIX_COLS DT_PROP_LEN(__ZMK_MATRIX_NODE_ID,col_gpios)
+#define ZMK_MATRIX_NODE_ID DT_CHOSEN(zmk_kscan)
+#define ZMK_MATRIX_ROWS DT_PROP_LEN(ZMK_MATRIX_NODE_ID,row_gpios)
+#define ZMK_MATRIX_COLS DT_PROP_LEN(ZMK_MATRIX_NODE_ID,col_gpios)
#endif