feat(shields): Add Breeze
Add a shield definition for the Breeze split keyboard from Afternoon labs. This is for the standard breeze variant, with the arrow keys present on the right half but not the left. Definition is based in part on an abandoned PR by @devries: https://github.com/zmkfirmware/zmk/pull/735 Signed-off-by: Idan Gazit <idan@gazit.me> Co-authored-by: devriesp <devriesp@users.noreply.github.com> Signed-off-by: Idan Gazit <idan@gazit.me>
This commit is contained in:
parent
56465354cf
commit
6a93d5da55
10 changed files with 193 additions and 0 deletions
17
app/boards/shields/breeze/Kconfig.defconfig
Normal file
17
app/boards/shields/breeze/Kconfig.defconfig
Normal file
|
@ -0,0 +1,17 @@
|
|||
|
||||
if SHIELD_BREEZE_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Breeze"
|
||||
|
||||
config ZMK_SPLIT_BLE_ROLE_CENTRAL
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
if SHIELD_BREEZE_LEFT || SHIELD_BREEZE_RIGHT
|
||||
|
||||
config ZMK_SPLIT
|
||||
default y
|
||||
|
||||
endif
|
8
app/boards/shields/breeze/Kconfig.shield
Normal file
8
app/boards/shields/breeze/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2022 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_BREEZE_LEFT
|
||||
def_bool $(shields_list_contains,breeze_left)
|
||||
|
||||
config SHIELD_BREEZE_RIGHT
|
||||
def_bool $(shields_list_contains,breeze_right)
|
0
app/boards/shields/breeze/breeze.conf
Normal file
0
app/boards/shields/breeze/breeze.conf
Normal file
50
app/boards/shields/breeze/breeze.dtsi
Normal file
50
app/boards/shields/breeze/breeze.dtsi
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* 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 = <9>;
|
||||
rows = <10>;
|
||||
// | SW6 | SW5 | SW4 | SW3 | SW2 | SW1 | | SW1 | SW2 | SW3 | SW4 | SW5 | SW6 | MC1 | MC2 | MC3 |
|
||||
// | SW12 | SW11 | SW10 | SW9 | SW8 | SW7 | | SW7 | SW8 | SW9 | SW10 | SW11 | SW12 | MC4 | MC5 | MC6 |
|
||||
// | SW18 | SW17 | SW16 | SW15 | SW14 | SW13 | | SW13 | SW14 | SW15 | SW16 | SW17 | SW18 | | ↑ | |
|
||||
// | SW24 | SW23 | SW22 | SW21 | SW20 | SW19 | | SW19 | SW20 | SW21 | SW22 | SW23 | SW24 | ← | ↓ | → |
|
||||
// | TC4 | TC3 | TC2 | TC1 | | TC1 | TC2 | TC3 | TC4 |
|
||||
map = <
|
||||
RC(0,5) RC(0,4) RC(0,3) RC(0,2) RC(0,1) RC(0,0) RC(5,0) RC(5,1) RC(5,2) RC(5,3) RC(5,4) RC(5,5) RC(5,6) RC(5,7) RC(5,8)
|
||||
RC(1,5) RC(1,4) RC(1,3) RC(1,2) RC(1,1) RC(1,0) RC(6,0) RC(6,1) RC(6,2) RC(6,3) RC(6,4) RC(6,5) RC(6,6) RC(6,7) RC(6,8)
|
||||
RC(2,5) RC(2,4) RC(2,3) RC(2,2) RC(2,1) RC(2,0) RC(7,0) RC(7,1) RC(7,2) RC(7,3) RC(7,4) RC(7,5) RC(7,7)
|
||||
RC(3,5) RC(3,4) RC(3,3) RC(3,2) RC(3,1) RC(3,0) RC(8,0) RC(8,1) RC(8,2) RC(8,3) RC(8,4) RC(8,5) RC(8,6) RC(8,7) RC(8,8)
|
||||
RC(4,3) RC(4,2) RC(4,1) RC(4,0) RC(9,0) RC(9,1) RC(9,2) RC(9,3)
|
||||
>;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
|
||||
diode-direction = "col2row";
|
||||
col-gpios
|
||||
= <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 2 GPIO_ACTIVE_HIGH>
|
||||
, <&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>
|
||||
, <&pro_micro 8 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 9 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
};
|
67
app/boards/shields/breeze/breeze.keymap
Normal file
67
app/boards/shields/breeze/breeze.keymap
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <behaviors.dtsi>
|
||||
#include <dt-bindings/zmk/keys.h>
|
||||
#include <dt-bindings/zmk/bt.h>
|
||||
#include <dt-bindings/zmk/ext_power.h>
|
||||
|
||||
/ {
|
||||
keymap {
|
||||
compatible = "zmk,keymap";
|
||||
|
||||
default_layer {
|
||||
|
||||
// Ref: https://zmkfirmware.dev/docs/codes/
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------------------------------------
|
||||
// | ESC/~ | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BSPC | | = | HOME | PGUP |
|
||||
// | TAB | Q | W | E | R | T | | Y | U | I | O | P | [ | | ] | END | PGDN |
|
||||
// | CTRL | A | S | D | F | G | | H | J | K | L | ; | ENTER | | | UP | |
|
||||
// | SHIFT | Z | X | C | V | B | | N | M | , | . | / | ' | | L | DN | R |
|
||||
// | CTRL | GUI | ALT | SPACE | | ENTER | BSPC | mo(2) | mo(1) |
|
||||
bindings = <
|
||||
&gresc &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp BSPC &kp EQUAL &kp HOME &kp PG_UP
|
||||
&kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &kp RBKT &kp END &kp PG_DN
|
||||
&kp LCTRL &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp RET &kp UP
|
||||
&kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp APOS &kp LEFT &kp DOWN &kp RIGHT
|
||||
&kp LCTRL &kp LGUI &kp LALT &kp SPACE &kp RET &kp BSPC &mo 2 &mo 1
|
||||
>;
|
||||
};
|
||||
|
||||
layer1 {
|
||||
// ----------------------------------------------------------------------------------------------------------------------------------
|
||||
// | BTCLR | BT1 | BT2 | BT3 | BT4 | BT5 | | | | | | | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | | Mute | Play |
|
||||
// | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ~ | | | Vol+ | |
|
||||
// | | | | | | | | | _ | + | { | } | "|" | | Prev | Vol- | Next |
|
||||
// | | | | | | | | | |
|
||||
bindings = <
|
||||
&bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &kp C_MUTE &kp C_PLAY_PAUSE
|
||||
&kp GRAVE &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PRCNT &kp CARET &kp AMPS &kp KP_MULTIPLY &kp LPAR &kp RPAR &kp TILDE &kp C_VOL_UP
|
||||
&trans &ext_power EP_ON &ext_power EP_OFF &ext_power EP_TOG &trans &trans &trans &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &kp PIPE &kp C_PREV &kp C_VOL_DN &kp C_NEXT
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
|
||||
layer2 {
|
||||
// ----------------------------------------------------------------------------------------------------------------------------------
|
||||
// | | | | | | | | | | | | | | | | | |
|
||||
// | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | | | |
|
||||
// | F1 | F2 | F3 | F4 | F5 | F6 | | | <- | ^ | v | -> | | | | | |
|
||||
// | F7 | F8 | F9 | F10 | F11 | F12 | | + | - | = | [ | ] | \ | | | | |
|
||||
// | | | | | | | | | |
|
||||
bindings = <
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans
|
||||
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans
|
||||
&kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &trans
|
||||
&kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &kp KP_PLUS &kp MINUS &kp EQUAL &kp LBKT &kp RBKT &kp BSLH &trans &trans &trans
|
||||
&trans &trans &trans &trans &trans &trans &trans &trans
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
12
app/boards/shields/breeze/breeze.zmk.yml
Normal file
12
app/boards/shields/breeze/breeze.zmk.yml
Normal file
|
@ -0,0 +1,12 @@
|
|||
file_format: "1"
|
||||
id: breeze
|
||||
name: Breeze
|
||||
type: shield
|
||||
url: https://afternoonlabs.com/breeze/
|
||||
requires:
|
||||
- pro_micro
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- breeze_left
|
||||
- breeze_right
|
0
app/boards/shields/breeze/breeze_left.conf
Normal file
0
app/boards/shields/breeze/breeze_left.conf
Normal file
18
app/boards/shields/breeze/breeze_left.overlay
Normal file
18
app/boards/shields/breeze/breeze_left.overlay
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "breeze.dtsi"
|
||||
|
||||
&kscan0 {
|
||||
row-gpios
|
||||
= <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
};
|
0
app/boards/shields/breeze/breeze_right.conf
Normal file
0
app/boards/shields/breeze/breeze_right.conf
Normal file
21
app/boards/shields/breeze/breeze_right.overlay
Normal file
21
app/boards/shields/breeze/breeze_right.overlay
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (c) 2022 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include "breeze.dtsi"
|
||||
|
||||
&default_transform {
|
||||
row-offset = <5>;
|
||||
};
|
||||
|
||||
&kscan0 {
|
||||
row-gpios
|
||||
= <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 15 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
};
|
Loading…
Add table
Reference in a new issue