From 8c285eb6e58532bb0fc7566adeae32e94d3709ff Mon Sep 17 00:00:00 2001 From: Rudis Muiznieks Date: Tue, 1 Mar 2022 19:38:13 -0600 Subject: [PATCH] initial commit --- build-env/Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ build-env/build | 7 +++++++ build-env/flash | 17 +++++++++++++++++ build-env/run | 3 +++ config/corne.conf | 1 + config/corne.keymap | 38 ++++++++++++++++++++++++++++++++++++++ config/west.yml | 11 +++++++++++ 7 files changed, 113 insertions(+) create mode 100644 build-env/Dockerfile create mode 100755 build-env/build create mode 100755 build-env/flash create mode 100755 build-env/run create mode 100644 config/corne.conf create mode 100644 config/corne.keymap create mode 100644 config/west.yml diff --git a/build-env/Dockerfile b/build-env/Dockerfile new file mode 100644 index 0000000..ff2410c --- /dev/null +++ b/build-env/Dockerfile @@ -0,0 +1,36 @@ +from ubuntu:20.04 + +run apt update +run DEBIAN_FRONTEND=noninteractive TZ=America/Chicago apt install -y \ + git \ + wget \ + autoconf \ + automake \ + build-essential \ + bzip2 \ + ccache \ + device-tree-compiler \ + dfu-util \ + g++ \ + gcc \ + libtool \ + make \ + ninja-build \ + cmake \ + python3-dev \ + python3-pip \ + python3-setuptools \ + xz-utils +run useradd -m rudism +user rudism +workdir /home/rudism +run pip3 install --user -U west +run echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc +env ZSDK_VERSION=0.12.4 +run wget -q "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${ZSDK_VERSION}/zephyr-toolchain-arm-${ZSDK_VERSION}-x86_64-linux-setup.run" && \ + sh "zephyr-toolchain-arm-${ZSDK_VERSION}-x86_64-linux-setup.run" --quiet -- -d ~/.local/zephyr-sdk-${ZSDK_VERSION} && \ + rm "zephyr-toolchain-arm-${ZSDK_VERSION}-x86_64-linux-setup.run" +copy requirements.txt . +run pip3 install --user -r requirements.txt +run echo source zmk/zephyr/zephyr-env.sh >> ~/.bashrc +entrypoint bash diff --git a/build-env/build b/build-env/build new file mode 100755 index 0000000..92f7ef1 --- /dev/null +++ b/build-env/build @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +cd /home/rudism/zmk/app || exit +west build --pristine -b nice_nano_v2 -- -DZMK_CONFIG=/home/rudism/zmk-config/config -DSHIELD=corne_left +cp /home/rudism/zmk/app/build/zephyr/zmk.uf2 /home/rudism/out/corne_left.uf2 +west build --pristine -b nice_nano_v2 -- -DZMK_CONFIG=/home/rudism/zmk-config/config -DSHIELD=corne_right +cp /home/rudism/zmk/app/build/zephyr/zmk.uf2 /home/rudism/out/corne_right.uf2 diff --git a/build-env/flash b/build-env/flash new file mode 100755 index 0000000..533b10b --- /dev/null +++ b/build-env/flash @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +DEVICE=$1 +SIDE=$2 + +if [ "$SIDE" != "left" ] && [ "$SIDE" != "right" ]; then + echo "Usage: ./flash device side" + echo " eg: ./flash /dev/sdb right" + exit 1 +fi + +sudo mount "$DEVICE" /mnt/usb +sudo cp "out/corne_$SIDE.uf2" /mnt/usb +sudo sync +sudo umount /mnt/usb diff --git a/build-env/run b/build-env/run new file mode 100755 index 0000000..5615bff --- /dev/null +++ b/build-env/run @@ -0,0 +1,3 @@ +#!/bin/sh + +docker run -it --rm -v `pwd`/build:/home/rudism/build -v `pwd`/out:/home/rudism/out -v `pwd`/zmk:/home/rudism/zmk -v `pwd`/zmk-config:/home/rudism/zmk-config zmk diff --git a/config/corne.conf b/config/corne.conf new file mode 100644 index 0000000..8e98773 --- /dev/null +++ b/config/corne.conf @@ -0,0 +1 @@ +CONFIG_ZMK_MOUSE=y diff --git a/config/corne.keymap b/config/corne.keymap new file mode 100644 index 0000000..41ee61b --- /dev/null +++ b/config/corne.keymap @@ -0,0 +1,38 @@ +#include +#include +#include + +/ { + keymap { + compatible = "zmk,keymap"; + + + default_layer { + bindings = < + &kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &kp F &kp G &kp C &kp R &kp L &kp BSPC + &kp ESC &kp A &kp O &kp E &kp U &kp I &kp D &kp H &kp T &kp N &kp S &kp MINUS + &kp LCTRL &kp SEMI &kp Q &kp J &kp K &kp X &kp B &kp M &kp W &kp V &kp Z &kp LALT + &kp LSHFT &kp LGUI < 2 RET < 1 SPACE &kp RGUI &kp RSHFT + >; + }; + + layer_raise { + bindings = < + &trans &trans &trans &trans &kp LBKT &kp RBKT &kp BSLH &kp FSLH &kp GRAVE &kp EQUAL &kp DEL &trans + &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &trans + &trans &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp LCTRL + &trans &trans &trans &trans &trans &trans + >; + }; + + layer_lower { + bindings = < + &trans &none &kp PSCRN &kp UP &mkp LCLK &mkp RCLK &kp RET &kp SPACE &kp PG_UP &kp INS &kp K_VOL_UP &trans + &trans &kp K_BACK &kp LEFT &kp DOWN &kp RIGHT &kp SLCK &trans &kp HOME &kp PG_DN &kp END &kp K_PLAY_PAUSE &trans + &kp LALT &kp K_FORWARD &trans &trans &trans &mkp MCLK &kp F11 &kp F12 &trans &kp K_MUTE &kp K_VOL_DN &trans + &trans &trans &trans &trans &trans &trans + >; + }; + + }; +}; diff --git a/config/west.yml b/config/west.yml new file mode 100644 index 0000000..379d291 --- /dev/null +++ b/config/west.yml @@ -0,0 +1,11 @@ +manifest: + remotes: + - name: zmkfirmware + url-base: https://github.com/zmkfirmware + projects: + - name: zmk + remote: zmkfirmware + revision: main + import: app/west.yml + self: + path: config