aboutsummaryrefslogtreecommitdiff
path: root/flake
diff options
context:
space:
mode:
Diffstat (limited to 'flake')
-rw-r--r--flake/boards/shields/flake/Kconfig.defconfig8
-rw-r--r--flake/boards/shields/flake/Kconfig.shield5
-rw-r--r--flake/boards/shields/flake/flake.dtsi33
-rw-r--r--flake/boards/shields/flake/flake.zmk.yml11
-rw-r--r--flake/boards/shields/flake/flake_left.overlay18
-rw-r--r--flake/boards/shields/flake/flake_right.overlay22
-rw-r--r--flake/config/west.yml11
-rw-r--r--flake/zephyr/module.yml4
8 files changed, 112 insertions, 0 deletions
diff --git a/flake/boards/shields/flake/Kconfig.defconfig b/flake/boards/shields/flake/Kconfig.defconfig
new file mode 100644
index 0000000..eb45294
--- /dev/null
+++ b/flake/boards/shields/flake/Kconfig.defconfig
@@ -0,0 +1,8 @@
+if SHIELD_FLAKE_LEFT || SHIELD_FLAKE_RIGHT
+ config ZMK_SLEEP
+ default y
+ config ZMK_SPLIT
+ default y
+ config ZMK_SPLIT_ROLE_CENTRAL
+ default n
+endif
diff --git a/flake/boards/shields/flake/Kconfig.shield b/flake/boards/shields/flake/Kconfig.shield
new file mode 100644
index 0000000..d25f3e8
--- /dev/null
+++ b/flake/boards/shields/flake/Kconfig.shield
@@ -0,0 +1,5 @@
+config SHIELD_FLAKE_LEFT
+ def_bool $(shields_list_contains,flake_left)
+
+config SHIELD_FLAKE_RIGHT
+ def_bool $(shields_list_contains,flake_right)
diff --git a/flake/boards/shields/flake/flake.dtsi b/flake/boards/shields/flake/flake.dtsi
new file mode 100644
index 0000000..651e976
--- /dev/null
+++ b/flake/boards/shields/flake/flake.dtsi
@@ -0,0 +1,33 @@
+#include <dt-bindings/zmk/matrix_transform.h>
+
+/ {
+ kscan0: kscan0 {
+ compatible = "zmk,kscan-gpio-matrix";
+ diode-direction = "col2row";
+ wakeup-source;
+ };
+
+ chosen {
+ zmk,kscan = &kscan0;
+ zmk,physical-layout = &physical_layout0;
+ };
+
+ physical_layout0: physical_layout_0 {
+ compatible = "zmk,physical-layout";
+ display-name = "Default Layout";
+ kscan = <&kscan0>;
+ transform = <&default_transform>;
+ };
+
+ default_transform: keymap_transform0 {
+ compatible = "zmk,matrix-transform";
+ columns = <10>;
+ rows = <4>;
+ map = <
+ RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9)
+ RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9)
+ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9)
+ RC(3,0) RC(3,1) RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) RC(3,8) RC(3,9)
+ >;
+ };
+};
diff --git a/flake/boards/shields/flake/flake.zmk.yml b/flake/boards/shields/flake/flake.zmk.yml
new file mode 100644
index 0000000..53f1c63
--- /dev/null
+++ b/flake/boards/shields/flake/flake.zmk.yml
@@ -0,0 +1,11 @@
+file_format: "1"
+id: flake
+name: flake
+type: shield
+url: https://github.com/anywhy-io/flake
+requires: [pro_micro]
+features:
+ - keys
+siblings:
+ - flake_left
+ - flake_right
diff --git a/flake/boards/shields/flake/flake_left.overlay b/flake/boards/shields/flake/flake_left.overlay
new file mode 100644
index 0000000..dad7240
--- /dev/null
+++ b/flake/boards/shields/flake/flake_left.overlay
@@ -0,0 +1,18 @@
+#include "flake.dtsi"
+
+&kscan0 {
+ col-gpios
+ = <&pro_micro 3 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 4 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 5 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 6 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 7 GPIO_ACTIVE_HIGH>
+ ;
+
+ row-gpios
+ = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ ;
+};
diff --git a/flake/boards/shields/flake/flake_right.overlay b/flake/boards/shields/flake/flake_right.overlay
new file mode 100644
index 0000000..b5fd4f4
--- /dev/null
+++ b/flake/boards/shields/flake/flake_right.overlay
@@ -0,0 +1,22 @@
+#include "flake.dtsi"
+
+&default_transform {
+ col-offset = <5>;
+};
+
+&kscan0 {
+ col-gpios
+ = <&pro_micro 14 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 15 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 18 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 19 GPIO_ACTIVE_HIGH>
+ , <&pro_micro 20 GPIO_ACTIVE_HIGH>
+ ;
+
+ row-gpios
+ = <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ ;
+};
diff --git a/flake/config/west.yml b/flake/config/west.yml
new file mode 100644
index 0000000..379d291
--- /dev/null
+++ b/flake/config/west.yml
@@ -0,0 +1,11 @@
+manifest:
+ remotes:
+ - name: zmkfirmware
+ url-base: https://github.com/zmkfirmware
+ projects:
+ - name: zmk
+ remote: zmkfirmware
+ revision: main
+ import: app/west.yml
+ self:
+ path: config
diff --git a/flake/zephyr/module.yml b/flake/zephyr/module.yml
new file mode 100644
index 0000000..f49c952
--- /dev/null
+++ b/flake/zephyr/module.yml
@@ -0,0 +1,4 @@
+name: flake
+build:
+ settings:
+ board_root: .