manna-harbour / miryoku

Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout.
2.47k stars 118 forks source link

Support for Keyboardio Atreus #38

Closed Shredder closed 2 years ago

Shredder commented 3 years ago

I would like to use Miryoku on my Keyboardio Atreus, which is supported by QMK since a while. I am happy to do the porting and testing, but I have no experience with QMK, so I would be glad about some pointers to get started and general support as needed.

Shredder commented 3 years ago

My first question: It doesn't seem like there's already a layout (under layouts/default or layouts/community) for the Keyboardio Atreus. Would it be a good start to add one?

Shredder commented 3 years ago

If I don't add the layouts feature support for the Keyboardio Atreus, can I just copy keyboards/atreus/keymaps/manna-harbour_miryoku to keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku? Or am I missing any additional steps?

smoralesd commented 3 years ago

Hi @Shredder, not an expert here but I'm trying to add support for a Dactyl Manuform 5x6 so I guess I could share what I have done up to this point.

  1. I went through this steps to setup my dev environment: https://docs.qmk.fm/#/newbs_getting_started
  2. Then I check the commit history on this repo, found a commit that added support for a Dactyl Manuform 4x5 here. It's a similar keyboard which already exist, so, similar scenario and my guess is I should be able to replicate what was done for the 4x5 to add the 5x6
  3. I created this commit on my fork (still WIP). I'm getting some errors I shared on issue 14 on this same repo.

I think you are right about adding the new files under keyboards/keyboardio/atreus/keymaps/manna-harbour_miryoku.

Hope you can make it work.

manna-harbour commented 3 years ago

I'm happy to add support but it might take me a week or so to get to it at the moment.

manna-harbour commented 3 years ago

The advice from @smoralesd is good. In particular you need to make the config.h based on .../keyboards/keyboardio/atreus/atreus.h in the same way as the subset mapping for the original atreus is based on the corresponding atreus.h.

Shredder commented 3 years ago

I got it to work. Here is my config.h:

// generated from users/manna-harbour_miryoku/miryoku.org  -*- buffer-read-only: t -*-

#pragma once

#define XXX KC_NO

#define LAYOUT_miryoku(\
  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)\
LAYOUT(\
  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, XXX,     XXX, K25, K26, K27, K28, K29,\
  XXX, XXX, XXX, K32, K33, K34,     K35, K36, K37, XXX, XXX, XXX)

To flash the keyboard on Windows, I followed the instructions for the original Atreus and used avrdudess, getting into bootloader mode by plugging in the cable while holding the Escape key.

Some more questions:

manna-harbour commented 3 years ago

Great! I'll incorporate it into the org file and add it to the development branch.

I recently added a customisation example to the docs so you might like to have a look at that. If you need a right hand numpad it'd be best to swap all the sub-layers to the opposite hand. I'll be making a testing version of that layout soon.

manna-harbour commented 3 years ago

My first question: It doesn't seem like there's already a layout (under layouts/default or layouts/community) for the Keyboardio Atreus. Would it be a good start to add one?

The community layouts feature is for where multiple different keyboard share the same layout. There are many variants of the atreus layout but I don't think there are other keyboards using the atreus44 layout in particular. Anyway, it you'd like to add a new community layout it has to go through a QMK PR.

manna-harbour commented 3 years ago

Great! I'll incorporate it into the org file and add it to the development branch.

I have the commit ready. I'll add you as co-author, but it'll expose your email address more than github would otherwise. Please let me know if that's fine or not.

manna-harbour commented 3 years ago
  • I did not change the .org file but directly created the files for the Keyboardio Atreus. However, I understand that they are typically generated from the .org file. How do you do that?

You need emacs and need to enable python for org-babel, then run the command at the top of the file (after adding it to the file in the same way as the others). If you're interested in doing that and creating a PR directly that's great too, otherwise let me know about the co-author issue and I'll use the commit I've already prepared.

manna-harbour commented 3 years ago

Added now. You'll need to merge with QMK master to use. Thanks!