summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/boards/shields/romac/Kconfig.defconfig8
-rw-r--r--app/boards/shields/romac/Kconfig.shield5
-rw-r--r--app/boards/shields/romac/boards/nice_nano.overlay10
-rw-r--r--app/boards/shields/romac/romac.conf2
-rw-r--r--app/boards/shields/romac/romac.dtsi50
-rw-r--r--app/boards/shields/romac/romac.keymap40
-rw-r--r--app/boards/shields/romac/romac.overlay19
7 files changed, 134 insertions, 0 deletions
diff --git a/app/boards/shields/romac/Kconfig.defconfig b/app/boards/shields/romac/Kconfig.defconfig
new file mode 100644
index 0000000..da50e5c
--- /dev/null
+++ b/app/boards/shields/romac/Kconfig.defconfig
@@ -0,0 +1,8 @@
+
+if SHIELD_ROMAC
+
+config ZMK_KEYBOARD_NAME
+ default "romac"
+
+endif
+
diff --git a/app/boards/shields/romac/Kconfig.shield b/app/boards/shields/romac/Kconfig.shield
new file mode 100644
index 0000000..a081728
--- /dev/null
+++ b/app/boards/shields/romac/Kconfig.shield
@@ -0,0 +1,5 @@
+# Copyright (c) 2020 Pete Johansen, Richard Jones
+# SPDX-License-Identifier: MIT
+
+config SHIELD_ROMAC
+ def_bool $(shields_list_contains,romac)
diff --git a/app/boards/shields/romac/boards/nice_nano.overlay b/app/boards/shields/romac/boards/nice_nano.overlay
new file mode 100644
index 0000000..1f246d3
--- /dev/null
+++ b/app/boards/shields/romac/boards/nice_nano.overlay
@@ -0,0 +1,10 @@
+&spi1 {
+ compatible = "nordic,nrf-spi";
+ /* Cannot be used together with i2c0. */
+ status = "okay";
+ sck-pin = <5>;
+ mosi-pin = <6>;
+ miso-pin = <7>;
+
+};
+
diff --git a/app/boards/shields/romac/romac.conf b/app/boards/shields/romac/romac.conf
new file mode 100644
index 0000000..5b40fdf
--- /dev/null
+++ b/app/boards/shields/romac/romac.conf
@@ -0,0 +1,2 @@
+CONFIG_ZMK_RGB_UNDERGLOW=n
+CONFIG_WS2812_STRIP=n
diff --git a/app/boards/shields/romac/romac.dtsi b/app/boards/shields/romac/romac.dtsi
new file mode 100644
index 0000000..db9685f
--- /dev/null
+++ b/app/boards/shields/romac/romac.dtsi
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2020 Pete Johansen, Richard Jones
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <dt-bindings/zmk/matrix-transform.h>
+
+/ {
+ chosen {
+ zmk,kscan = &kscan0;
+ zmk,matrix_transform = &default_transform;
+ };
+
+ default_transform: keymap_transform_0 {
+ compatible = "zmk,matrix-transform";
+ columns = <3>;
+ rows = <4>;
+// | SW1 | SW2 | SW3 |
+// | SW4 | SW5 | SW6 |
+// | SW7 | SW8 | SW9 |
+// | SW10 | SW11 | SW12 |
+ map = <
+RC(0,0) RC(0,1) RC(0,2)
+RC(1,0) RC(1,1) RC(1,2)
+RC(2,0) RC(2,1) RC(2,2)
+RC(3,0) RC(3,1) RC(3,2)
+ >;
+ };
+
+ kscan0: kscan {
+ compatible = "zmk,kscan-gpio-matrix";
+ label = "KSCAN";
+
+ diode-direction = "col2row";
+ row-gpios
+ = <&pro_micro_d 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ ;
+
+ };
+
+ bt_unpair_combo: bt_unpair_combo {
+ compatible = "zmk,bt-unpair-combo";
+ };
+
+};
+
diff --git a/app/boards/shields/romac/romac.keymap b/app/boards/shields/romac/romac.keymap
new file mode 100644
index 0000000..101bfaa
--- /dev/null
+++ b/app/boards/shields/romac/romac.keymap
@@ -0,0 +1,40 @@
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+// -------------------
+// | 7 | 8 | 9 |
+// | 4 | 5 | 6 |
+// | 1 | 2 | 3 |
+// | MO(1) | 0 | . |
+// ----------------------
+ bindings = <
+ &kp NUM_7 &kp NUM_8 &kp NUM_9
+ &kp NUM_4 &kp NUM_5 &kp NUM_6
+ &kp NUM_1 &kp NUM_2 &kp NUM_3
+ &mo 1 &kp NUM_0 &kp DOT
+ >;
+ };
+
+ nav_layer {
+// -----------------------
+// | _ | HOME | PGUP |
+// | _ | END | PGDN |
+// | _ | _ | _ |
+// | _ | _ | RET |
+// -----------------------
+ bindings = <
+ &trans &kp HOME &kp PGUP
+ &trans &kp END &kp PGDN
+ &trans &trans &trans
+ &trans &trans &kp RET
+ >;
+ };
+ };
+};
+
+
diff --git a/app/boards/shields/romac/romac.overlay b/app/boards/shields/romac/romac.overlay
new file mode 100644
index 0000000..f16c900
--- /dev/null
+++ b/app/boards/shields/romac/romac.overlay
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2020 Pete Johansen, Richard Jones
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include "romac.dtsi"
+
+&kscan0 {
+ col-gpios
+ = <&pro_micro_a 0 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 15 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 14 GPIO_ACTIVE_HIGH>
+ ;
+};
+
+&bt_unpair_combo {
+ key-positions = <0 11>;
+};