Tweak to use a chosen node for kscan device.

This commit is contained in:
Pete Johanson 2020-05-06 10:04:19 -04:00
parent a63a773983
commit 70bf1230fa
3 changed files with 14 additions and 7 deletions

View File

@ -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)>,

View File

@ -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;
}

View File

@ -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