Layout customization #62
-
Hello! Thank you for such a great layout, loving it. I know this question was raised million times, and also i found your comments on simliar questions on reddit. I followed your guide on how to add new layers using those five commits in the repo and got an error:
I want to customize layout in following way:
I know that you are actively develop layout and implement new features and you have implemented various extensions by specifying environment variables before the build process. That way allows end users to get rid of compatibility issues when compiling new version of keyboard. But are there any way or best practives to customize the layout and avoid compatibility issues for future released versions? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 8 replies
-
Also, is https://github.com/manna-harbour/qmk_firmware/commits/miryoku-examples-add-layers/keyboards/crkbd/keymaps/miryoku-examples-add-layers example still valid? |
Beta Was this translation helpful? Give feedback.
-
There have been many recent implementation changes, and there are also some upcoming features to support customisation (which will cover your 3 cases). See #33, #47, #48 for some of them. When things stabilise I'll be adding some customisation documentation. But at the moment, please just ask here as you've done.
To map unused keys you can edit the mapping file. For crkbd that's here. For crkbd you may also need To map unused keys differently per layer you can define additional mapping macros and use them in the keymap here. Later you'll be able to do this just by defining the macros in
QMK has a control / gui swap bootmagic option, see here. I'm planning on making the mods customisable (see above for the issue). At the moment you'd have to make the changes manually. If you do it via Miryoku Babel you'd only have to edit one line here. Otherwise you have to edit Base plus all the sub-layers here (for the blocks corresponding to your chosen alternative layout options).
I'm planning on making it easier to substitute custom layers, see above for the issue. For now though you'd have to make changes in the same way as in 2., i.e. either via Miryoku Babel, or in In general I'd recommend making changes via Miryoku Babel if you're already using emacs, if you want to make the changes to multiple Miryoku implementations, or in the special case of changing the mods (as they are on every layer). |
Beta Was this translation helpful? Give feedback.
-
Thanks! I'll try it ASAP. |
Beta Was this translation helpful? Give feedback.
-
For future readers: I decided to support only one keyboard (crkbd) and chose way of customization, which I find the most simple and powerful, see below. My main points were:
Implementation details
These simple steps just enough to accomplish the goal. This way I have full control over keyboard and can merge with upstream changes easily. See this commit for code example. P.S.: Miryoku Babel is great. |
Beta Was this translation helpful? Give feedback.
-
See #85. |
Beta Was this translation helpful? Give feedback.
There have been many recent implementation changes, and there are also some upcoming features to support customisation (which will cover your 3 cases). See #33, #47, #48 for some of them. When things stabilise I'll be adding some customisation documentation. But at the moment, please just ask here as you've done.
To map unused keys you can edit the mapping file. For crkbd that's here. For crkbd you may also need
FORCE_LAYOUT
(see here).To map unused keys differently per layer you can define additional mapping macros and use them in the keymap here.
Later you'll be able to do this just by defining the macros in
custom_config.h
or similar.