diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4270d5b..7ef19f5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,11 +1,90 @@ -on: [push, pull_request, workflow_dispatch] - name: Build - +on: + - push + - pull_request + - workflow_dispatch jobs: build: - runs-on: ubuntu-latest - name: Build Test + runs-on: ubuntu-20.04 + container: + image: zmkfirmware/zmk-build-arm:2.4 + strategy: + fail-fast: false + matrix: + include: + +# -board: ahokore + +# - shield: bfo9000_left +# board: nice_nano +# - shield: bfo9000_right +# board: nice_nano + + - shield: corne_left + board: nice_nano + - shield: corne_right + board: nice_nano + + - shield: cradio_left + board: nice_nano + - shield: cradio_right + board: nice_nano + + - shield: crbn + board: nice_nano + + - shield: eek + board: nice_nano + +# -board: ferris + + - shield: helix_left + board: nice_nano + - shield: helix_right + board: nice_nano + + - shield: iris_left + board: nice_nano + - shield: iris_right + board: nice_nano + + - shield: jian_left + board: nice_nano + - shield: jian_right + board: nice_nano + + - shield: jorne_left + board: nice_nano + - shield: jorne_right + board: nice_nano + + - shield: kyria_left + board: nice_nano + - shield: kyria_right + board: nice_nano + + - shield: lily58_left + board: nice_nano + - shield: lily58_right + board: nice_nano + + - shield: microdox_left + board: nice_nano + - shield: microdox_right + board: nice_nano + + - board: planck_rev6 + + - shield: sofle_left + board: nice_nano + - shield: sofle_right + board: nice_nano + + - shield: splitreus62_left + board: nice_nano + - shield: splitreus62_right + board: nice_nano + steps: - name: Checkout uses: actions/checkout@v2 @@ -15,64 +94,48 @@ jobs: cache-name: cache-zephyr-modules with: path: | + bootloader/ modules/ tools/ zephyr/ - bootloader/ zmk/ - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('manifest-dir/west.yml') }} + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('config/west.yml') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}- - - name: West Init - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-init - with: - args: 'init "-l config"' - - name: West Update - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-update - with: - args: 'update' - - name: West Config Zephyr Base - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-config - with: - args: 'config "--global zephyr.base-prefer configfile"' - - name: West Zephyr Export - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-zephyr-export - with: - args: 'zephyr-export' - - name: West Build (Corne Left) - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-build-corne-left - with: - args: 'build "-s zmk/app -b nice_nano -- -DSHIELD=corne_left -DZMK_CONFIG=/github/workspace/config"' - - name: Corne DTS File - if: ${{ always() }} - run: cat -n build/zephyr/nice_nano.dts.pre.tmp - - name: Corne Left Kconfig file - run: cat build/zephyr/.config | grep -v "^#" | grep -v "^$" - - name: Rename zmk.uf2 - run: cp build/zephyr/zmk.uf2 corne_left_nice_nano.uf2 - - name: Archive (Corne Left) + timeout-minutes: 2 + continue-on-error: true + - name: Initialize workspace (west init) + run: west init -l config + - name: Update modules (west update) + run: west update + - name: Export Zephyr CMake package (west zephyr-export) + run: west zephyr-export + - name: Prepare variables + id: variables + run: | + if [ -n "${{ matrix.shield }}" ]; then + SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" + ARTIFACT_NAME="${{ matrix.shield }}-${{ matrix.board }}-zmk" + else + SHIELD_ARG= + ARTIFACT_NAME="${{ matrix.board }}-zmk" + fi + + echo ::set-output name=shield-arg::${SHIELD_ARG} + echo ::set-output name=artifact-name::${ARTIFACT_NAME} + - name: Build (west build) + run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} + -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" + - name: Generated DTS file + if: always() + run: cat -n build/zephyr/${{ matrix.board }}.dts.pre.tmp + - name: Archive artifacts uses: actions/upload-artifact@v2 with: - name: firmware - path: corne_left_nice_nano.uf2 - - name: West Build (Corne Right) - uses: 'docker://zmkfirmware/zephyr-west-action-arm:latest' - id: west-build-corne-right - with: - args: 'build "--pristine -s zmk/app -b nice_nano -- -DSHIELD=corne_right -DZMK_CONFIG=/github/workspace/config"' - - name: Corne Right Kconfig file - run: cat build/zephyr/.config | grep -v "^#" | grep -v "^$" - - name: Rename zmk.uf2 - run: cp build/zephyr/zmk.uf2 corne_right_nice_nano.uf2 - - name: Archive (Corne Right) - uses: actions/upload-artifact@v2 - with: - name: firmware - path: corne_right_nice_nano.uf2 + name: ${{ steps.variables.outputs.artifact-name }} + path: | + build/zephyr/zmk.hex + build/zephyr/zmk.uf2 + continue-on-error: true \ No newline at end of file diff --git a/config/ahokore.keymap b/config/ahokore.keymap new file mode 100644 index 0000000..e58b2fa --- /dev/null +++ b/config/ahokore.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/split_3x5_3.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/corne.keymap b/config/corne.keymap index 05bc521..c97c711 100644 --- a/config/corne.keymap +++ b/config/corne.keymap @@ -1,6 +1,6 @@ - -#include "../miryoku/split_3x6_3.h" +// https://github.com/manna-harbour/miryoku-zmk/ #define MIRYOKU_COMBO_TPS_ENABLE +#include "../miryoku/mapping/split_3x6_3.h" #include "../miryoku/miryoku.dtsi" diff --git a/config/cradio.keymap b/config/cradio.keymap new file mode 100644 index 0000000..047cac9 --- /dev/null +++ b/config/cradio.keymap @@ -0,0 +1,3 @@ + +#include "../miryoku/mapping/split_3x5_2.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/crbn.keymap b/config/crbn.keymap new file mode 100644 index 0000000..22a44a3 --- /dev/null +++ b/config/crbn.keymap @@ -0,0 +1,5 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/ortho_4x12.h" +#include "../miryoku/miryoku.dtsi" + diff --git a/config/eek.keymap b/config/eek.keymap new file mode 100644 index 0000000..e58b2fa --- /dev/null +++ b/config/eek.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/split_3x5_3.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/ferris.keymap b/config/ferris.keymap new file mode 100644 index 0000000..a5502f0 --- /dev/null +++ b/config/ferris.keymap @@ -0,0 +1,3 @@ + +#include "../miryoku/mapping/split_3x6_2.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/helix.keymap b/config/helix.keymap new file mode 100644 index 0000000..6264605 --- /dev/null +++ b/config/helix.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/helix.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/iris.keymap b/config/iris.keymap new file mode 100644 index 0000000..3a09942 --- /dev/null +++ b/config/iris.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/iris.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/jian.keymap b/config/jian.keymap new file mode 100644 index 0000000..98c4175 --- /dev/null +++ b/config/jian.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/jian.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/jorne.keymap b/config/jorne.keymap new file mode 100644 index 0000000..98c4175 --- /dev/null +++ b/config/jorne.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/jian.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/kyria.keymap b/config/kyria.keymap new file mode 100644 index 0000000..fa7c7f5 --- /dev/null +++ b/config/kyria.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/kyria.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/lily58.keymap b/config/lily58.keymap new file mode 100644 index 0000000..a68ad32 --- /dev/null +++ b/config/lily58.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/lily58.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/microdox.keymap b/config/microdox.keymap new file mode 100644 index 0000000..e58b2fa --- /dev/null +++ b/config/microdox.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/split_3x5_3.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/planck.keymap b/config/planck.keymap new file mode 100644 index 0000000..22a44a3 --- /dev/null +++ b/config/planck.keymap @@ -0,0 +1,5 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/ortho_4x12.h" +#include "../miryoku/miryoku.dtsi" + diff --git a/config/planck_rev6.keymap b/config/planck_rev6.keymap deleted file mode 100644 index 9535eb4..0000000 --- a/config/planck_rev6.keymap +++ /dev/null @@ -1,4 +0,0 @@ - -#include "../miryoku/ortho_4x12.h" -#include "../miryoku/miryoku.dtsi" - diff --git a/config/sofle.keymap b/config/sofle.keymap new file mode 100644 index 0000000..5654f5e --- /dev/null +++ b/config/sofle.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/sofle.h" +#include "../miryoku/miryoku.dtsi" diff --git a/config/splitreus62.keymap b/config/splitreus62.keymap new file mode 100644 index 0000000..fa7ea57 --- /dev/null +++ b/config/splitreus62.keymap @@ -0,0 +1,4 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#include "../miryoku/mapping/atreus62.h" +#include "../miryoku/miryoku.dtsi" diff --git a/miryoku/mapping/atreus62.h b/miryoku/mapping/atreus62.h new file mode 100644 index 0000000..f51c08b --- /dev/null +++ b/miryoku/mapping/atreus62.h @@ -0,0 +1,21 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX \ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \ +XXX XXX XXX XXX K32 K33 K34 K35 K36 K37 XXX XXX XXX XXX + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 53 54 +#define MIRYOKU_COMBO_TPSR 55 56 + diff --git a/miryoku/mapping/helix.h b/miryoku/mapping/helix.h new file mode 100644 index 0000000..b24f8ef --- /dev/null +++ b/miryoku/mapping/helix.h @@ -0,0 +1,21 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX \ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 XXX \ +XXX XXX XXX XXX K32 K33 K34 K35 K36 K37 XXX XXX XXX XXX + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 55 56 +#define MIRYOKU_COMBO_TPSR 57 58 + diff --git a/miryoku/mapping/iris.h b/miryoku/mapping/iris.h new file mode 100644 index 0000000..33d9927 --- /dev/null +++ b/miryoku/mapping/iris.h @@ -0,0 +1,21 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX \ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 XXX \ + K32 K33 K34 K35 K36 K37 + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 51 52 +#define MIRYOKU_COMBO_TPSR 53 54 + diff --git a/miryoku/mapping/jian.h b/miryoku/mapping/jian.h new file mode 100644 index 0000000..4641e1d --- /dev/null +++ b/miryoku/mapping/jian.h @@ -0,0 +1,19 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX XXX \ + XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ + XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \ + K32 K33 K34 K35 K36 K37 + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING + +#define MIRYOKU_COMBO_TPSL 39 40 +#define MIRYOKU_COMBO_TPSR 41 42 diff --git a/miryoku/mapping/kyria.h b/miryoku/mapping/kyria.h new file mode 100644 index 0000000..32f4f5c --- /dev/null +++ b/miryoku/mapping/kyria.h @@ -0,0 +1,19 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING(\ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +)\ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 XXX XXX XXX XXX K25 K26 K27 K28 K29 XXX \ + XXX K32 K33 K34 XXX XXX K35 K36 K37 XXX + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 42 43 +#define MIRYOKU_COMBO_TPSR 48 49 diff --git a/miryoku/mapping/lily58.h b/miryoku/mapping/lily58.h new file mode 100644 index 0000000..acb1fe6 --- /dev/null +++ b/miryoku/mapping/lily58.h @@ -0,0 +1,21 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX \ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 XXX \ + XXX K32 K33 K34 K35 K36 K37 XXX + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 52 53 +#define MIRYOKU_COMBO_TPSR 54 55 + diff --git a/miryoku/ortho_4x12.h b/miryoku/mapping/ortho_4x12.h similarity index 86% rename from miryoku/ortho_4x12.h rename to miryoku/mapping/ortho_4x12.h index b5106ff..7a5efab 100644 --- a/miryoku/ortho_4x12.h +++ b/miryoku/mapping/ortho_4x12.h @@ -1,24 +1,24 @@ -// generated from miryoku_zmk.org -*- buffer-read-only: t -*- +// https://github.com/manna-harbour/miryoku-zmk/ #define XXX &none -#define MIRYOKU_SUBMAP(\ +#define MIRYOKU_MAPPING(\ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ K00 K01 K02 K03 K04 XXX XXX K05 K06 K07 K08 K09 \ K10 K11 K12 K13 K14 XXX XXX K15 K16 K17 K18 K19 \ K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 \ XXX XXX K32 K33 K34 XXX XXX K35 K36 K37 XXX XXX -#define MIRYOKU_SUPERMAP(\ +#define MIRYOKU_MAPPING_TAP( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -)\ +) \ K00 K01 K02 K03 K04 &kp NUM_8 &kp NUM_7 K05 K06 K07 K08 K09 \ K10 K11 K12 K13 K14 &kp NUM_6 &kp NUM_5 K15 K16 K17 K18 K19 \ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K29 \ diff --git a/miryoku/mapping/sofle.h b/miryoku/mapping/sofle.h new file mode 100644 index 0000000..5520098 --- /dev/null +++ b/miryoku/mapping/sofle.h @@ -0,0 +1,21 @@ +// https://github.com/manna-harbour/miryoku-zmk/ + +#define XXX &none + +#define MIRYOKU_MAPPING( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ +XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX \ +XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ +XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ +XXX K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 XXX \ + XXX XXX K32 K33 K34 K35 K36 K37 XXX XXX + +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING // todo + +#define MIRYOKU_COMBO_TPSL 53 54 +#define MIRYOKU_COMBO_TPSR 55 56 + diff --git a/miryoku/split_3x5_2.h b/miryoku/mapping/split_3x5_2.h similarity index 72% rename from miryoku/split_3x5_2.h rename to miryoku/mapping/split_3x5_2.h index 248a7bf..c037ab3 100644 --- a/miryoku/split_3x5_2.h +++ b/miryoku/mapping/split_3x5_2.h @@ -1,19 +1,19 @@ -// generated from miryoku_zmk.org -*- buffer-read-only: t -*- +// https://github.com/manna-harbour/miryoku-zmk/ #define XXX &none -#define MIRYOKU_SUBMAP(\ +#define MIRYOKU_MAPPING( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 \ K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 \ K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \ K33 K34 K35 K36 -#define MIRYOKU_SUPERMAP MIRYOKU_SUBMAP +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING #define MIRYOKU_COMBO_TPSL 30 31 #define MIRYOKU_COMBO_TPSR 32 33 diff --git a/miryoku/split_3x5_3.h b/miryoku/mapping/split_3x5_3.h similarity index 71% rename from miryoku/split_3x5_3.h rename to miryoku/mapping/split_3x5_3.h index 20dbdb1..d64945b 100644 --- a/miryoku/split_3x5_3.h +++ b/miryoku/mapping/split_3x5_3.h @@ -1,19 +1,19 @@ -// generated from miryoku_zmk.org -*- buffer-read-only: t -*- +// https://github.com/manna-harbour/miryoku-zmk/ #define XXX &none -#define MIRYOKU_SUBMAP(\ +#define MIRYOKU_MAPPING( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ +N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 \ K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 \ K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \ K32 K33 K34 K35 K36 K37 -#define MIRYOKU_SUPERMAP MIRYOKU_SUBMAP +#define MIRYOKU_MAPPING_TAP MIRYOKU_MAPPING #define MIRYOKU_COMBO_TPSL 33 34 #define MIRYOKU_COMBO_TPSR 35 36 diff --git a/miryoku/split_3x6_3.h b/miryoku/mapping/split_3x6_3.h similarity index 80% rename from miryoku/split_3x6_3.h rename to miryoku/mapping/split_3x6_3.h index 7b80d5f..2c5b465 100644 --- a/miryoku/split_3x6_3.h +++ b/miryoku/mapping/split_3x6_3.h @@ -1,24 +1,24 @@ -// generated from miryoku_zmk.org -*- buffer-read-only: t -*- +// https://github.com/manna-harbour/miryoku-zmk/ #define XXX &none -#define MIRYOKU_SUBMAP(\ +#define MIRYOKU_MAPPING( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \ K32 K33 K34 K35 K36 K37 -#define MIRYOKU_SUPERMAP(\ +#define MIRYOKU_MAPPING_TAP( \ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ + N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ +) \ &kp LALT K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 &kp LGUI \ &kp LCTRL K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 &kp RCTRL \ &kp LSHFT K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 &kp RSHFT \ diff --git a/miryoku/miryoku-zmk.org b/miryoku/miryoku-zmk-babel.org similarity index 64% rename from miryoku/miryoku-zmk.org rename to miryoku/miryoku-zmk-babel.org index 821e66d..084921d 100644 --- a/miryoku/miryoku-zmk.org +++ b/miryoku/miryoku-zmk-babel.org @@ -1,165 +1,11 @@ # After making changes to code or tables call org-babel-tangle (C-c C-v t). -#+Title: Miryoku ZMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] - -[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]] - -Miryoku is an ergonomic, minimal, orthogonal, universal keyboard layout. - -Miryoku ZMK is the miryoku implemention for [[https://zmkfirmware.dev/][ZMK -Firmware]], a wireless keyboard firmware built on the Zephyr RTOS. - -*For miryoku documentation and other implementations see -[[https://github.com/manna-harbour/miryoku/blob/master/README.org][github.com/manna-harbour/miryoku]].* - -* Contents :TOC_3: -- [[#status][Status]] - - [[#todo][Todo]] - - [[#integrate-with-zephyr-cmake][Integrate with Zephyr CMake]] - - [[#add-mappings-for-all-boards--shields-in-zmk][Add mappings for all boards / shields in ZMK]] -- [[#layers][Layers]] - - [[#base-base][Base (~BASE~)]] - - [[#tap][Tap]] - - [[#hold][Hold]] - - [[#navigation-navr][Navigation (~NAVR~)]] - - [[#mouse-mour][Mouse (~MOUR~)]] - - [[#mouse-buttons-overlay-mbo][Mouse Buttons Overlay (~MBO~)]] - - [[#media-medr][Media (~MEDR~)]] - - [[#numerals-and-symbols-nsl][Numerals and Symbols (~NSL~)]] - - [[#shifted-numerals-and-symbols-nssl][Shifted Numerals and Symbols (~NSSL~)]] - - [[#function-and-system-funl][Function and System (~FUNL~)]] - - [[#alternative-layouts][Alternative Layouts]] - - [[#base-layer-alphas][Base Layer Alphas]] - - [[#vi-style-navigation][vi-Style Navigation]] - - [[#navigation-layer-clipboard-keys][Navigation Layer Clipboard Keys]] -- [[#code-generation][Code Generation]] - - [[#table-conversion-scripts][Table Conversion Scripts]] - - [[#table-map-taphold][table-map-taphold]] - - [[#table-map-half][table-map-half]] - - [[#table-map-full][table-map-full]] - - [[#table-layer-defines][table-layer-defines]] - - [[#table-keycode-mappings][table-keycode-mappings]] - - [[#data][Data]] - - [[#layers-1][layers]] - - [[#symbol-names][symbol-names]] - - [[#mods][mods]] - - [[#nonkp][nonkp]] - - [[#keycode-translation][keycode-translation]] - - [[#header][header]] -- [[#subset-mapping][Subset Mapping]] - - [[#mappings][mappings]] - - [[#split_3x5_2h][[[split_3x5_2.h]]]] - - [[#split_3x5_3h][[[split_3x5_3.h]]]] - - [[#split_3x6_3h][[[split_3x6_3.h]]]] - - [[#ortho_4x12h][[[ortho_4x12.h]]]] - - [[#miryoku-include][miryoku include]] - - [[#miryokudtsi][[[miryoku.dtsi]]]] -- [[#documentation][Documentation]] -- [[#contact][Contact]] - -* Status - -Welcome to the alpha of miryoku ZMK! - -You've been added as a collaborator to the repo as it's the easiest way to give -access. You're not expected to contribute but contributions are welcome. In -that case please create a new branch and PR. Otherwise, if you could avoid -accidental force pushes to master that'd be great! The layout should be usable -now but there's still some work to do before it's published, so please don't -redistribute. If you fork, please make the repo private. - -Just a bit of an explanation of the current status: I'm doing a miryoku -reorganisation at the moment. The general layout docs will move out of the QMK -repo and get expanded. The org stuff will also move and will generate QMK, ZMK, -and KMonad. At the moment the org stuff in ZMK is separate until I finalise the -scripts and re-integrate the changes, so it's a bit of a mess right now but the -generated keymap shouldn't change much. - -** Todo - -*** TODO Integrate with Zephyr CMake - -Support passing configuration options. For now, add the equivalent ~#define~ to -your keymap before the includes, e.g. for ~MIRYOKU_ALPHAS=QWERTY~ add ~#define -MIRYOKU_ALPHAS_QWERTY~. - - -*** TODO Add mappings for all boards / shields in ZMK - -#+TODO: TODO | DONE NA - -https://github.com/zmkfirmware/zmk/tree/main/app/boards/shields - -**** TODO bfo9000 -split_6x9 -**** NA boardsource3x4 -**** NA clueboard_california -**** DONE corne -split_3x6_3 -**** TODO cradio -split_3x5_2 -**** DONE crbn -ortho_4x12 -**** DONE eek -split_3x5_3 -**** TODO ferris -split_3x5_2 -**** TODO helix -helix -**** TODO iris -iris -**** TODO jian -jian -**** TODO jorne -jorne -**** TODO kyria -kyria -**** TODO lily58 -lily58 -**** TODO m60 -60_ansi -**** DONE microdox -split_3x5_3 -**** TODO nibble -**** NA qaz -**** TODO quefrency -**** TODO reviung41 -**** NA romac -**** NA romac_plus -**** TODO sofle -sofle -**** TODO splitreus62 -**** TODO tg4x -**** NA tidbit - +#+Title: Miryoku ZMK Babel [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] * Layers -The layers are maintained in tables, with the thumb keys on the bottom row. -~U_NP~ indicates the key is not present and is used to fill in the table around -the thumb keys. The grid arrangement of the tables does not imply a particular -physical layout. - -Basic keycodes are entered without the ~KC_~ prefix. Symbols can be entered -as-is, except for '-' (~MINS~), '.' (~DOT~), '|' (~PIPE~), and '"' (~DQUO~). -Empty cells are unused. - -The base layer has both halves of the layout joined for convenience. Other -layers are specified as a single hand. - - ** Base (~BASE~) -The base layer is maintained as separate tap and hold tables and are combined -into the corresponding tap-hold keycodes for mods and layer change. Mods (and -reset) will be available on sub layers on the same hand as the layer change -thumb key. Unknown names are considered to be layer names. - -Base layer alphas are Colemak-DHm. Thumb keys are backspace, enter, delete on -the right and space, tab, escape on the left. Dot, comma and apostrophe are -included for prose, dot and slash for file and directory names. - - *** Tap #+NAME: colemakdhm @@ -180,11 +26,6 @@ included for prose, dot and slash for file and directory names. ** Navigation (~NAVR~) -Primary right-hand layer (left home thumb) is navigation and editing. Cursor -keys are on the home position, line and page movement below, clipboard above, -caps lock and insert on the inner column. Thumb keys are duplicated from the -base layer to avoid having to layer change mid edit and to enable auto-repeat. - #+NAME: navr | U_RDO | U_PST | U_CPY | U_CUT | U_UND | | CAPS | LEFT | DOWN | UP | RGHT | @@ -194,12 +35,6 @@ base layer to avoid having to layer change mid edit and to enable auto-repeat. ** Mouse (~MOUR~) -Secondary right-hand layer is mouse emulation. Mouse movement mirrors cursor -navigation on home and wheel mirrors line / page movement below. Buttons are on -the thumbs (L, M, R). Mouse movement, click, and drag with modifiers can be -performed from the home position. Unused keys are available for other related -functions. - #+NAME: mour | | | | | | | | MS_L | MS_D | MS_U | MS_R | @@ -209,9 +44,6 @@ functions. *** Mouse Buttons Overlay (~MBO~) -Available for automatic activation depending on keyboard hardware and -configuration. Not activated manually. - #+NAME: mbo | | | | | | | | | | | | | | | | | | | | | | @@ -221,11 +53,8 @@ configuration. Not activated manually. ** Media (~MEDR~) -Tertiary right-hand layer is media control, with volume up / down and next / -prev mirroring the navigation keys. Pause, stop and mute are on thumbs. RGB -control is on the top row (combine with shift to invert). BT control is on the -bottom row, and USB / BT output toggle on the home row inner index. - +BT control is on the bottom row, and USB / BT output toggle on the home row +inner index. #+NAME: medr | RGB_TOG | RGB_MOD | RGB_HUI | RGB_SAI | RGB_VAI | @@ -236,10 +65,6 @@ bottom row, and USB / BT output toggle on the home row inner index. ** Numerals and Symbols (~NSL~) -Primary left-hand layer (right home thumb) is numerals and symbols. Numerals -are in the standard numpad locations with symbols in the remaining positions. -Dot is duplicated from the base layer. - #+NAME: nsl | [ | 7 | 8 | 9 | ] | | ; | 4 | 5 | 6 | = | @@ -249,10 +74,6 @@ Dot is duplicated from the base layer. ** Shifted Numerals and Symbols (~NSSL~) -Secondary left-hand layer has shifted symbols in the same locations to reduce -chording when using mods with shifted symbols. Open parenthesis is duplicated -next to close parenthesis. - #+NAME: nssl | { | & | * | ( | } | | : | $ | % | ^ | + | @@ -262,12 +83,6 @@ next to close parenthesis. ** Function and System (~FUNL~) -Tertiary left-hand layer has function keys mirroring the numerals on the primary -layer with extras on the pinkie column, plus system keys on the inner column. -App (menu) is on the tertiary thumb key and other thumb keys are duplicated from -the base layer to enable auto-repeat. - - #+NAME: funl | F12 | F7 | F8 | F9 | PSCR | | F11 | F4 | F5 | F6 | SLCK | @@ -277,16 +92,13 @@ the base layer to enable auto-repeat. ** Alternative Layouts -The defaults are recommended, but alternative layouts are provided to -accommodate existing muscle memory. +To select, translate the ~=~ to ~_~ and add a ~#define~ to your keymap file +before the includes, e.g. for ~MIRYOKU_ALPHAS=QWERTY~ add ~#define +MIRYOKU_ALPHAS_QWERTY~. *** Base Layer Alphas -To select, append the corresponding option to the ~make~ command line when -building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. - - **** Colemak ~MIRYOKU_ALPHAS=COLEMAK~ @@ -355,7 +167,7 @@ building, e.g. ~MIRYOKU_ALPHAS=QWERTY~. *** vi-Style Navigation -To select, append ~MIRYOKU_NAV=VI~ to the ~make~ command line when building. +~MIRYOKU_NAV=VI~ **** Navigation (NAVR) @@ -388,18 +200,6 @@ To select, append ~MIRYOKU_NAV=VI~ to the ~make~ command line when building. *** Navigation Layer Clipboard Keys -Keycodes are translated from those used in the Navigation layer tables according -to the following tables. - -By default, the main clipboard keys (cut, copy, and paste) use the CUA bindings -and should work in general unix and windows applications, emacs, and terminal -emulators (paste only). The additional keys (undo, redo) usually require -rebinding in the application. - -To select, append the corresponding option to the ~make~ command line when -building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. - - **** Default #+NAME: clipboard @@ -457,9 +257,6 @@ building, e.g. ~MIRYOKU_CLIPBOARD=WIN~. | | | | | | | | | | | | U_NP | U_NP | | | | | | | U_NP | U_NP | - -Duplicate base layer tap keys on thumbs rather than trans to enable auto-repeat. - #+NAME: temr | | | | | | |------+------+------+------+------| @@ -485,8 +282,6 @@ Duplicate base layer tap keys on thumbs rather than trans to enable auto-repeat. *** table-map-taphold -Produce base layer from separate tap and hold tables. - #+NAME: table-map-taphold #+BEGIN_SRC python :var tap_table=colemakdhm :var hold_table=hold :var symbol_names_table=symbol-names :var mods_table=mods :var nonkp_table=nonkp :var layers_table=layers :var keycode_translation_table=keycode-translation :tangle no :results verbatim width = 14 @@ -535,10 +330,6 @@ return results *** table-map-half -Produce sub layers given layer name and corresponding table for single hand and -incorporating mods and reset from base layer. Layer names must end with 'R' or -'L'. A layer with shifted symbols can also be generated. - #+NAME: table-map-half #+BEGIN_SRC python :var hold_table=hold :var mode="r" :var half_table=navr :var symbol_names_table=symbol-names :var mods_table=mods :var nonkp_table=nonkp :var shift="false" :var layers_table=layers :var keycode_translation_table=keycode-translation :tangle no :results verbatim width = 13 @@ -605,8 +396,6 @@ return results *** table-map-full -Produce full layer from single table. Fill for unused keys is configurable. - #+NAME: table-map-full #+BEGIN_SRC python :var table=mbo :var fill="&trans" :var symbol_names_table=symbol-names :var nonkp_table=nonkp :var keycode_translation_table=keycode-translation :tangle no :results verbatim width = 10 @@ -647,8 +436,6 @@ return results *** table-layer-defines -Produce layer defines from layer names in hold table. - #+NAME: table-layer-defines #+BEGIN_SRC python :var layers_table=layers :tangle no width = 5 @@ -892,151 +679,13 @@ standard keycode to implementation equivalent | DF(TAP) | &tog TAP | -*** header - -Header for tangled source files. - -#+NAME: header -#+BEGIN_SRC C :tangle no -generated from miryoku_zmk.org -*- buffer-read-only: t -*- -#+END_SRC -* Subset Mapping - -The keymap, build options, and configuration are shared between keyboards. The -layout is mapped onto keyboards with different physical layouts as a subset. - -** mappings - -*** [[split_3x5_2.h]] - -Combos of primary and secondary thumb keys emulate the missing tertiary thumb -key. To enable with other subset mappings for compatibility, add ~#define -MIRYOKU_COMBO_TPS_ENABLE~ to the keymap before the includes. - -#+BEGIN_SRC C :noweb yes :padline no :tangle split_3x5_2.h -// <
> - -#define XXX &none - -#define MIRYOKU_SUBMAP(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 \ -K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 \ -K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \ - K33 K34 K35 K36 - -#define MIRYOKU_SUPERMAP MIRYOKU_SUBMAP - -#define MIRYOKU_COMBO_TPSL 30 31 -#define MIRYOKU_COMBO_TPSR 32 33 - -#define MIRYOKU_COMBO_TPS_ENABLE -#+END_SRC - - -*** [[split_3x5_3.h]] - -#+BEGIN_SRC C :noweb yes :padline no :tangle split_3x5_3.h -// <
> - -#define XXX &none - -#define MIRYOKU_SUBMAP(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 \ -K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 \ -K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 \ - K32 K33 K34 K35 K36 K37 - -#define MIRYOKU_SUPERMAP MIRYOKU_SUBMAP - -#define MIRYOKU_COMBO_TPSL 33 34 -#define MIRYOKU_COMBO_TPSR 35 36 -#+END_SRC - - -*** [[split_3x6_3.h]] - -#+BEGIN_SRC C :noweb yes :padline no :tangle split_3x6_3.h -// <
> - -#define XXX &none - -#define MIRYOKU_SUBMAP(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -XXX K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 XXX \ -XXX K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 XXX \ -XXX K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 XXX \ - K32 K33 K34 K35 K36 K37 - -#define MIRYOKU_SUPERMAP(\ - K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ - K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ - K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ - N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -&kp LALT K00 K01 K02 K03 K04 K05 K06 K07 K08 K09 &kp LGUI \ -&kp LCTRL K10 K11 K12 K13 K14 K15 K16 K17 K18 K19 &kp RCTRL \ -&kp LSHFT K20 K21 K22 K23 K24 K25 K26 K27 K28 K29 &kp RSHFT \ - K32 K33 K34 K35 K36 K37 - -#define MIRYOKU_COMBO_TPSL 37 38 -#define MIRYOKU_COMBO_TPSR 39 40 -#+END_SRC - - -*** [[ortho_4x12.h]] - -#+BEGIN_SRC C :noweb yes :padline no :tangle ortho_4x12.h -// <
> - -#define XXX &none - -#define MIRYOKU_SUBMAP(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39\ -)\ -K00 K01 K02 K03 K04 XXX XXX K05 K06 K07 K08 K09 \ -K10 K11 K12 K13 K14 XXX XXX K15 K16 K17 K18 K19 \ -K20 K21 K22 K23 K24 XXX XXX K25 K26 K27 K28 K29 \ -XXX XXX K32 K33 K34 XXX XXX K35 K36 K37 XXX XXX - -#define MIRYOKU_SUPERMAP(\ -K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ -K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ -K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ -N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \ -)\ -K00 K01 K02 K03 K04 &kp NUM_8 &kp NUM_7 K05 K06 K07 K08 K09 \ -K10 K11 K12 K13 K14 &kp NUM_6 &kp NUM_5 K15 K16 K17 K18 K19 \ -K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K29 \ -&kp LSHFT &kp LCTRL K32 K33 K34 &kp NUM_2 &kp NUM_1 K35 K36 K37 &kp LALT &kp LGUI - -#+END_SRC - - -** miryoku include - -*** [[miryoku.dtsi]] +** [[miryoku.dtsi]] #+BEGIN_SRC C :noweb yes :padline no :tangle miryoku.dtsi -// <
> +// https://github.com/manna-harbour/miryoku-zmk/ +// -*- buffer-read-only: t -*- #include #include @@ -1080,31 +729,31 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K BASE_layer { bindings = < #if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #endif @@ -1113,31 +762,31 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K TAP_layer { bindings = < #if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #else - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( <> ) #endif @@ -1145,7 +794,7 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K }; MBO_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) >; @@ -1153,11 +802,11 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K NAVR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #endif @@ -1166,11 +815,11 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K MOUR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #endif @@ -1179,11 +828,11 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K MEDR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) #endif @@ -1191,21 +840,21 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K }; NSL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) >; }; NSSL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) >; }; FUNL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( <> ) >; @@ -1277,19 +926,3 @@ K20 K21 K22 K23 K24 &kp NUM_4 &kp NUM_3 K25 K26 K27 K28 K #+END_SRC -* Documentation :noexport_1: - -** ZMK - -- - -** Org Mode - -- https://orgmode.org/ -- https://orgmode.org/manual/Tables.html -- https://orgmode.org/manual/Working-with-Source-Code.html - - -* Contact - -[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]] diff --git a/miryoku/miryoku.dtsi b/miryoku/miryoku.dtsi index afc9a08..bd91a9c 100644 --- a/miryoku/miryoku.dtsi +++ b/miryoku/miryoku.dtsi @@ -1,4 +1,5 @@ -// generated from miryoku_zmk.org -*- buffer-read-only: t -*- +// https://github.com/manna-harbour/miryoku-zmk/ +// -*- buffer-read-only: t -*- #include #include @@ -66,49 +67,49 @@ BASE_layer { bindings = < #if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp D, &kp H, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, &kp Z, &hm RALT X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &hm RALT DOT, &kp SLASH, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp K, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, &kp Z, &hm RALT X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &hm RALT DOT, &kp SLASH, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, &hm LGUI A, &hm LALT O, &hm LCTRL E, &hm LSHFT U, &kp I, &kp D, &hm LSHFT H, &hm LCTRL T, &hm LALT N, &hm LGUI S, &kp SLASH, &hm RALT Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &hm RALT V, &kp Z, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, &hm LGUI S, &hm LALT H, &hm LCTRL N, &hm LSHFT T, &kp COMMA, &kp DOT, &hm LSHFT A, &hm LCTRL E, &hm LALT O, &hm LGUI I, &kp F, &hm RALT M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &hm RALT K, &kp Y, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, &hm LGUI A, &hm LALT S, &hm LCTRL H, &hm LSHFT T, &kp G, &kp Y, &hm LSHFT N, &hm LCTRL E, &hm LALT O, &hm LGUI I, &kp Z, &hm RALT X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &hm RALT DOT, &kp SLASH, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp Q, &kp W, &kp E, &kp R, &kp T, &kp Y, &kp U, &kp I, &kp O, &kp P, &hm LGUI A, &hm LALT S, &hm LCTRL D, &hm LSHFT F, &kp G, &kp H, &hm LSHFT J, &hm LCTRL K, &hm LALT L, &hm LGUI SQT, &kp Z, &hm RALT X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &hm RALT DOT, &kp SLASH, U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL RET, < NSL BSPC, < FUNL DEL, U_NP, U_NP ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &hm LGUI A, &hm LALT R, &hm LCTRL S, &hm LSHFT T, &kp G, &kp M, &hm LSHFT N, &hm LCTRL E, &hm LALT I, &hm LGUI O, &kp Z, &hm RALT X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &hm RALT DOT, &kp SLASH, @@ -120,49 +121,49 @@ U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL R TAP_layer { bindings = < #if defined MIRYOKU_ALPHAS_COLEMAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp Q, &kp W, &kp F, &kp P, &kp G, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &kp A, &kp R, &kp S, &kp T, &kp D, &kp H, &kp N, &kp E, &kp I, &kp O, &kp Z, &kp X, &kp C, &kp V, &kp B, &kp K, &kp M, &kp COMMA, &kp DOT, &kp SLASH, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_COLEMAKDH - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &kp A, &kp R, &kp S, &kp T, &kp G, &kp K, &kp N, &kp E, &kp I, &kp O, &kp Z, &kp X, &kp C, &kp D, &kp V, &kp M, &kp H, &kp COMMA, &kp DOT, &kp SLASH, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_DVORAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp SQT, &kp COMMA, &kp DOT, &kp P, &kp Y, &kp F, &kp G, &kp C, &kp R, &kp L, &kp A, &kp O, &kp E, &kp U, &kp I, &kp D, &kp H, &kp T, &kp N, &kp S, &kp SLASH, &kp Q, &kp J, &kp K, &kp X, &kp B, &kp M, &kp W, &kp V, &kp Z, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_HALMAK - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp W, &kp L, &kp R, &kp B, &kp Z, &kp SQT, &kp Q, &kp U, &kp D, &kp J, &kp S, &kp H, &kp N, &kp T, &kp COMMA, &kp DOT, &kp A, &kp E, &kp O, &kp I, &kp F, &kp M, &kp V, &kp C, &kp SLASH, &kp G, &kp P, &kp X, &kp K, &kp Y, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_WORKMAN - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp Q, &kp D, &kp R, &kp W, &kp B, &kp J, &kp F, &kp U, &kp P, &kp SQT, &kp A, &kp S, &kp H, &kp T, &kp G, &kp Y, &kp N, &kp E, &kp O, &kp I, &kp Z, &kp X, &kp M, &kp C, &kp V, &kp K, &kp L, &kp COMMA, &kp DOT, &kp SLASH, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #elif defined MIRYOKU_ALPHAS_QWERTY - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &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 SQT, &kp Z, &kp X, &kp C, &kp V, &kp B, &kp N, &kp M, &kp COMMA, &kp DOT, &kp SLASH, U_NP, U_NP, &kp ESC, &kp SPC, &kp TAB, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #else - MIRYOKU_SUPERMAP( + MIRYOKU_MAPPING_TAP( &kp Q, &kp W, &kp F, &kp P, &kp B, &kp J, &kp L, &kp U, &kp Y, &kp SQT, &kp A, &kp R, &kp S, &kp T, &kp G, &kp M, &kp N, &kp E, &kp I, &kp O, &kp Z, &kp X, &kp C, &kp D, &kp V, &kp K, &kp H, &kp COMMA, &kp DOT, &kp SLASH, @@ -173,7 +174,7 @@ U_NP, U_NP, < MEDR ESC, < NAVR SPC, < MOUR TAB, < NSSL R }; MBO_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, &trans, @@ -184,14 +185,14 @@ U_NP, U_NP, &trans, &trans, &trans, &kp KP_SLASH, U_NU, U_NU, NAVR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, &kp CAPS, U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, &kp INS, U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &kp BSPC, &kp DEL, U_NP, U_NP ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp CAPS, &kp LEFT, &kp DOWN, &kp UP, &kp RIGHT, U_NA, &kp RALT, U_NA, U_NA, U_NA, &kp INS, &kp HOME, &kp PG_DN, &kp PG_UP, &kp END, @@ -203,14 +204,14 @@ U_NP, U_NP, U_NA, U_NA, U_NA, &kp RET, &k MOUR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp KP_N4, &kp KP_N2, &kp KP_N8, &kp KP_N6, U_NU, U_NA, &kp RALT, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, U_NP, U_NP, U_NA, U_NA, U_NA, &kp KP_SLASH, U_NU, U_NU, U_NP, U_NP ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, U_NU, &kp KP_N4, &kp KP_N2, &kp KP_N8, &kp KP_N6, U_NA, &kp RALT, U_NA, U_NA, U_NA, U_NU, U_NU, U_NU, U_NU, U_NU, @@ -222,14 +223,14 @@ U_NP, U_NP, U_NA, U_NA, U_NA, &kp KP_SLASH, U MEDR_layer { bindings = < #if defined MIRYOKU_NAV_VI - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, &rgb_ug RGB_TOG, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, &out OUT_TOG, U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, &bt BT_CLR, U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &kp C_PP, &kp C_MUTE, U_NP, U_NP ) #else - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &bootloader, &tog TAP, U_NA, U_NA, U_NA, &rgb_ug RGB_TOG, &rgb_ug RGB_EFF, &rgb_ug RGB_HUI, &rgb_ug RGB_SAI, &rgb_ug RGB_BRI, &kp LGUI, &kp LALT, &kp LCTRL, &kp LSHFT, U_NA, &out OUT_TOG, &kp C_PREV, &kp C_VOL_DN, &kp C_VOL_UP, &kp C_NEXT, U_NA, &kp RALT, U_NA, U_NA, U_NA, &bt BT_CLR, &bt BT_SEL 0, &bt BT_SEL 1, &bt BT_SEL 2, &bt BT_SEL 3, @@ -240,7 +241,7 @@ U_NP, U_NP, U_NA, U_NA, U_NA, &kp C_STOP, &k }; NSL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp LBKT, &kp NUM_7, &kp NUM_8, &kp NUM_9, &kp RBKT, U_NA, U_NA, U_NA, &tog TAP, &bootloader, &kp SEMI, &kp NUM_4, &kp NUM_5, &kp NUM_6, &kp EQL, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, &kp GRAVE, &kp NUM_1, &kp NUM_2, &kp NUM_3, &kp BSLH, U_NA, U_NA, U_NA, &kp RALT, U_NA, @@ -250,7 +251,7 @@ U_NP, U_NP, &kp DOT, &kp NUM_0, &kp MINUS, U_NA, U_ }; NSSL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp LBRC, &kp AMPS, &kp ASTRK, &kp LPAR, &kp RBRC, U_NA, U_NA, U_NA, &tog TAP, &bootloader, &kp COLON, &kp DLLR, &kp PRCT, &kp CRRT, &kp PLUS, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, &kp TILDE, &kp EXCL, &kp AT, &kp HASH, &kp PIPE, U_NA, U_NA, U_NA, &kp RALT, U_NA, @@ -260,7 +261,7 @@ U_NP, U_NP, &kp LPAR, &kp RPAR, &kp UNDER, U_NA, U_ }; FUNL_layer { bindings = < - MIRYOKU_SUBMAP( + MIRYOKU_MAPPING( &kp F12, &kp F7, &kp F8, &kp F9, &kp PSCRN, U_NA, U_NA, U_NA, &tog TAP, &bootloader, &kp F11, &kp F4, &kp F5, &kp F6, &kp SLCK, U_NA, &kp LSHFT, &kp LCTRL, &kp LALT, &kp LGUI, &kp F10, &kp F1, &kp F2, &kp F3, &kp PAUSE_BREAK, U_NA, U_NA, U_NA, &kp RALT, U_NA, diff --git a/readme.org b/readme.org new file mode 100644 index 0000000..0539ee8 --- /dev/null +++ b/readme.org @@ -0,0 +1,108 @@ +#+Title: Miryoku ZMK [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/miryoku-roa-32.png]] + +[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]] + +[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, +orthogonal, universal keyboard layout. This is the miryoku implementation for +[[https://zmkfirmware.dev/][ZMK]]. + +* Contents :TOC_3: +- [[#miryoku-keymap][Miryoku Keymap]] +- [[#configuration-options][Configuration Options]] +- [[#mapping][Mapping]] + - [[#generic-layouts][Generic Layouts]] + - [[#jian][jian]] + - [[#ortho_4x12][ortho_4x12]] + - [[#split_3x5_2][split_3x5_2]] + - [[#split_3x5_3][split_3x5_3]] + - [[#split_3x6_3][split_3x6_3]] + - [[#keyboard-specific-layouts][Keyboard-Specific Layouts]] + - [[#kyria][kyria]] +- [[#keyboard-keymaps][Keyboard Keymaps]] +- [[#contact][Contact]] + +* Miryoku Keymap + +The miryoku keymap is a ZMK DT keymap file using C preprocessor macros for +configuration options and to abstract the physical layout. The file is +[[./miryoku/miryoku.dtsi][miryoku/miryoku.dtsi]]. The file +is included into the keyboard's keymap with + +#+BEGIN_SRC C :tangle no +#include "../miryoku/miryoku.dtsi" +#+END_SRC + + +* Configuration Options + +todo + + +* Mapping + +The keymap is mapped onto keyboards with different physical layouts. The keymap +is specified in terms of the ~MIRYOKU_MAPPING~ macro. The macro is defined in a +C header file for each physical layout. Unused keys are mapped to ~&none~. The +files are in [[./miryoku/mapping/][miryoku/mapping/]]. The +mapping file is included into the keyboard's keymap file before the miryoku +keymap with e.g. + +#+BEGIN_SRC C :tangle no +#include "../miryoku/mapping/split_3x5_3.dtsi" +#+END_SRC + +On each hand, only the main alpha block of 3 rows by 5 columns and the 3 most +appropriate thumb keys are used. Notes or diagrams are included where the +selection of keys is not obvious or where options are provided. + +** Generic Layouts + +These mappings can be used by multiple keyboards with functionally identical physical layouts. + +*** jian + +Used by: + +- jian +- jorne + +*** [[./miryoku/mapping/ortho_4x12.h][ortho_4x12]] + +[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-ortho_4x12.png]] + + +*** [[./miryoku/mapping/split_3x5_2.h][split_3x5_2]] + +Combos of primary and secondary thumb keys emulate the missing tertiary thumb +key. To enable with other subset mappings for compatibility, add ~#define +MIRYOKU_COMBO_TPS_ENABLE~ to the keymap before the includes. + +*** [[./miryoku/mapping/split_3x5_3.h][split_3x5_3]] + + +*** [[./miryoku/mapping/split_3x6_3.h][split_3x6_3]] + + + +** Keyboard-Specific Layouts + +*** [[./miryoku/mapping/kyria.h][kyria]] + +[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/mapping/miryoku-kle-mapping-kyria.png]] + + +* Keyboard Keymaps + +Keymap files for many keyboards included in ZMK are provided in +[[./config/][config/]]. + + +* Contact + +To request any of the following, please create an issue. Pull requests are also welcome. + +- Additional mapping and keyboard keymap files +- Additional mapping options (see miryoku QMK for examples) +- Populating unused keys in ~MIRYOKU_MAPPING_TAP~ (currently skipped for some mapping files) + +[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]] diff --git a/status.org b/status.org new file mode 100644 index 0000000..f35a464 --- /dev/null +++ b/status.org @@ -0,0 +1,86 @@ +* Status + +Welcome to the alpha of miryoku ZMK! + +You've been added as a collaborator to the repo as it's the easiest way to give +access. You're not expected to contribute but contributions are welcome. In +that case please create a new branch and PR. Otherwise, if you could avoid +accidental force pushes to master that'd be great! The layout should be usable +now but there's still some work to do before it's published, so please don't +redistribute. If you fork, please make the repo private. + +Just a bit of an explanation of the current status: I'm doing a miryoku +reorganisation at the moment. The general layout docs will move out of the QMK +repo and get expanded. The org stuff will also move and will generate QMK, ZMK, +and KMonad. At the moment the org stuff in ZMK is separate until I finalise the +scripts and re-integrate the changes, so it's a bit of a mess right now but the +generated keymap shouldn't change much. + +** Todo + +*** TODO Integrate with Zephyr CMake + +Support passing configuration options. For now, add the equivalent ~#define~ to +your keymap before the includes, e.g. for ~MIRYOKU_ALPHAS=QWERTY~ add ~#define +MIRYOKU_ALPHAS_QWERTY~. + + +*** TODO Add mappings for all boards / shields in ZMK + +#+TODO: TODO | DONE NA MACROPAD ROWSTAGGER + +**** https://github.com/zmkfirmware/zmk/tree/main/app/boards/shields + +***** TODO bfo9000 + split_6x9 +***** MACROPAD boardsource3x4 +***** MACROPAD clueboard_california +***** DONE corne +***** DONE cradio +***** DONE crbn +***** DONE eek +***** DONE ferris +***** DONE helix +***** DONE iris +***** DONE jian +***** DONE jorne +***** DONE kyria +***** DONE lily58 +***** ROWSTAGGER m60 + 60_ansi +***** DONE microdox +***** ROWSTAGGER nibble +nibble (65%) +***** ROWSTAGGER qaz +***** ROWSTAGGER quefrency +quefrency (65%) +***** TODO reviung41 + +***** MACROPAD romac +***** MACROPAD romac_plus +***** DONE sofle +***** DONE splitreus62 +***** ROWSTAGGER tg4x +40% +***** MACROPAD tidbit + + +**** https://github.com/zmkfirmware/zmk/tree/main/app/boards/arm + +***** NA bdn9 +***** NA bluemicro840 +***** ROWSTAGGER dz60rgb_rev1 +can be built as 60_ansi, default in zmk is not +***** NA nice_nano +***** NA nrf52840_m2 +***** NA nrfmicro +***** DONE planck +***** NA proton_c + + +**** external + +***** DONE ahokore +***** TODO corne-ish_zen + name? +