summaryrefslogtreecommitdiff
path: root/users/manna-harbour_miryoku/readme.org
diff options
context:
space:
mode:
Diffstat (limited to 'users/manna-harbour_miryoku/readme.org')
-rw-r--r--users/manna-harbour_miryoku/readme.org156
1 files changed, 136 insertions, 20 deletions
diff --git a/users/manna-harbour_miryoku/readme.org b/users/manna-harbour_miryoku/readme.org
index 9e3e587240..0adc414e36 100644
--- a/users/manna-harbour_miryoku/readme.org
+++ b/users/manna-harbour_miryoku/readme.org
@@ -3,36 +3,41 @@
* Miryoku QMK [[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://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover-miryoku_qmk.png]]
[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. [[https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku][Miryoku QMK]] is the Miryoku implementation for [[https://qmk.fm][QMK]].
+
** Branches
*** QMK master
-Miryoku QMK is periodically merged upstream into QMK master and it is generally recommended to build directly from QMK master.
+QMK master is the current version of QMK, but usually does not contain the current version of Miryoku QMK.
-QMK master is at https://github.com/qmk/qmk_firmware/tree/master, and the corresponding Miryoku QMK readme is at https://github.com/qmk/qmk_firmware/tree/master/users/manna-harbour_miryoku.
+QMK master is at https://github.com/qmk/qmk_firmware/tree/master. The corresponding Miryoku QMK readme is at https://github.com/qmk/qmk_firmware/tree/master/users/manna-harbour_miryoku and describes the version of Miryoku QMK in QMK master.
*** Miryoku QMK development branch
-The Miryoku QMK development branch is ~miryoku~ and may contain new commits not yet merged into QMK master.
+The Miryoku QMK development branch is the current version of Miryoku QMK, but usually does not contain the current version of QMK.
-~miryoku~ is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku, and the corresponding Miryoku QMK readme is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku.
+The Miryoku QMK development branch is named ~miryoku~ and is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku. The corresponding Miryoku QMK readme is at https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku.
-New commits can be seen at the top of the [[https://github.com/manna-harbour/miryoku_qmk/commits/miryoku][history]] with commit messages beginning ~[miryoku]~. After the new commits are squashed and merged upstream into QMK master by pull request the ~miryoku~ branch is renamed and a new ~miryoku~ branch is created from QMK master.
+New commits can be seen at the top of the [[https://github.com/manna-harbour/miryoku_qmk/commits/miryoku][history]] with commit messages beginning ~[miryoku]~ or ~[miryoku-github]~
-To checkout the ~miryoku~ branch in your existing QMK build environment:
-#+BEGIN_SRC sh :tangle no
-git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH
-git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS
-git fetch miryoku_qmk
-git checkout --track miryoku_qmk/miryoku
-#+END_SRC
+Periodically, the ~[miryoku]~ commits are squashed and merged upstream into QMK master by pull request, the ~miryoku~ branch is renamed, and a new ~miryoku~ branch is created from QMK master.
+
+
+**** Merge
+
+To use both the current versions of QMK and Miryoku QMK together, the QMK master and ~miryoku~ branches need to be merged.
+The ~[miryoku-github]~ commits relate to GitHub specific functions of the Miryoku QMK repository and forks, such as workflows. Directly merging ~miryoku~ with a branch based on QMK master will lead to conflicts due to those commits. To avoid conflicts, first drop or revert all ~[miryoku-github]~ commits from ~miryoku~ before merging.
+
+Merging branches can be performed automatically at build time for [[#workflow-builds][workflow builds]] using the ~merge~ option, which will automatically revert all ~[miryoku-github]~ commits before merging. For local builds, see [[#checkout-update-and-merge][Checkout, Update, and Merge]] below.
+
+Any local changes to existing workflow files should be made independently in commits with messages starting ~[miryoku-github]~ so that they can also be automatically excluded in workflow builds.
** Building
@@ -41,7 +46,52 @@ git checkout --track miryoku_qmk/miryoku
First [[https://docs.qmk.fm/#/newbs_getting_started][set up the QMK build environment and build the default keymap for your keyboard]].
-Build with ~manna-harbour_miryoku~ as the keymap name. Customised defaults for [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options can be set in [[#userspace][custom_rules.mk]]. Options can also be set or overridden at build time.
+Next choose the [[#branches][branch]]. If using ~miryoku~, [[#checkout-update-and-merge][checkout, update, or merge]] as needed.
+
+Build with ~manna-harbour_miryoku~ as the keymap name. Personalised defaults for [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options can be set in [[#userspace][custom_rules.mk]]. Options can also be set or overridden at build time. Build with [[#qmk][qmk]] or [[#make][make]].
+
+
+**** Checkout, Update, and Merge
+
+All of the following examples operate in your existing QMK build environment.
+#+BEGIN_SRC sh :tangle no
+cd qmk_firmware
+#+END_SRC
+
+To checkout the ~miryoku~ branch from Miryoku QMK:
+#+BEGIN_SRC sh :tangle no
+git remote add miryoku_qmk git@github.com:manna-harbour/miryoku_qmk.git # if using SSH
+git remote add miryoku_qmk https://github.com/manna-harbour/miryoku_qmk.git # if using HTTPS
+git fetch miryoku_qmk
+git checkout --track miryoku_qmk/miryoku
+make git-submodule
+#+END_SRC
+
+To update the ~miryoku~ branch from Miryoku QMK:
+#+BEGIN_SRC sh :tangle no
+git checkout miryoku
+git fetch miryoku_qmk
+git merge miryoku_qmk/miryoku
+#+END_SRC
+
+If a new ~miryoku~ branch has been created in Miryoku QMK you will see ~(forced update)~ after the fetch. To rename the existing ~miryoku~ branch and create a new ~miryoku~ branch from Miryoku QMK:
+#+BEGIN_SRC sh :tangle no
+git checkout miryoku
+git branch -m miryoku-`whoami`-`date --rfc-3339=date`
+git fetch miryoku_qmk
+git checkout --track miryoku_qmk/miryoku
+make git-submodule
+#+END_SRC
+
+To [[#merge][merge]] the ~miryoku~ branch with QMK master:
+#+BEGIN_SRC sh :tangle no
+git checkout miryoku
+git checkout -b miryoku-merge-master
+git revert --no-edit `git log --grep='^\[miryoku-github\]' --pretty='format:%H' | tr '\n' ' '`
+git fetch origin
+git merge origin/master
+make git-submodule
+#+END_SRC
**** qmk
@@ -51,7 +101,13 @@ Build with the ~qmk~ command. E.g.
#+BEGIN_SRC sh :tangle no
qmk compile -c -kb crkbd -km manna-harbour_miryoku # build for crkbd
qmk flash -c -kb crkbd -km manna-harbour_miryoku # build for crkbd and flash
-qmk compile -c -kb crkbd -km manna-harbour_miryoku -e MIRYOKU_ALPHAS=QWERTY -e MIRYOKU_NAV=INVERTEDT -e MIRYOKU_CLIPBOARD=WIN -e MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
+qmk compile -c -kb crkbd -km manna-harbour_miryoku \
+ -e MIRYOKU_ALPHAS=QWERTY \
+ -e MIRYOKU_EXTRA=COLEMAKDH \
+ -e MIRYOKU_TAP=QWERTY \
+ -e MIRYOKU_NAV=INVERTEDT \
+ -e MIRYOKU_CLIPBOARD=WIN \
+ -e MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
#+END_SRC
@@ -62,7 +118,13 @@ First ~cd~ to the repository root. Then build with ~make~. E.g.
#+BEGIN_SRC sh :tangle no
make clean crkbd:manna-harbour_miryoku # build for crkbd
make clean crkbd:manna-harbour_miryoku:flash # build for crkbd and flash
-make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTEDT MIRYOKU_CLIPBOARD=WIN MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
+make clean crkbd:manna-harbour_miryoku \
+ MIRYOKU_ALPHAS=QWERTY \
+ MIRYOKU_EXTRA=COLEMAKDH \
+ MIRYOKU_TAP=QWERTY \
+ MIRYOKU_NAV=INVERTEDT \
+ MIRYOKU_CLIPBOARD=WIN \
+ MIRYOKU_LAYERS=FLIP # build for crkbd with alternative layouts
#+END_SRC
@@ -70,13 +132,22 @@ make clean crkbd:manna-harbour_miryoku MIRYOKU_ALPHAS=QWERTY MIRYOKU_NAV=INVERTE
Firmware can be built via GitHub Actions workflows without use of a local build environment. Local tools are still required for [[https://docs.qmk.fm/#/newbs_flashing][flashing]].
-First log in to GitHub, fork the [[#miryoku-qmk-development-branch][Miryoku QMK development branch]] repository, and enable workflows.
+First [[#fork-or-sync][fork the Miryoku QMK repository or sync the ~miryoku~ branch]]. Then use the [[#build-examples][Build Examples]] or [[#build-inputs][Build Inputs]] workflows.
To access a workflow, visit the Actions tab and select the workflow. To download the firmware from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file.
Workflow files are in [[../../.github/workflows]].
+**** Fork or Sync
+
+If you don't have a fork, first [[https://github.com/signup][create a GitHub account]], [[https://github.com/login][login to GitHub]], [[https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository][fork]] https://github.com/manna-harbour/miryoku_qmk, and visit the Actions tab and enable workflows.
+
+If you already have a fork, [[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui][sync]] the ~miryoku~ branch.
+
+If a new ~miryoku~ branch has been created in Miryoku QMK, there will be a warning about conflicts when trying to sync. If you have local changes, first create a copy of the branch by [[https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository#creating-a-branch][creating a new branch]] and specifying the ~miryoku~ branch in your fork as the source, then sync the ~miryoku~ branch again. Accept the prompt to discard commits.
+
+
**** Build Examples
Copy one of the included Build Example workflow files, edit the ~name~ value, and edit and add options and values as desired. Select Run workflow, select the Branch if desired, and activate Run workflow.
@@ -91,7 +162,9 @@ The ~keyboard~ option specifies the keyboard and is required. All other options
The ~alphas~, ~nav~, ~clipboard~, and ~layers~ options correspond to the [[https://github.com/manna-harbour/miryoku/tree/master/docs/reference#alternative-layouts][alternative layout]] options. The ~mapping~ option corresponds to the alternative [[#subset-mapping][mapping]] options. Alternative layout and mapping options are given in the documentation in the form ~MIRYOKU_OPTION=VALUE~. To use here, convert to the form specified above. Use ~default~ to represent the default value. Values for these five options are case-insensitive. See the [[../../.github/workflows/test-all-configs.yml][Test All Configs workflow file]] for all supported values.
-The ~rules~ and ~config~ options can be used to specify values to be appended to ~custom_rules.mk~ and ~custom_config.h~, respectively. Separate multiple lines with ~\n~.
+The ~rules~ and ~custom_config~ options can be used to specify values to be appended to ~custom_rules.mk~ and ~custom_config.h~, respectively. Separate multiple lines with ~\n~.
+
+The ~merge~ option can be used to merge branches at build time. Branches are specified in the form ~<user>/<repo>/<branch>~. E.g. QMK ~master~ and ~develop~ would be specified as ~qmk/qmk_firmware/master~ and ~qmk/qmk_firmware/develop~ respectively. Multiple space separated branches can be specified. For no merges, leave as ~default~.
**** Build Inputs
@@ -106,6 +179,8 @@ The ~Miryoku Alphas~, ~Miryoku Nav~, ~Miryoku Clipboard~, and ~Miryoku Layers~ o
The ~custom_rules.mk~ and ~custom_config.h~ options can be used to specify values to be appended to the corresponding files. Join multiple lines with ~\n~.
+The ~Merge QMK Branches~ option can be used to merge branches at build time. Branches are specified in the form ~<user>/<repo>/<branch>~. E.g. QMK ~master~ and ~develop~ would be specified as ~qmk/qmk_firmware/master~ and ~qmk/qmk_firmware/develop~ respectively. Multiple space separated branches can be specified. For no merges, leave as ~default~.
+
** Subset Mapping
@@ -122,13 +197,13 @@ thumb keys.
- [[./rules.mk]] :: Build options. Automatically included.
-- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout options, for local builds. Included from ~rules.mk~.
+- [[./custom_rules.mk]] :: Custom ~make~ options including customised defaults for alternative layout and mapping options. Included from ~rules.mk~.
- [[./post_rules.mk]] :: Handles Miryoku ~make~ options. Included from ~rules.mk~.
- [[./config.h]] :: Config options. Automatically included.
-- [[./custom_config.h]] :: Custom config options for local builds. Included from ~config.h~.
+- [[./custom_config.h]] :: Custom config options. Included from ~config.h~.
- [[./manna-harbour_miryoku.h]] :: Keymap-related definitions. Included from ~manna-harbour_miryoku.c~. Layer data is generated by [[https://github.com/manna-harbour/miryoku_babel][Miryoku Babel]] and is included from files in the [[miryoku_babel]] directory.
@@ -500,6 +575,17 @@ make handwired/dactyl_manuform/4x5:manna-harbour_miryoku:flash
#+END_SRC
+**** handwired/dactyl_manuform/4x6
+
+Only the main 5x3 alphas and the main 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make handwired/dactyl_manuform/4x6:manna-harbour_miryoku:flash
+#+END_SRC
+
+
**** handwired/dactyl_manuform/5x6
Only the main 5x3 alphas and the main 3 thumb keys are used.
@@ -542,6 +628,17 @@ make keyboardio/atreus:manna-harbour_miryoku:flash
#+END_SRC
+**** keyboardio/model01
+
+Only the main 5x3 alphas and the inner 3 thumb keys are used.
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make keyboardio/model01:manna-harbour_miryoku:flash
+#+END_SRC
+
+
**** lily58
Only the main 5x3 alphas and the inner 3 thumb keys are used.
@@ -588,6 +685,15 @@ make redox_w:manna-harbour_miryoku:flash
#+END_SRC
+**** satt/vision
+
+To build for this keyboard,
+
+#+BEGIN_SRC sh :tangle no
+make satt/vision:manna-harbour_miryoku:flash
+#+END_SRC
+
+
**** sofle
To build for this keyboard,
@@ -647,6 +753,16 @@ Combo the primary and secondary thumb keys to emulate the tertiary thumb key. C
- [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]]
+*** 𝑥MK
+
+Use Miryoku QMK with any keyboard with [[https://github.com/manna-harbour/xmk][𝑥MK]].
+
+For [[#local-builds][local builds]], merge https://github.com/manna-harbour/qmk_firmware/tree/xmk and build for keyboard ~converter/xmk~.
+
+For [[#workflow-builds][workflow builds]], use the Build Inputs workflow and build with keyboard ~converter/xmk~ and merge ~manna-harbour/qmk_firmware/xmk~, or use the Build Example 𝑥MK workflow.
+
+Also see [[https://github.com/manna-harbour/miryoku_kmonad][Miryoku KMonad]].
+
**
[[https://github.com/manna-harbour][https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/logos/manna-harbour-boa-32.png]]