Compare commits
10 Commits
2bfbad9d77
...
05086f246e
Author | SHA1 | Date |
---|---|---|
Ryan Rix | 05086f246e | |
Ryan Rix | 54db5907e6 | |
granitrocky | 9aa9bc5eb4 | |
Silvio Ankermann | d34ee2febb | |
KemoNine | f93990d264 | |
KemoNine | 69b5a32344 | |
KemoNine | 4e73a2ebeb | |
KemoNine | 64aac2a020 | |
KemoNine | 4588f5e3bd | |
KemoNine | 154e397333 |
|
@ -1,4 +1,9 @@
|
|||
FROM docker.io/zmkfirmware/zmk-dev-arm:stable
|
||||
|
||||
RUN useradd -d /home/dev -u 1000 dev
|
||||
RUN mkdir ~dev
|
||||
RUN chown dev:dev ~dev
|
||||
COPY bashrc tmp
|
||||
RUN mv /tmp/bashrc ~/.bashrc
|
||||
RUN mv /tmp/bashrc ~/.bashrc
|
||||
USER dev
|
||||
WORKDIR /workspaces/zmk-ardux
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
FROM ubuntu:latest as base
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
wget \
|
||||
autoconf \
|
||||
automake \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ccache \
|
||||
device-tree-compiler \
|
||||
dfu-util \
|
||||
g++ \
|
||||
gcc \
|
||||
gcc-arm-none-eabi \
|
||||
libtool \
|
||||
make \
|
||||
ninja-build \
|
||||
cmake \
|
||||
python3-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
xz-utils \
|
||||
&& rm -rf /var/lib/apt/lists/* && apt-get clean
|
||||
|
||||
FROM base as dev
|
||||
RUN apt-get update && apt-get install -y nano vim emacs tmux htop tio minicom \
|
||||
&& pip3 install --user -U west \
|
||||
&& rm -rf /var/lib/apt/lists/* && apt-get clean
|
||||
|
||||
COPY bashrc tmp
|
||||
RUN mv /tmp/bashrc ~/.bashrc
|
||||
|
||||
WORKDIR /workspaces
|
||||
|
||||
ENV ZEPHYR_TOOLCHAIN_VARIANT=cross-compile
|
||||
ENV CROSS_COMPILE=/usr/bin/arm-none-eabi-
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
export LS_OPTIONS='-F --color=auto'
|
||||
export PATH=~/.local/bin:${PATH}
|
||||
alias ls='ls $LS_OPTIONS'
|
||||
if [ "${CODESPACES}" = "true" ]; then
|
||||
export WORKSPACE_DIR="$HOME/workspace/zmk"
|
||||
|
|
|
@ -67,6 +67,10 @@ jobs:
|
|||
shield: cradio_ardux_right
|
||||
- board: nice_nano_v2
|
||||
shield: cradio_ardux_thumb_right
|
||||
- board: nice_nano_v2
|
||||
shield: boardsource3x4_left
|
||||
- board: nice_nano_v2
|
||||
shield: boardsource3x4_right
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# Developing ARDUX for ZMK
|
||||
|
||||
## Work In Progress
|
||||
|
||||
The below is a work in progress. Don't be surprised if there are quirks in the information provided below. PRs are welcome.
|
||||
|
||||
## Misc Notes
|
||||
|
||||
```
|
||||
|
||||
KiTTY has an auto reconnect option, but it's not fast enough to catch the first few messages
|
||||
|
||||
There's a Kconfig setting to delay starting the logging thread.
|
||||
|
||||
Set it a tad higher, should let you catch first log messages.
|
||||
|
||||
LOG_PROCESS_THREAD_STARTUP_DELAY_MS is the setting.
|
||||
|
||||
```
|
|
@ -6,9 +6,30 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
|
@ -28,23 +49,3 @@
|
|||
;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
|
@ -6,29 +6,6 @@
|
|||
|
||||
#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_d 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
|
@ -48,3 +25,27 @@
|
|||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
|
||||
label = "KSCAN";
|
||||
|
||||
input-gpios
|
||||
= <&pro_micro_d 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
if SHIELD_BOARDSOURCE3X4_RIGHT || SHIELDBOARDSOURCE3X4_LEFT
|
||||
|
||||
config ZMK_KEYBOARD_NAME
|
||||
default "Ardux 3x4"
|
||||
|
||||
endif
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
# Copyright (c) 2020 The ZMK Contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
config SHIELD_BOARDSOURCE_LEFT
|
||||
def_bool $(shields_list_contains,boardsource_left)
|
||||
|
||||
config SHIELD_BOARDSOURCE_RIGHT
|
||||
def_bool $(shields_list_contains,boardsource_right)
|
|
@ -0,0 +1,11 @@
|
|||
file_format: "1"
|
||||
id: boardsource3x4
|
||||
name: Boardsource 3x4 Macropad
|
||||
type: shield
|
||||
url: https://boardsource.xyz/store/5ecc2008eee64242946c98c1
|
||||
requires: [pro_micro]
|
||||
features:
|
||||
- keys
|
||||
siblings:
|
||||
- boardsource3x4_left
|
||||
- boardsource3x4_right
|
|
@ -0,0 +1,3 @@
|
|||
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=16
|
||||
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=8
|
||||
CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* 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>
|
||||
|
||||
// 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)
|
||||
#define CUSTOM_THUMB &kp ESC &sk LALT &sk LGUI &sk LCTL
|
||||
// #define TRAILING_NONES NONE(0,0,4)
|
||||
|
||||
// Include main ardux.io keymap
|
||||
#include "../../../ardux.dtsi"
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
col-gpios
|
||||
= <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* 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>
|
||||
|
||||
// Left/Right
|
||||
#define ARDUX_RIGHT 1
|
||||
|
||||
// ARTS Row
|
||||
#define KEY_A 1
|
||||
#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(ESC, &sk LALT, &sk LGUI, &sk LCTL)
|
||||
|
||||
// Include main ardux.io keymap
|
||||
#include "../../../ardux.dtsi"
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright (c) 2020 The ZMK Contributors
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
};
|
||||
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
label = "KSCAN";
|
||||
diode-direction = "col2row";
|
||||
|
||||
row-gpios
|
||||
= <&pro_micro 18 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 19 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
, <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
|
||||
;
|
||||
|
||||
col-gpios
|
||||
= <&pro_micro 10 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 16 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 14 GPIO_ACTIVE_HIGH>
|
||||
, <&pro_micro 15 GPIO_ACTIVE_HIGH>
|
||||
;
|
||||
};
|
||||
};
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(3,0) RC(3,1) RC(3,2)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(3,0) RC(3,1) RC(3,2)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,10 +6,31 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
default_transform: keymap_transform_0 {
|
||||
|
@ -52,23 +73,3 @@ RC(3,0) RC(3,1) RC(3,2)
|
|||
|
||||
// TODO: per-key RGB node(s)?
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -10,7 +10,7 @@ CONFIG_ZMK_COMBO_MAX_PRESSED_COMBOS=8
|
|||
CONFIG_BT_MAX_CONN=6
|
||||
|
||||
# Enable display (layer in use is helpful)
|
||||
CONFIG_ZMK_DISPLAY=y
|
||||
CONFIG_ZMK_DISPLAY=n
|
||||
|
||||
# Turn off sleep
|
||||
CONFIG_ZMK_SLEEP=n
|
||||
|
|
|
@ -6,29 +6,6 @@
|
|||
|
||||
#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_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
|
@ -48,3 +25,27 @@
|
|||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
|
||||
label = "KSCAN";
|
||||
|
||||
input-gpios
|
||||
= <&pro_micro_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,30 +6,6 @@
|
|||
|
||||
#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_a 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
|
@ -49,3 +25,28 @@
|
|||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
|
||||
kscan0: kscan_0 {
|
||||
compatible = "zmk,kscan-gpio-direct";
|
||||
|
||||
label = "KSCAN";
|
||||
|
||||
input-gpios
|
||||
= <&pro_micro_a 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_a 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
, <&pro_micro_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||
;
|
||||
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,6 +6,26 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
|
@ -46,25 +66,6 @@
|
|||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -6,6 +6,26 @@
|
|||
|
||||
#include <dt-bindings/zmk/matrix_transform.h>
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
kscan0: kscan {
|
||||
compatible = "zmk,kscan-gpio-matrix";
|
||||
|
@ -46,25 +66,6 @@
|
|||
chosen {
|
||||
zmk,kscan = &kscan0;
|
||||
zmk,matrix_transform = &default_transform;
|
||||
};
|
||||
};
|
||||
|
||||
&pro_micro_i2c {
|
||||
status = "okay";
|
||||
|
||||
oled: ssd1306@3c {
|
||||
compatible = "solomon,ssd1306fb";
|
||||
reg = <0x3c>;
|
||||
label = "DISPLAY";
|
||||
width = <128>;
|
||||
height = <32>;
|
||||
segment-offset = <0>;
|
||||
page-offset = <0>;
|
||||
display-offset = <0>;
|
||||
multiplex-ratio = <31>;
|
||||
segment-remap;
|
||||
com-invdir;
|
||||
com-sequential;
|
||||
prechargep = <0x22>;
|
||||
zephyr,display = &oled;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
manifest:
|
||||
remotes:
|
||||
- name: zmkfirmware
|
||||
url-base: https://github.com/arduxio
|
||||
url-base: https://github.com/zmkfirmware
|
||||
- name: zmk-ardux
|
||||
url-base: https://github.com/arduxio
|
||||
projects:
|
||||
- name: zmk
|
||||
remote: zmkfirmware
|
||||
revision: ardux
|
||||
revision: ae8299edb3d638f1332475b1da0fdf40afa43fe4
|
||||
import: app/west.yml
|
||||
self:
|
||||
path: config
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
docker run --rm -it \
|
||||
--name zmk-ardux-dev \
|
||||
--network host \
|
||||
--privileged \
|
||||
-v /dev:/dev \
|
||||
-v zmk:/workspaces/zmk \
|
||||
-v $PWD/:/workspaces/zmk-ardux \
|
||||
-v $PWD/.build:/workspaces/zmk/app/build \
|
||||
zmk-ardux:latest \
|
||||
/bin/bash
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
docker volume create zmk
|
||||
|
||||
cd .devcontainer
|
||||
|
||||
docker build --network host -t zmk-ardux:latest -f ./Dockerfile.rpi
|
||||
|
||||
docker run --rm \
|
||||
--network host \
|
||||
-v zmk:/workspaces/zmk \
|
||||
zmk-ardux:latest \
|
||||
/bin/bash -c "git clone https://github.com/zmkfirmware/zmk /workspaces/zmk/"
|
||||
|
||||
docker run \
|
||||
--name zmk-ardux-setup \
|
||||
--network host \
|
||||
-v zmk:/workspaces/zmk \
|
||||
zmk-ardux:latest \
|
||||
/bin/bash -c "source ~/.bashrc && cd /workspaces/zmk && west init -l app/ && west update && west zephyr-export && pip3 install --user -r zephyr/scripts/requirements-base.txt"
|
||||
|
||||
docker commit zmk-ardux-setup zmk-ardux:latest
|
||||
|
||||
docker rm -f zmk-ardux-setup
|
||||
|
||||
cd ..
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
docker commit zmk-ardux-setup zmk-ardux:latest
|
Loading…
Reference in New Issue