From 0b29af101909dd7de46b50707423ec7aa7c686b8 Mon Sep 17 00:00:00 2001 From: Manna Harbour <51143715+manna-harbour@users.noreply.github.com> Date: Wed, 30 Nov 2022 17:51:49 +1100 Subject: [PATCH] [Keymap] Update Miryoku (#19190) --- .../keymaps/manna-harbour_miryoku/config.h | 40 ++++++++ .../keymaps/manna-harbour_miryoku/keymap.c | 0 .../keymaps/manna-harbour_miryoku/rules.mk | 4 + .../manna-harbour_miryoku/config.h | 4 +- .../manna-harbour_miryoku/keymap.c | 4 + .../manna-harbour_miryoku/rules.mk | 0 .../manna-harbour_miryoku.c | 48 ++++++++++ .../miryoku_layer_alternatives.h | 94 +++++++++---------- users/manna-harbour_miryoku/readme.org | 71 ++++++++++---- users/manna-harbour_miryoku/rules.mk | 9 +- 10 files changed, 203 insertions(+), 71 deletions(-) create mode 100644 keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/config.h rename keyboards/{ferris => takashicompany/minizone}/keymaps/manna-harbour_miryoku/keymap.c (100%) create mode 100644 keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/rules.mk rename {keyboards/ferris/keymaps => layouts/community/split_3x5_2}/manna-harbour_miryoku/config.h (96%) create mode 100644 layouts/community/split_3x5_2/manna-harbour_miryoku/keymap.c rename {keyboards/ferris/keymaps => layouts/community/split_3x5_2}/manna-harbour_miryoku/rules.mk (100%) diff --git a/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/config.h b/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/config.h new file mode 100644 index 00000000000..b899befbe35 --- /dev/null +++ b/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/config.h @@ -0,0 +1,40 @@ +// Copyright 2022 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . + +#pragma once + +#define XXX KC_NO + +#if defined (MIRYOKU_MAPPING_EXTENDED_THUMBS) + +#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, K25, K26, K27, K28, K29, \ + XXX, K32, K33, K34, K35, K36, K37, XXX \ +) + +#else + +#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, K25, K26, K27, K28, K29, \ + K32, K33, K34, KC_BTN1, KC_BTN2, K35, K36, K37 \ +) + +#endif diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/ferris/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/rules.mk b/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/rules.mk new file mode 100644 index 00000000000..0488a92d468 --- /dev/null +++ b/keyboards/takashicompany/minizone/keymaps/manna-harbour_miryoku/rules.mk @@ -0,0 +1,4 @@ +# Copyright 2022 Manna Harbour +# https://github.com/manna-harbour/miryoku + +LTO_ENABLE = yes diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/config.h b/layouts/community/split_3x5_2/manna-harbour_miryoku/config.h similarity index 96% rename from keyboards/ferris/keymaps/manna-harbour_miryoku/config.h rename to layouts/community/split_3x5_2/manna-harbour_miryoku/config.h index dbbff11bb61..c9f1117a6f0 100644 --- a/keyboards/ferris/keymaps/manna-harbour_miryoku/config.h +++ b/layouts/community/split_3x5_2/manna-harbour_miryoku/config.h @@ -1,4 +1,4 @@ -// Copyright 2021 Manna Harbour +// Copyright 2022 Manna Harbour // https://github.com/manna-harbour/miryoku // This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . @@ -11,7 +11,7 @@ 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( \ +LAYOUT_split_3x5_2( \ 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, \ diff --git a/layouts/community/split_3x5_2/manna-harbour_miryoku/keymap.c b/layouts/community/split_3x5_2/manna-harbour_miryoku/keymap.c new file mode 100644 index 00000000000..dbab7f98204 --- /dev/null +++ b/layouts/community/split_3x5_2/manna-harbour_miryoku/keymap.c @@ -0,0 +1,4 @@ +// Copyright 2019 Manna Harbour +// https://github.com/manna-harbour/miryoku + +// This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk b/layouts/community/split_3x5_2/manna-harbour_miryoku/rules.mk similarity index 100% rename from keyboards/ferris/keymaps/manna-harbour_miryoku/rules.mk rename to layouts/community/split_3x5_2/manna-harbour_miryoku/rules.mk diff --git a/users/manna-harbour_miryoku/manna-harbour_miryoku.c b/users/manna-harbour_miryoku/manna-harbour_miryoku.c index 42660a6a5bc..5de5d9b1295 100644 --- a/users/manna-harbour_miryoku/manna-harbour_miryoku.c +++ b/users/manna-harbour_miryoku/manna-harbour_miryoku.c @@ -7,12 +7,60 @@ #include "manna-harbour_miryoku.h" + +// Additional Features double tap guard + +enum { + U_TD_BOOT, +#define MIRYOKU_X(LAYER, STRING) U_TD_U_##LAYER, +MIRYOKU_LAYER_LIST +#undef MIRYOKU_X +}; + +void u_td_fn_boot(qk_tap_dance_state_t *state, void *user_data) { \ + if (state->count == 2) { + reset_keyboard(); + } +} + +#define MIRYOKU_X(LAYER, STRING) \ +void u_td_fn_U_##LAYER(qk_tap_dance_state_t *state, void *user_data) { \ + if (state->count == 2) { \ + default_layer_set((layer_state_t)1 << U_##LAYER); \ + } \ +} +MIRYOKU_LAYER_LIST +#undef MIRYOKU_X + +qk_tap_dance_action_t tap_dance_actions[] = { + [U_TD_BOOT] = ACTION_TAP_DANCE_FN(u_td_fn_boot), +#define MIRYOKU_X(LAYER, STRING) [U_TD_U_##LAYER] = ACTION_TAP_DANCE_FN(u_td_fn_U_##LAYER), +MIRYOKU_LAYER_LIST +#undef MIRYOKU_X +}; + + +// keymap + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #define MIRYOKU_X(LAYER, STRING) [U_##LAYER] = U_MACRO_VA_ARGS(MIRYOKU_LAYERMAPPING_##LAYER, MIRYOKU_LAYER_##LAYER), MIRYOKU_LAYER_LIST #undef MIRYOKU_X }; + +// shift functions + +const key_override_t capsword_key_override = ko_make_basic(MOD_MASK_SHIFT, CW_TOGG, KC_CAPS); + +const key_override_t **key_overrides = (const key_override_t *[]){ + &capsword_key_override, + NULL +}; + + +// thumb combos + #if defined (MIRYOKU_KLUDGE_THUMBCOMBOS) const uint16_t PROGMEM thumbcombos_base_right[] = {LT(U_SYM, KC_ENT), LT(U_NUM, KC_BSPC), COMBO_END}; const uint16_t PROGMEM thumbcombos_base_left[] = {LT(U_NAV, KC_SPC), LT(U_MOUSE, KC_TAB), COMBO_END}; diff --git a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h index 15ad2a567a6..dea06bb690d 100644 --- a/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h +++ b/users/manna-harbour_miryoku/miryoku_babel/miryoku_layer_alternatives.h @@ -251,134 +251,134 @@ U_NP, U_NP, KC_ESC, KC_SPC, KC_T #define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP \ -KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ -KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \ +KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ +KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, CW_TOGG, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ +U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, TD(U_TD_U_NAV), TD(U_TD_U_NUM), KC_ALGR, U_NA, \ U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NAV_FLIP \ -KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ -KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_NAV), DF(U_NUM), KC_ALGR, U_NA, \ +KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ +KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CW_TOGG, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ +U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, TD(U_TD_U_NAV), TD(U_TD_U_NUM), KC_ALGR, U_NA, \ U_NP, U_NP, KC_DEL, KC_BSPC, KC_ENT, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NAV_INVERTEDT \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \ -KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \ -U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, \ +KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, CW_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, \ +U_NA, KC_ALGR, TD(U_TD_U_NUM), TD(U_TD_U_NAV), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NAV_VI \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ -KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, \ -U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CW_TOGG, \ +U_NA, KC_ALGR, TD(U_TD_U_NUM), TD(U_TD_U_NAV), U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NAV \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ -KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ -U_NA, KC_ALGR, DF(U_NUM), DF(U_NAV), U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, CW_TOGG, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ +U_NA, KC_ALGR, TD(U_TD_U_NUM), TD(U_TD_U_NAV), U_NA, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP \ -KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, U_NU, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \ +U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, TD(U_TD_U_MOUSE), TD(U_TD_U_SYM), KC_ALGR, U_NA, \ U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_FLIP \ -KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, DF(U_MOUSE), DF(U_SYM), KC_ALGR, U_NA, \ +U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_NA, TD(U_TD_U_MOUSE), TD(U_TD_U_SYM), KC_ALGR, U_NA, \ U_NP, U_NP, KC_BTN3, KC_BTN1, KC_BTN2, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_NU, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_NU, KC_WH_L, KC_MS_U, KC_WH_R, KC_WH_U, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, \ -U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +U_NA, KC_ALGR, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE_VI \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, \ -U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, \ +U_NA, KC_ALGR, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MOUSE \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, \ -U_NA, KC_ALGR, DF(U_SYM), DF(U_MOUSE), U_NA, U_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, \ +U_NA, KC_ALGR, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), U_NA, U_NU, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP \ -RGB_HUI, RGB_SAI, KC_VOLU, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +RGB_HUI, RGB_SAI, KC_VOLU, RGB_VAI, RGB_TOG, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ RGB_MOD, KC_MPRV, KC_VOLD, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ +U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, TD(U_TD_U_MEDIA), TD(U_TD_U_FUN), KC_ALGR, U_NA, \ U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_FLIP \ -RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, DF(U_MEDIA), DF(U_FUN), KC_ALGR, U_NA, \ +U_NU, U_NU, U_NU, U_NU, OU_AUTO, U_NA, TD(U_TD_U_MEDIA), TD(U_TD_U_FUN), KC_ALGR, U_NA, \ U_NP, U_NP, KC_MUTE, KC_MPLY, KC_MSTP, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, RGB_TOG, RGB_MOD, KC_VOLU, RGB_HUI, RGB_SAI, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_MNXT, RGB_VAI, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ +U_NA, KC_ALGR, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA_VI \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OU_AUTO, \ +U_NA, KC_ALGR, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OU_AUTO, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_MEDIA \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, U_NU, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, \ -U_NA, KC_ALGR, DF(U_FUN), DF(U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ +U_NA, KC_ALGR, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), U_NA, OU_AUTO, U_NU, U_NU, U_NU, U_NU, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NUM_FLIP \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_EQL, KC_4, KC_5, KC_6, KC_SCLN, \ -U_NA, KC_ALGR, DF(U_NAV), DF(U_NUM), U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \ +U_NA, KC_ALGR, TD(U_TD_U_NAV), TD(U_TD_U_NUM), U_NA, KC_BSLS, KC_1, KC_2, KC_3, KC_GRV, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_MINS, KC_0, KC_DOT, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_NUM \ -KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, DF(U_NUM), DF(U_NAV), KC_ALGR, U_NA, \ +KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, TD(U_TD_U_NUM), TD(U_TD_U_NAV), KC_ALGR, U_NA, \ U_NP, U_NP, KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_SYM_FLIP \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_PLUS, KC_DLR, KC_PERC, KC_CIRC, KC_COLN, \ -U_NA, KC_ALGR, DF(U_MOUSE), DF(U_SYM), U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \ +U_NA, KC_ALGR, TD(U_TD_U_MOUSE), TD(U_TD_U_SYM), U_NA, KC_PIPE, KC_EXLM, KC_AT, KC_HASH, KC_TILD, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_UNDS, KC_LPRN, KC_RPRN, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_SYM \ -KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, DF(U_SYM), DF(U_MOUSE), KC_ALGR, U_NA, \ +KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), KC_ALGR, U_NA, \ U_NP, U_NP, KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_FUN_FLIP \ -QK_BOOT, DF(U_TAP), DF(U_EXTRA), DF(U_BASE), U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \ +TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \ -U_NA, KC_ALGR, DF(U_MEDIA), DF(U_FUN), U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \ +U_NA, KC_ALGR, TD(U_TD_U_MEDIA), TD(U_TD_U_FUN), U_NA, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \ U_NP, U_NP, U_NA, U_NA, U_NA, KC_TAB, KC_SPC, KC_APP, U_NP, U_NP #define MIRYOKU_ALTERNATIVES_FUN \ -KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, DF(U_BASE), DF(U_EXTRA), DF(U_TAP), QK_BOOT, \ +KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), \ KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, \ -KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, DF(U_FUN), DF(U_MEDIA), KC_ALGR, U_NA, \ +KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), KC_ALGR, U_NA, \ U_NP, U_NP, KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA, U_NP, U_NP diff --git a/users/manna-harbour_miryoku/readme.org b/users/manna-harbour_miryoku/readme.org index 0adc414e361..4621117526d 100644 --- a/users/manna-harbour_miryoku/readme.org +++ b/users/manna-harbour_miryoku/readme.org @@ -39,6 +39,7 @@ Merging branches can be performed automatically at build time for [[#workflow-bu 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 @@ -171,7 +172,9 @@ The ~merge~ option can be used to merge branches at build time. Branches are spe The Build Inputs workflow can be used without editing workflow files. Select Run workflow, select the Branch and fill out the form as desired, and activate Run workflow. -Options are specified by entering values directly in the corresponding field. Multiple comma separated values can be entered per option and a matrix build will be performed for each combination of values across all options. +Most options are specified by entering values directly in the corresponding field. Multiple comma separated values can be entered per option and a matrix build will be performed for each combination of values across all options. + +Values for Miryoku alternative layout options are selected from a list. As multiple selection is not supported, matrix builds across multiple values are not possible for these options, and the Test Inputs or [[#build-examples][Build Example]] workflows should be used instead. The ~Keyboard~ option specifies the keyboard and is required. All other options are optional. @@ -416,6 +419,21 @@ make planck/rev6:manna-harbour_miryoku:flash FORCE_LAYOUT=planck_mit # planck re #+END_SRC + +**** split_3x5_2 + +[[#thumb-combos][Thumb combos]] are enabled automatically for this layout. + +Keyboards supporting this layout: a_dux, alt34/rev1, bastardkb/dilemma, cradio, ferris/0_1, ferris/0_2, ferris/sweep + +Example build command lines: + +#+BEGIN_SRC sh :tangle no +make ferris/0_2:manna-harbour_miryoku:flash # ferris/0_2 +make ferris/sweep:manna-harbour_miryoku:flash # ferris/sweep +#+END_SRC + + **** split_3x5_3 Keyboards supporting this layout: arch_36, boardsource/microdox, centromere, crkbd, eek, miniaxe, minidox/rev1, pteron36, squiggle/rev1, suihankey/split/rev1. @@ -521,18 +539,6 @@ make ergotravel:manna-harbour_miryoku:flash #+END_SRC -**** ferris - -[[#thumb-combos][Thumb combos]] are enabled automatically for this keyboard. - -To build for this keyboard, - -#+BEGIN_SRC sh :tangle no -make ferris/0_2:manna-harbour_miryoku:flash # 0_2 -make ferris/sweep:manna-harbour_miryoku:flash # sweep -#+END_SRC - - **** for_science The top row is unused. @@ -724,23 +730,36 @@ make splitkb/kyria:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # #+END_SRC -**** torn +**** takashicompany/minizone + +The bottom row middle two keys are mapped to left and right mouse buttons. + +An alternative subset mapping is also provided with the thumb keys shifted one +position in the direction of thumb extension. To select this mapping, append +~MIRYOKU_MAPPING=EXTENDED_THUMBS~ to the ~make~ command line when building. To build for this keyboard, #+BEGIN_SRC sh :tangle no -make torn:manna-harbour_miryoku:flash +make takashicompany/minizone:manna-harbour_miryoku:flash # make +make takashicompany/minizone:manna-harbour_miryoku:flash MIRYOKU_MAPPING=EXTENDED_THUMBS # make, extended thumb position +make takashicompany/minizone:manna-harbour_miryoku:flash POINTING_DEVICE_ENABLE=yes POINTING_DEVICE_DRIVER=pimoroni_trackball OLED_ENABLE=no # make, with pimoroni trackball +qmk compile -c -kb takashicompany/minizone -km manna-harbour_miryoku # qmk +qmk compile -c -kb takashicompany/minizone -km manna-harbour_miryoku -e MIRYOKU_MAPPING=EXTENDED_THUMBS # qmk, extended thumb position +qmk compile -c -kb takashicompany/minizone -km manna-harbour_miryoku -e POINTING_DEVICE_ENABLE=yes -e POINTING_DEVICE_DRIVER=pimoroni_trackball -e OLED_ENABLE=no # qmk, with pimoroni trackball #+END_SRC -** Additional and Experimental Features +**** torn +To build for this keyboard, -*** Thumb Combos +#+BEGIN_SRC sh :tangle no +make torn:manna-harbour_miryoku:flash +#+END_SRC -~MIRYOKU_KLUDGE_THUMBCOMBOS=yes~ -Combo the primary and secondary thumb keys to emulate the tertiary thumb key. Can be used on keyboards with missing or hard to reach tertiary thumb keys or for compatibility with same. Requires suitable keycaps to enable the thumb to press both keys simultaneously. +** Additional and Experimental Features *** Bilateral Combinations @@ -748,11 +767,24 @@ Combo the primary and secondary thumb keys to emulate the tertiary thumb key. C - [[https://github.com/manna-harbour/qmk_firmware/issues/29][Bilateral Combinations]] +*** Caps Word + +[[https://github.com/qmk/qmk_firmware/blob/master/docs/feature_caps_word.md][Caps Word]] is used in place of ~Caps Lock~. Combine with ~Shift~ for ~Caps Lock~. + + *** Retro Shift - [[https://github.com/manna-harbour/qmk_firmware/issues/33][Retro Shift]] +*** Thumb Combos + +~MIRYOKU_KLUDGE_THUMBCOMBOS=yes~ + +Combo the primary and secondary thumb keys to emulate the tertiary thumb key. Can be used on keyboards with missing or hard to reach tertiary thumb keys or for compatibility with same. Requires suitable keycaps to enable the thumb to press both keys simultaneously. + + + *** 𝑥MK Use Miryoku QMK with any keyboard with [[https://github.com/manna-harbour/xmk][𝑥MK]]. @@ -763,6 +795,7 @@ For [[#workflow-builds][workflow builds]], use the Build Inputs workflow and bui 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]] diff --git a/users/manna-harbour_miryoku/rules.mk b/users/manna-harbour_miryoku/rules.mk index ea226c4a3d3..c19a5ac0461 100644 --- a/users/manna-harbour_miryoku/rules.mk +++ b/users/manna-harbour_miryoku/rules.mk @@ -1,9 +1,12 @@ # Copyright 2019 Manna Harbour # https://github.com/manna-harbour/miryoku -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -AUTO_SHIFT_ENABLE = yes # Auto Shift +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +AUTO_SHIFT_ENABLE = yes +TAP_DANCE_ENABLE = yes +CAPS_WORD_ENABLE = yes +KEY_OVERRIDE_ENABLE = yes INTROSPECTION_KEYMAP_C = manna-harbour_miryoku.c # keymaps