summaryrefslogtreecommitdiff
path: root/app/boards/shields/kyria/kyria.overlay
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-06-16 21:52:12 -0400
committerGitHub <noreply@github.com>2020-06-16 21:52:12 -0400
commitd0a6df9d9ce014f58c3a5a733d66eeccab394dc2 (patch)
treed67166557e8e60f00a5691346cac36e0345d4b9a /app/boards/shields/kyria/kyria.overlay
parent766eedebe53c1146ce4ea9db73d659d12e49b53a (diff)
parent1659562bb75e14476cbf94c0cbe2e536b7c7620a (diff)
Merge pull request #31 from petejohanson/keymaps/keymap-transform-non-standard-matrix-mapping
Initial work on matrix transforms for non-standard matrixes.
Diffstat (limited to 'app/boards/shields/kyria/kyria.overlay')
-rw-r--r--app/boards/shields/kyria/kyria.overlay75
1 files changed, 75 insertions, 0 deletions
diff --git a/app/boards/shields/kyria/kyria.overlay b/app/boards/shields/kyria/kyria.overlay
new file mode 100644
index 0000000..af4e591
--- /dev/null
+++ b/app/boards/shields/kyria/kyria.overlay
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2020 Pete Johanson
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+/ {
+ chosen {
+ zmk,kscan = &kscan0;
+ };
+
+ kscan0: kscan_comp {
+ compatible = "zmk,kscan-composite";
+
+ label = "KSCAN_COMP";
+ rows = <4>;
+ columns = <16>;
+
+ left {
+ kscan = <&kscan_left>;
+ };
+
+ right {
+ kscan = <&kscan_right>;
+ // TODO: Actually put this in the kscan driver, so it can report
+ // HID events directly to host if plugged in directly.
+ column-offset = <8>;
+ };
+ };
+
+ kscan_left: kscan_left {
+ compatible = "gpio-kscan";
+ label = "KSCAN_LEFT";
+
+ diode-direction = "row2col";
+ row-gpios = <&pro_micro_pins 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+
+ col-gpios = <&pro_micro_pins 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+ };
+
+ kscan_right: kscan_right {
+ compatible = "gpio-kscan";
+ label = "KSCAN_RIGHT";
+
+ diode-direction = "row2col";
+ row-gpios = <&pro_micro_pins 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+
+ col-gpios = <&pro_micro_pins 21 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 20 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 18 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
+ <&pro_micro_pins 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
+ };
+
+ // TODO: Encoder node(s)
+ // TODO: OLED node
+ // TODO: RGB node(s)
+};
+