summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml1
-rw-r--r--app/boards/shields/crbn/Kconfig.defconfig11
-rw-r--r--app/boards/shields/crbn/Kconfig.shield7
-rw-r--r--app/boards/shields/crbn/crbn.conf0
-rw-r--r--app/boards/shields/crbn/crbn.keymap55
-rw-r--r--app/boards/shields/crbn/crbn.overlay41
-rw-r--r--app/boards/shields/crbn/readme.md1
-rw-r--r--docs/docs/hardware.md1
-rw-r--r--docs/static/setup.ps16
-rw-r--r--docs/static/setup.sh3
10 files changed, 122 insertions, 4 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1481dcc..41f171a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -26,6 +26,7 @@ jobs:
- corne_right
- cradio_left
- cradio_right
+ - crbn
- iris_left
- iris_right
- jian_left
diff --git a/app/boards/shields/crbn/Kconfig.defconfig b/app/boards/shields/crbn/Kconfig.defconfig
new file mode 100644
index 0000000..378a3f8
--- /dev/null
+++ b/app/boards/shields/crbn/Kconfig.defconfig
@@ -0,0 +1,11 @@
+#
+# Copyright (c) 2020 The ZMK Contributors
+# SPDX-License-Identifier: MIT
+#
+
+if SHIELD_CRBN
+
+config ZMK_KEYBOARD_NAME
+ default "CRBN"
+
+endif
diff --git a/app/boards/shields/crbn/Kconfig.shield b/app/boards/shields/crbn/Kconfig.shield
new file mode 100644
index 0000000..c66f280
--- /dev/null
+++ b/app/boards/shields/crbn/Kconfig.shield
@@ -0,0 +1,7 @@
+#
+# Copyright (c) 2020 The ZMK Contributors
+# SPDX-License-Identifier: MIT
+#
+
+config SHIELD_CRBN
+ def_bool $(shields_list_contains,crbn)
diff --git a/app/boards/shields/crbn/crbn.conf b/app/boards/shields/crbn/crbn.conf
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/app/boards/shields/crbn/crbn.conf
diff --git a/app/boards/shields/crbn/crbn.keymap b/app/boards/shields/crbn/crbn.keymap
new file mode 100644
index 0000000..639d2aa
--- /dev/null
+++ b/app/boards/shields/crbn/crbn.keymap
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <behaviors.dtsi>
+#include <dt-bindings/zmk/keys.h>
+#include <dt-bindings/zmk/bt.h>
+
+/ {
+ keymap {
+ compatible = "zmk,keymap";
+
+ default_layer {
+ // -----------------------------------------------------------------------------------------
+ // | TAB | Q | W | E | R | T | Y | U | I | O | P | BSPC |
+ // | ESC | A | S | D | F | G | H | J | K | L | ; | ' |
+ // | SHIFT | Z | X | C | V | B | N | M | , | . | / | RET |
+ // | FN | LGUI | LALT | LCTL | LOWR | SPACE | RAIS | LARW | DARW | UARW | RARW |
+ bindings = <
+ &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC
+ &kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT
+ &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp BSLH &kp RET
+ &trans &kp LGUI &kp LALT &kp LCTRL &mo 1 &kp SPACE &trans &mo 2 &kp LEFT &kp DOWN &kp UP &kp RIGHT
+ >;
+ };
+
+ lower {
+ bindings = <
+ &kp LS(GRAVE) &kp LS(N1) &kp LS(N2) &kp LS(N3) &kp LS(N4) &kp LS(N5) &kp LS(N6) &kp LS(N7) &kp LS(N8) &kp LS(N9) &kp LS(N0) &kp DEL
+ &kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp UNDER &kp PLUS &kp LT &kp GT &kp PIPE
+ &trans &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &kp LS(HASH) &kp LS(BSLH) &kp HOME &kp END &trans
+ &trans &trans &trans &trans &trans &trans &trans &mo 3 &kp C_NEXT &kp C_VOL_DN &kp C_VOL_UP &kp C_PP
+ >;
+ };
+
+ raise {
+ bindings = <
+ &kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC
+ &kp DEL &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH
+ &trans &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &kp HASH &kp BSLH &kp PG_UP &kp PG_DN &trans
+ &trans &trans &trans &trans &mo 3 &trans &trans &trans &kp C_NEXT &kp C_VOL_DN &kp C_VOL_UP &kp C_PP
+ >;
+ };
+ control {
+ bindings = <
+ &reset &bootloader &bt BT_CLR &bt BT_PRV &bt BT_NXT &trans &trans &trans &trans &trans &trans &trans
+ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
+ >;
+ };
+ };
+};
diff --git a/app/boards/shields/crbn/crbn.overlay b/app/boards/shields/crbn/crbn.overlay
new file mode 100644
index 0000000..137e685
--- /dev/null
+++ b/app/boards/shields/crbn/crbn.overlay
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include <dt-bindings/zmk/matrix-transform.h>
+
+/ {
+ chosen {
+ zmk,kscan = &kscan0;
+ };
+
+ kscan0: kscan_0 {
+ compatible = "zmk,kscan-gpio-matrix";
+ label = "KSCAN";
+ diode-direction = "col2row";
+
+ col-gpios
+ = <&pro_micro_d 1 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 0 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 2 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 3 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 4 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 5 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 6 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 7 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 8 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 9 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 10 GPIO_ACTIVE_HIGH>
+ , <&pro_micro_d 16 GPIO_ACTIVE_HIGH>
+ ;
+
+ row-gpios
+ = <&pro_micro_d 14 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_d 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_a 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ , <&pro_micro_a 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
+ ;
+ };
+};
diff --git a/app/boards/shields/crbn/readme.md b/app/boards/shields/crbn/readme.md
new file mode 100644
index 0000000..fee388f
--- /dev/null
+++ b/app/boards/shields/crbn/readme.md
@@ -0,0 +1 @@
+A 40% Ortho keyboard made by Polarity Works
diff --git a/docs/docs/hardware.md b/docs/docs/hardware.md
index 3c93313..5cc4980 100644
--- a/docs/docs/hardware.md
+++ b/docs/docs/hardware.md
@@ -34,6 +34,7 @@ That being said, there are currently only a few specific [boards](/docs/faq#what
- [RoMac v2](https://mechboards.co.uk/shop/kits/romac-macro-pad/) (`romac`)
- [Boardsource 3x4 Macro](https://boardsource.xyz/store/5ecc2008eee64242946c98c1) (`boardsource3x4`)
- [QAZ](https://www.cbkbd.com/product/qaz-keyboard-kit) (`qaz`)
+- [CRBN](https://keygem.store/collections/group-buys/products/group-buy-featherlight-40-kit) (`crbn`)
## Other Hardware
diff --git a/docs/static/setup.ps1 b/docs/static/setup.ps1
index f550333..60721bc 100644
--- a/docs/static/setup.ps1
+++ b/docs/static/setup.ps1
@@ -91,9 +91,9 @@ Write-Host "Keyboard Shield Selection:"
$prompt = "Pick a keyboard"
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
-$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "Reviung41", "RoMac", "RoMac+", "makerdiary M60", "Microdox", "TG4X", "QAZ", "NIBBLE", "Jorne", "Jian"
-$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "reviung41", "romac", "romac_plus", "m60", "microdox", "tg4x", "qaz", "nibble", "jorne", "jian"
-$splits = "y", "y", "y", "y", "y", "y", "n", "n", "n", "n", "y", "n", "n", "n", "y", "y"
+$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "Reviung41", "RoMac", "RoMac+", "makerdiary M60", "Microdox", "TG4X", "QAZ", "NIBBLE", "Jorne", "Jian", "CRBN"
+$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "reviung41", "romac", "romac_plus", "m60", "microdox", "tg4x", "qaz", "nibble", "jorne", "jian", "crbn"
+$splits = "y", "y", "y", "y", "y", "y", "n", "n", "n", "n", "y", "n", "n", "n", "y", "y", "n"
$choice = Get-Choice-From-Options -Options $options -Prompt $prompt
$shield_title = $($options[$choice])
diff --git a/docs/static/setup.sh b/docs/static/setup.sh
index 4360f2c..993cc2f 100644
--- a/docs/static/setup.sh
+++ b/docs/static/setup.sh
@@ -92,7 +92,7 @@ echo ""
echo "Keyboard Shield Selection:"
prompt="Pick an keyboard:"
-options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "Reviung41" "RoMac" "RoMac+" "makerdiary M60" "Microdox" "TG4X" "QAZ" "Jorne" "Jian")
+options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "Reviung41" "RoMac" "RoMac+" "makerdiary M60" "Microdox" "TG4X" "QAZ" "Jorne" "Jian" "CRBN")
PS3="$prompt "
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
@@ -117,6 +117,7 @@ select opt in "${options[@]}" "Quit"; do
14 ) shield_title="NIBBLE" shield="nibble"; split="n"; break;;
15 ) shield_title="Jorne" shield="jorne"; split="y"; break;;
16 ) shield_title="Jian" shield="jian"; split="y"; break;;
+ 17 ) shield_title="CRBN" shield="crbn"; split="n"; break;;
# Add link to docs on adding your own custom shield in your ZMK config!
# $(( ${#options[@]}+1 )) ) echo "Other!"; break;;