diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5cb429b..1d6140c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,7 +18,7 @@ jobs: build: runs-on: ubuntu-20.04 container: - image: zmkfirmware/zmk-build-arm:3.5-branch-20231114235846-3.5.0-0.16.3-6c450465d1dd-6870957618 + image: zmkfirmware/zmk-build-arm:stable strategy: fail-fast: false matrix: @@ -28,10 +28,22 @@ jobs: # cmake-args: (optional) extra arguments to pass to CMake as a string. include: - board: le_chiff_ble + artifact_prefix: schiffer_bleu + keyboard_name: "schiffer bleu" + + - board: le_chiff_ble + artifact_prefix: schiffer_pink + keyboard_name: "schiffer pink" + + - board: le_chiff_ble + artifact_prefix: schiffer_gelb + keyboard_name: "schiffer gelb" + steps: - - name: Checkout + - name: Checkout (${{ matrix.keyboard_name }}) uses: actions/checkout@v2 - - name: Cache west modules + + - name: Cache west modules (${{ matrix.keyboard_name }}) uses: actions/cache@v2 env: cache-name: cache-zephyr-modules @@ -49,12 +61,16 @@ jobs: ${{ runner.os }}- timeout-minutes: 2 continue-on-error: true - - name: Initialize workspace (west init) + + - name: Initialize workspace (west init) (${{ matrix.keyboard_name }}) run: west init -l ${{ env.config-path }} - - name: Update modules (west update) + + - name: Update modules (west update) (${{ matrix.keyboard_name }}) run: west update - - name: Export Zephyr CMake package (west zephyr-export) + + - name: Export Zephyr CMake package (west zephyr-export) (${{ matrix.keyboard_name }}) run: west zephyr-export + - name: Prepare variables id: variables run: | @@ -67,21 +83,21 @@ jobs: fi echo ::set-output name=shield-arg::${SHIELD_ARG} echo ::set-output name=artifact-name::${ARTIFACT_NAME} - - name: Build (west build) + + - name: Build (west build) (${{ matrix.keyboard_name }}) run: | west build -s zmk/app -b ${{ matrix.board }} -- \ ${{ steps.variables.outputs.shield-arg }} \ -DZMK_CONFIG="${GITHUB_WORKSPACE}/${{ env.config-path }}" \ + -DCONFIG_ZMK_KEYBOARD_NAME="\"${{ matrix.keyboard_name }}\"" \ ${{ matrix.cmake-args }} - # - name: Generated DTS file - # if: always() - # run: cat -n build/zephyr/${{ matrix.board }}.dts.pre.tmp - - name: Rename artifacts + + - name: Rename artifacts (${{ matrix.keyboard_name }}) run: | mkdir build/artifacts - [ -f build/zephyr/zmk.hex ] && cp build/zephyr/zmk.hex "build/artifacts/${{ steps.variables.outputs.artifact-name }}.hex" - [ -f build/zephyr/zmk.uf2 ] && cp build/zephyr/zmk.uf2 "build/artifacts/${{ steps.variables.outputs.artifact-name }}.uf2" - - name: Archive artifacts + [ -f build/zephyr/zmk.uf2 ] && cp build/zephyr/zmk.uf2 "build/artifacts/${{ matrix.artifact_prefix }}_${{ matrix.board }}.uf2" + + - name: Archive artifacts (${{ matrix.keyboard_name }}) uses: actions/upload-artifact@v2 with: name: "${{ steps.variables.outputs.artifact-name }}" diff --git a/zmk-config/boards/arm/le_chiff_ble/le_chiff_ble.keymap b/zmk-config/boards/arm/le_chiff_ble/le_chiff_ble.keymap index a8c1dd9..0a2cb4a 100644 --- a/zmk-config/boards/arm/le_chiff_ble/le_chiff_ble.keymap +++ b/zmk-config/boards/arm/le_chiff_ble/le_chiff_ble.keymap @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 @MangoIV + * Copyright (c) 2022 @dreipunkteinsvier * * SPDX-License-Identifier: MIT */ @@ -9,66 +9,196 @@ #include #include -// makes it possible to hold backspace -&mt { - quick_tap_ms = <200>; -}; +#define QWR 0 +#define COL 1 +#define NUM 2 +#define FUN 3 +#define NAV 4 +#define SET 5 < { - quick_tap_ms = <200>; + quick_tap_ms = <200>; +}; + +&caps_word { + continue-list = ; }; +// _____________________________ _____________________________ +// / 0 | 1 | 2 | 3 | 4 \ / 5 | 6 | 7 | 8 | 9 \ +// | 10 | 11 | 12 | 13 | 14 | ___ | 15 | 16 | 17 | 18 | 19 | +// | 20 | 21 | 22 | 23 | 24 ||025|| 26 | 27 | 28 | 29 | 30 | +// \ 31 | 32 / \ 33 | 34 / +// -------------------- -------------------- + / { + combos { + compatible = "zmk,combos"; + combo_esc { + timeout-ms = <20>; + key-positions = <11 12>; + bindings = <&kp ESC>; + layers = ; + }; + combo_tab { + timeout-ms = <20>; + key-positions = <12 13>; + bindings = <&kp TAB>; + layers = ; + }; + combo_del { + timeout-ms = <20>; + key-positions = <15 16>; + bindings = <&kp DEL>; + layers = ; + }; + combo_bspc { + timeout-ms = <20>; + key-positions = <16 17>; + bindings = <&kp BSPC>; + layers = ; + }; + combo_enter { + timeout-ms = <20>; + key-positions = <17 18>; + bindings = <&kp RET>; + layers = ; + }; + combo_ae { + timeout-ms = <20>; + key-positions = <0 10>; + bindings = <&kp RA(Q)>; + layers = ; + }; + combo_oe { + timeout-ms = <20>; + key-positions = <8 18>; + bindings = <&kp RA(P)>; + layers = ; + }; + combo_ue { + timeout-ms = <20>; + key-positions = <6 16>; + bindings = <&kp RA(Y)>; + layers = ; + }; + combo_ss { + timeout-ms = <20>; + key-positions = <1 11>; + bindings = <&kp RA(S)>; + layers = ; + }; + combo_caps-word { + timeout-ms = <20>; + key-positions = <13 16>; + bindings = <&caps_word>; + layers = ; + }; + }; + + behaviors { + hl: homerow_mods_left { + compatible = "zmk,behavior-hold-tap"; + label = "homerow mods left"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <200>; + quick-tap-ms = <100>; + bindings = <&kp>, <&kp>; + // opposite side hand keys + hold-trigger-key-positions = <5 6 7 8 9 15 16 17 18 19 26 27 28 29 30>; + }; + + hr: homerow_mods_right { + compatible = "zmk,behavior-hold-tap"; + label = "homerow mods right"; + #binding-cells = <2>; + flavor = "tap-preferred"; + tapping-term-ms = <200>; + quick-tap-ms = <100>; + bindings = <&kp>, <&kp>; + // opposite side hand keys + hold-trigger-key-positions = <0 1 2 3 4 10 11 12 13 14 20 21 22 23 24>; + }; + + hs: homerow_mods_shift { + compatible = "zmk,behavior-hold-tap"; + label = "homerow mods shift"; + #binding-cells = <2>; + flavor = "balanced"; + tapping-term-ms = <200>; + quick-tap-ms = <100>; + bindings = <&kp>, <&kp>; + }; + }; + keymap { compatible = "zmk,keymap"; + + default_layer { + label = "Qwerty"; + bindings = < + &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &hl LGUI A &hl LALT S &hl LCTRL D &hs LSHFT F &hl RALT G &hr RALT H &hs RSHFT J &hr RCTRL K &hr LALT L &hr LGUI SEMI + &kp Z &kp X &kp C &kp V &kp B &kp C_MUTE &kp N &kp M &kp COMMA &kp DOT &kp FSLH + < SET TAB < NAV RET < NUM SPACE < FUN BSPC + >; + sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; + }; + + colemak_layer { + label = "Colemak"; + bindings = < + &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMI + &hl LGUI A &hl LALT R &hl LCTRL S &hs LSHFT T &hl RALT G &hr RALT M &hs RSHFT N &hr RCTRL E &hr LALT I &hr LGUI O + &kp Z &kp X &kp C &kp D &kp V &kp C_MUTE &kp K &kp H &kp COMMA &kp DOT &kp FSLH + < SET TAB < NAV RET < NUM SPACE < FUN BSPC + >; + sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; + }; + + numbers_layer { + label = "Numbers"; + bindings = < + &kp MINUS &kp N7 &kp N8 &kp N9 &kp N0 &none &kp C_PREV &kp C_VOL_DN &kp C_VOL_UP &kp C_NEXT + &kp EQUAL &kp N4 &kp N5 &kp N6 &kp SQT &none &kp RSHFT &kp RCTRL &kp LALT &kp LGUI + &kp GRAVE &kp N1 &kp N2 &kp N3 &kp BSLH &none &none &none &none &none &none + &none &none &none &kp DEL + >; + sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; + }; - default { - label = "Qwerty"; -// _____________________________ _____________________________ -// / Q | W | E | R | T \ / Y | U | I | O | P \ -// | A | S | D | F | G | ___ | H | J | K | L | ; | -// |Sft/Z| X | C | V | B ||MUT|| N | M | , | . |Sft//| -// \LSup/Bspc| Ctl/SPC / \ Num/Del | Sym/Ent / -// --------------------- -------------------- + functions_layer { + label = "Function"; bindings = < - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P - &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI - &mt LSHFT Z &kp X &kp C &kp V &kp B &kp C_MUTE &kp N &kp M &kp COMMA &kp DOT &mt RSHFT FSLH - &mt LGUI BSPC &mt LCTRL SPACE < 1 RET < 2 DEL + &kp F12 &kp F7 &kp F8 &kp F9 &kp PSCRN &none &none &none &none &none + &kp F11 &kp F4 &kp F5 &kp F6 &kp CAPS &none &kp RSHFT &kp RCTRL &kp LALT &kp LGUI + &kp F10 &kp F1 &kp F2 &kp F3 &kp INS &none &none &none &none &none &none + &none &none &none &kp DEL >; sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; }; - numbers { - label = "Nummies"; -// _____________________________ _____________________________ -// / 1 | 2 | 3 | 4 | 5 \ / 6 | 7 | 8 | 9 | 0 \ -// | TAB |BTPRV|BTNXT| VOL-| VOL+| ___ | < | v | ^ | > | ' | -// | Sft |BTSL0|BTCLR| MUT | ||CPS|| HOME| END | PGUP| PGDN| Sft | -// \ LGUI | Ctl / \ Trns | / -// --------------------- -------------------- + + navigation_layer { + label = "Navi"; bindings = < - &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 - &kp TAB &bt BT_PRV &bt BT_NXT &kp C_VOL_DN &kp C_VOL_UP &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SQT - &kp LSHFT &bt BT_SEL 0 &bt BT_CLR &kp C_MUTE &none &none &kp HOME &kp END &kp PG_UP &kp PG_DN &kp RSHFT - &kp LGUI &kp LCTRL &trans &kp LALT + &kp F12 &kp F7 &kp F8 &kp F9 &kp LBRC &kp RBRC &kp LC(LEFT) &kp LC(DOWN) &kp LC(UP) &kp LC(RIGHT) + &kp LGUI &kp LALT &kp LCTRL &kp LSHFT &kp LPAR &kp RPAR &kp LEFT &kp DOWN &kp UP &kp RIGHT + &kp F10 &kp F1 &kp F2 &kp F3 &kp LBKT &none &kp RBKT &kp HOME &kp PG_DN &kp PG_UP &kp END + &none &none &none &kp DEL >; - sensor-bindings = <&inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; }; - symbols { - label = "Funks"; -// _____________________________ _____________________________ -// / ESC | F1 | F2 | F3 | F4 \ / USB | BLE | | = | - \ -// | | F5 | F6 | F7 | F8 | ___ | [ | ] | | ` | \ | -// | Sft | F9 | F10 | F11 | F12 || || | | | | Sft | -// \ LAlt | Ctl / \ | Trns / -// --------------------- -------------------- + + settings_layer { + label = "Settings"; bindings = < - &kp ESC &kp F1 &kp F2 &kp F3 &kp F4 &out OUT_USB &out OUT_BLE &none &kp EQUAL &kp MINUS - &none &kp F5 &kp F6 &kp F7 &kp F8 &kp LBKT &kp RBKT &none &kp GRAVE &kp BSLH - &kp LSHFT &kp F9 &kp F10 &kp F11 &kp F12 &none &none &none &sys_reset &bootloader &kp RSHFT - &kp LGUI &kp LCTRL &kp LALT &trans + &none &none &none &sys_reset &none &out OUT_USB &out OUT_BLE &none &none &none + &none &none &none &bootloader &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 + &none &none &none &none &none &none &to 0 &to 1 &bt BT_PRV &bt BT_NXT &bt BT_CLR + &none &none &none &kp DEL >; - sensor-bindings = <&inc_dec_kp PG_UP PG_DN>; + sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP>; }; }; -}; +}; \ No newline at end of file