manna-harbour / miryoku

Miryoku is an ergonomic, minimal, orthogonal, and universal keyboard layout.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Key Emulation Combos

manna-harbour opened this issue · comments

Add options to emulate the tertiary thumb keys with a combos of primary and secondary, the inner index column keys with combos of index and middle, and the pinkie column keys with combos of middle and ring. This would be an alternative to stretching and would support boards that have eliminated some of those keys.

  • Would support anything from hard to reach top row pinkie column keys to 3x3+2.
  • If using only 3 columns it might be better to use the inverted T nav option to reduce the need for combos for cursor movement.
  • Home row combos caveats:
    • Holding simultaneous mod combinations Alt+Ctrl, or Ctrl+Shift would not be possible as they would trigger a combo.
      • Can be held sequentially with a delay longer than combo term.
      • For ZMK, combo can trigger tap hold with hold of both mods.
      • for QMK, use tap-only.
    • Using Gui with Alt or Ctrl would require the pinkie key, one shot mods on the sub layers (and the inability to hold), or use of the other hand (and the inability to use those columns).
  • ZMK (https://github.com/manna-harbour/miryoku_zmk#key-emulation-combos)
    • Add hand written thumb combos to Miryoku ZMK supporting all layout options
    • Add keyboard.conf files with CONFIG ZMK_COMBO_MAX_COMB OS_PER_KEY for keyboards with thumb combos enabled by default, and note in docs for when enabling on others
    • Add hand written top row combos to Miryoku ZMK supporting default layout options
    • Add hand written bottom row combos to Miryoku ZMK supporting default layout options
    • Add #error for unimplemented key emulation combos
    • Add docs manna-harbour/miryoku_zmk#8
    • Generate all combos from Miryoku Babel for Miryoku ZMK for all layout options
    • Add built-in support for key emulation combos to ZMK
  • QMK (https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku#thumb-combos)
    • Add hand written thumb combos to Miryoku QMK supporting all layout options
    • Add hand written top row combos to Miryoku QMK supporting default layout options
    • Add hand written bottom row combos to Miryoku QMK supporting default layout options
    • Add #error for unimplemented key emulation combos
    • Add docs
    • Generate all combos from Miryoku Babel for Miryoku QMK for all layout options
    • Add built-in support for key emulation combos to QMK
    • Restrict combos by layer
  • KMonad
  • KMK
commented

Is there an option to enable this feature in ZMK already or is it still a wip? Or is the only option that is needed the CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY one

@distracteddev In general see #56 (comment) above for general status and a link to the docs.

There are a few other undocumented things to note:

It relies on support being added to the mapping file. Check the file for your keyboard and if there's nothing there support will be added by request.

Thumb combos should support all build options, but top and bottom row combos are only included for default options at the moment. QWERTY will be added soon via manna-harbour/miryoku_zmk#8. Support for other build options will be added by request.

Some boards have combos enabled by default but they can be enabled with the appropriate #define in custom_config on other boards that have support in the mapping file. https://github.com/manna-harbour/miryoku_zmk/blob/master/miryoku/mapping/34/ferris.h has thumb combos defined and enabled. https://github.com/manna-harbour/miryoku_zmk/blob/master/miryoku/mapping/30/hummingbird.h has all combos defined, and bottom row and thumb combos enabled.

Boards with combos enabled by default should already have max combos set. Otherwise you need to set it in kconfig.