diff options
Diffstat (limited to 'flake')
-rw-r--r-- | flake/boards/shields/flake/Kconfig.defconfig | 8 | ||||
-rw-r--r-- | flake/boards/shields/flake/Kconfig.shield | 5 | ||||
-rw-r--r-- | flake/boards/shields/flake/flake.dtsi | 33 | ||||
-rw-r--r-- | flake/boards/shields/flake/flake.zmk.yml | 11 | ||||
-rw-r--r-- | flake/boards/shields/flake/flake_left.overlay | 18 | ||||
-rw-r--r-- | flake/boards/shields/flake/flake_right.overlay | 22 | ||||
-rw-r--r-- | flake/config/west.yml | 11 | ||||
-rw-r--r-- | flake/zephyr/module.yml | 4 |
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: . |