Skip to content

Commit

Permalink
Add the Paintbrush with Ardux
Browse files Browse the repository at this point in the history
  • Loading branch information
smores56 committed Apr 23, 2024
1 parent 9f1d553 commit 5bd5c14
Show file tree
Hide file tree
Showing 15 changed files with 742 additions and 8 deletions.
2 changes: 2 additions & 0 deletions build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ include:
shield: clog_left
- board: boardsource_blok
shield: clog_right
- board: boardsource_blok
shield: the_paintbrush_left
- board: nice_nano_v2
shield: settings_reset
- board: seeeduino_xiao_ble
Expand Down
2 changes: 1 addition & 1 deletion config/30-key.keymap
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

FN_layer {
bindings = <
&none &bootloader &reset &bt BT_CLR &none &none &none &none
&none &bootloader &sys_reset &bt BT_CLR &none &none &none &none
&none &none &bt BT_SEL 0 &bt BT_SEL 1 &none &none &none &none &none &none
&none &none &bt BT_SEL 2 &bt BT_SEL 3 &none &none &none &none
&bt BT_SEL 4 &none &trans &none
Expand Down
2 changes: 1 addition & 1 deletion config/34-key.keymap
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@

FN_layer {
bindings = <
&none &none &reset &bootloader &bootloader &reset &none &none
&none &none &sys_reset &bootloader &bootloader &sys_reset &none &none
&none &none &bt BT_SEL 2 &bt BT_SEL 1 &bt BT_SEL 0 &bt BT_CLR &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &none &none
&none &none &bt BT_SEL 4 &bt BT_SEL 3 &none &none &bt BT_SEL 3 &bt BT_SEL 4 &none &none
&none &none &trans &none
Expand Down
558 changes: 558 additions & 0 deletions config/ardux.dtsi

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions config/boards/shields/the_paintbrush/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
if SHIELD_THE_PAINTBRUSH_LEFT || SHIELD_THE_PAINTBRUSH_RIGHT

config ZMK_KEYBOARD_NAME
default "The Paintbrush"

endif
8 changes: 8 additions & 0 deletions config/boards/shields/the_paintbrush/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Copyright (c) 2021 Mike "KemoNine" Crosson
# SPDX-License-Identifier: MIT

config SHIELD_THE_PAINTBRUSH_LEFT
def_bool $(shields_list_contains,the_paintbrush_left)

config SHIELD_THE_PAINTBRUSH_RIGHT
def_bool $(shields_list_contains,the_paintbrush_right)
3 changes: 3 additions & 0 deletions config/boards/shields/the_paintbrush/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The Paintbrush

This directory contains the ARDUX implementation for `The Paintbrush` hardware being developed by KemoNine.
16 changes: 16 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_left.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) 2021 Mike "KemoNine" Crosson
# SPDX-License-Identifier: MIT

# Tune combos to allow proper ARDUX support
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=8
CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8

# Tune bluetooth profiles for quick select
CONFIG_BT_MAX_CONN=6

# Enable display (layer in use is helpful)
CONFIG_ZMK_DISPLAY=y

# Turn off sleep
CONFIG_ZMK_SLEEP=n
31 changes: 31 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_left.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (c) 2021 Mike "KemoNine" Crosson
*
* SPDX-License-Identifier: MIT
*/

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>

// Left/Right
#define ARDUX_LEFT 1

// ARTS Row
#define KEY_A 3
#define KEY_R 2
#define KEY_T 1
#define KEY_S 0
// EYIO Row
#define KEY_E 7
#define KEY_Y 6
#define KEY_I 5
#define KEY_O 4

// Define Offsets
#define LEADING_NONES NONE(0,0,0)
#define MIDDLE_NONES NONE(0, 0, 0)
#define TRAILING_NONES NONE(0, 0, 0)

// Include main ardux.io keymap
#include "../../../ardux.dtsi"
30 changes: 30 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_left.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright (c) 2021 Mike "KemoNine" Crosson
*
* SPDX-License-Identifier: MIT
*/

#include <dt-bindings/zmk/matrix_transform.h>

/ {
chosen {
zmk,kscan = &kscan0;
};

kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-direct";

label = "KSCAN";

input-gpios
= <&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
;
};
};
16 changes: 16 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_right.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) 2021 Mike "KemoNine" Crosson
# SPDX-License-Identifier: MIT

# Tune combos to allow proper ARDUX support
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=8
CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8

# Tune bluetooth profiles for quick select
CONFIG_BT_MAX_CONN=6

# Enable display (layer in use is helpful)
CONFIG_ZMK_DISPLAY=y

# Turn off sleep
CONFIG_ZMK_SLEEP=n
31 changes: 31 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_right.keymap
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (c) 2021 Mike "KemoNine" Crosson
*
* SPDX-License-Identifier: MIT
*/

#include <behaviors.dtsi>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/bt.h>

// Left/Right
#define ARDUX_RIGHT 1

// ARTS Row
#define KEY_A 0
#define KEY_R 1
#define KEY_T 2
#define KEY_S 3
// EYIO Row
#define KEY_E 4
#define KEY_Y 5
#define KEY_I 6
#define KEY_O 7

// Define Offsets
#define LEADING_NONES NONE(0,0,0)
#define MIDDLE_NONES NONE(0, 0, 0)
#define TRAILING_NONES NONE(0, 0, 0)

// Include main ardux.io keymap
#include "../../../ardux.dtsi"
31 changes: 31 additions & 0 deletions config/boards/shields/the_paintbrush/the_paintbrush_right.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Copyright (c) 2021 Mike "KemoNine" Crosson
*
* SPDX-License-Identifier: MIT
*/

#include <dt-bindings/zmk/matrix_transform.h>

/ {
chosen {
zmk,kscan = &kscan0;
};

kscan0: kscan_0 {
compatible = "zmk,kscan-gpio-direct";

label = "KSCAN";

input-gpios
= <&pro_micro 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
, <&pro_micro 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
;

};
};
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

default_layer {
bindings = <
&reset
&sys_reset
>;
};
};
Expand Down
12 changes: 7 additions & 5 deletions config/west.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
manifest:
remotes:
- name: petejohanson
url-base: https://github.com/petejohanson
- name: zmkfirmware
url-base: https://github.com/zmkfirmware
- name: zmk-ardux
url-base: https://github.com/arduxio
projects:
- name: zmk
remote: petejohanson
revision: hardware/rp2040-support
remote: zmkfirmware
revision: main
import: app/west.yml
self:
path: config
path: config

0 comments on commit 5bd5c14

Please sign in to comment.