Normalise Dynamic Macro keycodes (#18939)
* `DYN_REC_START1` -> `QK_DYNAMIC_MACRO_RECORD_START_1` * `DYN_REC_START2` -> `QK_DYNAMIC_MACRO_RECORD_START_2` * `DYN_MACRO_PLAY1` -> `QK_DYNAMIC_MACRO_PLAY_1` * `DYN_MACRO_PLAY2` -> `QK_DYNAMIC_MACRO_PLAY_2` * `DYN_REC_STOP` -> `QK_DYNAMIC_MACRO_RECORD_STOP` * Update docs
This commit is contained in:
		
							parent
							
								
									3de296f420
								
							
						
					
					
						commit
						fe18df9d41
					
				
					 44 changed files with 216 additions and 210 deletions
				
			
		| 
						 | 
				
			
			@ -125,7 +125,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
   * `-------------------------------------------------------'   `-------------------------------------------------------'
 | 
			
		||||
   */
 | 
			
		||||
  [_ADJUST] = LAYOUT( \
 | 
			
		||||
    RGB_TOG,  MCR1,    MCR2,    MCR3,    XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, DYN_REC_START1, DYN_REC_START2, DYN_REC_STOP, KC_BSPC, \
 | 
			
		||||
    RGB_TOG,  MCR1,    MCR2,    MCR3,    XXXXXXX, XXXXXXX, XXXXXXX,   XXXXXXX, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, KC_BSPC, \
 | 
			
		||||
    QK_BOOT,  RGB_MOD, RGB_M_P, RGB_M_B, RGB_HUI, RGB_SAI, RGB_VAI,   XXXXXXX, XXXXXXX, QWERTY,  GAME,   XXXXXXX, XXXXXXX, XXXXXXX, \
 | 
			
		||||
    KC_LSFT,  RGB_M_R, RGB_M_SN,RGB_M_G, RGB_HUD, RGB_SAD, RGB_VAD,   XXXXXXX, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, \
 | 
			
		||||
    DB_TOGG,  XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX,   XXXXXXX, XXXXXXX, _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,9 +121,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 * `------------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_ADJUST] = LAYOUT_ortho_4x12(
 | 
			
		||||
  M_CUSTOM, QK_BOOT, QWERTY,  BL_ON,   BL_OFF,  DYN_REC_START1,  DYN_REC_START2,  _______,             _______,           _______,              _______,  KC_DEL  ,
 | 
			
		||||
  KC_CAPS,  RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE,       KC_AUDIO_VOL_UP,   KC_MEDIA_PLAY_PAUSE,  _______,  QWERTY  ,
 | 
			
		||||
  TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DYN_REC_STOP,    DYN_REC_STOP,    KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK,  _______,  COLEMAK ,
 | 
			
		||||
  M_CUSTOM, QK_BOOT, QWERTY,  BL_ON,   BL_OFF,  DM_REC1,         DM_REC2,         _______,             _______,           _______,              _______,  KC_DEL  ,
 | 
			
		||||
  KC_CAPS,  RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DM_PLY1,         DM_PLY2,         KC_AUDIO_MUTE,       KC_AUDIO_VOL_UP,   KC_MEDIA_PLAY_PAUSE,  _______,  QWERTY  ,
 | 
			
		||||
  TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DM_RSTP,         DM_RSTP,         KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK,  _______,  COLEMAK ,
 | 
			
		||||
  _______,  _______, _______, _______, _______, _______,         _______,         _______,             _______,           _______,              _______,  _______
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,7 +18,7 @@ enum {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  uint16_t macro_kc = (keycode == MO(DYN) ? DYN_REC_STOP : keycode);
 | 
			
		||||
  uint16_t macro_kc = (keycode == MO(DYN) ? QK_DYNAMIC_MACRO_RECORD_STOP : keycode);
 | 
			
		||||
  
 | 
			
		||||
  if (!process_record_dynamic_macro(macro_kc, record)) {
 | 
			
		||||
      return false;
 | 
			
		||||
| 
						 | 
				
			
			@ -85,11 +85,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#define MacRec1 DYN_REC_START1
 | 
			
		||||
#define MacRec2 DYN_REC_START2
 | 
			
		||||
#define MacPla1 DYN_MACRO_PLAY1
 | 
			
		||||
#define MacPla2 DYN_MACRO_PLAY2
 | 
			
		||||
#define MacStop DYN_REC_STOP
 | 
			
		||||
#define MacRec1 DM_REC1
 | 
			
		||||
#define MacRec2 DM_REC2
 | 
			
		||||
#define MacPla1 DM_PLY1
 | 
			
		||||
#define MacPla2 DM_PLY2
 | 
			
		||||
#define MacStop DM_RSTP
 | 
			
		||||
 | 
			
		||||
  [DEF] = LAYOUT_60_iso_5x1u_split_rshift(
 | 
			
		||||
    KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,9 +124,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_TRNS, KC_LALT, KC_LGUI, KC_TRNS, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
    ),
 | 
			
		||||
    [_FN] = LAYOUT_65_ansi(
 | 
			
		||||
        DYN_REC_STOP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
 | 
			
		||||
        KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DYN_MACRO_PLAY2, DYN_REC_START2,
 | 
			
		||||
        KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DYN_MACRO_PLAY1, DYN_REC_START1,
 | 
			
		||||
        DM_RSTP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
 | 
			
		||||
        KC_TRNS, KC_MUTE, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, DM_PLY2, DM_REC2,
 | 
			
		||||
        KC_TRNS, KC_BRID, KC_VOLD, KC_BRIU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, DM_PLY1, DM_REC1,
 | 
			
		||||
        KC_TRNS, TO(_MAIN), TO(_MAC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_TRNS, RGB_VAI, KC_NO,
 | 
			
		||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD
 | 
			
		||||
    ),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,8 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
		DEC_CLICK_SPEED,INC_CLICK_SPEED,KC_TRNS,								KC_TRNS,							KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS,	KC_TRNS
 | 
			
		||||
    ),
 | 
			
		||||
    [_HYPER_LAYER] = LAYOUT_65_ansi(
 | 
			
		||||
		DYN_REC_STOP,	DYN_REC_START1,		DYN_REC_START2,		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,
 | 
			
		||||
		KC_NO,			DYN_MACRO_PLAY1,	DYN_MACRO_PLAY2,	KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,
 | 
			
		||||
		DM_RSTP,		DM_REC1,			DM_REC2,			KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,
 | 
			
		||||
		KC_NO,			DM_PLY1,			DM_PLY2,			KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,
 | 
			
		||||
		KC_NO,			KC_NO,				KC_NO,				KC_NO,		KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS,	KC_TRNS,
 | 
			
		||||
		KC_LSFT,		KC_NO,				KC_NO,				RGB_HUI,	RGB_SAI,	RGB_VAI,	RGB_SPI,	RGB_MOD,	KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS,	KC_TRNS,
 | 
			
		||||
		KC_TRNS,		KC_TRNS,			KC_TRNS,									RGB_TOG,							KC_TRNS,	KC_TRNS,	KC_TRNS,	KC_TRNS,				KC_TRNS,	KC_TRNS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -201,13 +201,13 @@ void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		|||
  keyrecord_t record;
 | 
			
		||||
  dprintf("macro_tap_dance_fn %d\n", state->count);
 | 
			
		||||
  if (is_macro1_recording) {
 | 
			
		||||
    keycode = DYN_REC_STOP;
 | 
			
		||||
    keycode = DM_RSTP;
 | 
			
		||||
    is_macro1_recording = false;
 | 
			
		||||
    layer_state_set_user(current_layer_state);
 | 
			
		||||
  } else if (state->count == 1) {
 | 
			
		||||
    keycode = DYN_MACRO_PLAY1;
 | 
			
		||||
    keycode = DM_PLY1;
 | 
			
		||||
  } else {
 | 
			
		||||
    keycode = DYN_REC_START1;
 | 
			
		||||
    keycode = DM_REC1;
 | 
			
		||||
    is_macro1_recording = true;
 | 
			
		||||
    layer_state_set_user(current_layer_state);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -109,13 +109,13 @@ void macro_tapdance_fn(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		|||
  keyrecord_t record;
 | 
			
		||||
  dprintf("macro_tap_dance_fn %d\n", state->count);
 | 
			
		||||
  if (is_macro1_recording) {
 | 
			
		||||
    keycode = DYN_REC_STOP;
 | 
			
		||||
    keycode = DM_RSTP;
 | 
			
		||||
    is_macro1_recording = false;
 | 
			
		||||
    layer_state_set_user(current_layer_state);
 | 
			
		||||
  } else if (state->count == 1) {
 | 
			
		||||
    keycode = DYN_MACRO_PLAY1;
 | 
			
		||||
    keycode = DM_PLY1;
 | 
			
		||||
  } else {
 | 
			
		||||
    keycode = DYN_REC_START1;
 | 
			
		||||
    keycode = DM_REC1;
 | 
			
		||||
    is_macro1_recording = true;
 | 
			
		||||
    layer_state_set_user(current_layer_state);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,13 +7,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
        //  ESCAPE                 |                         |                         |                         |                         |                         |     START RECORDING     //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
                   KC_ESC,                 TD(GRV_TILD),             TD(AT_DLR),              TD(LCBR_LABK),            TD(LPRN_LBRC),            TD(EXLM_QUES),           DYN_REC_START1,     //
 | 
			
		||||
                   KC_ESC,                 TD(GRV_TILD),             TD(AT_DLR),              TD(LCBR_LABK),            TD(LPRN_LBRC),            TD(EXLM_QUES),           DM_REC1,            //
 | 
			
		||||
        //                         |                       ~ |                       $ |                       < |                       [ |                       ? |                         //
 | 
			
		||||
        //                         |            TAP DANCE: ` |            TAP DANCE: @              TAP DANCE: { |            TAP DANCE: ( |            TAP DANCE: ! |     DYNAMIC MARCO 1     //
 | 
			
		||||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
        //  TAB                    |      MOD TAP: ALT+SHIFT |       MOD TAP: CTRL+ALT |     MOD TAP: CTRL+SHIFT | P                       | Y                       |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
                   KC_TAB,                TD(NONE_LEAD),            TD(QUOT_DQUO),           TD(DOT_COMM),               LCG_T(KC_P),              LAG_T(KC_Y),            DYN_MACRO_PLAY1,    //
 | 
			
		||||
                   KC_TAB,                TD(NONE_LEAD),            TD(QUOT_DQUO),           TD(DOT_COMM),               LCG_T(KC_P),              LAG_T(KC_Y),            DM_PLY1,            //
 | 
			
		||||
        //                         |                    LEAD |                       " |                       , |                         |                         |                         //
 | 
			
		||||
        //                         |         TAP DANCE: NONE |            TAP DANCE: ' |            TAP DANCE: . |       MOD TAP: CTRL+GUI |        MOD TAP: ALT+GUI |                         //
 | 
			
		||||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------|   PLAY DYNAMIC MACRO 1  //
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------|  META                   //
 | 
			
		||||
        //          STOP RECORDING |  MOD TAP: GUI+SHIFT+ALT | Q                       | J                       | K                       | X                       |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
                DYN_REC_STOP,             TD(SCLN_COLN),            LCAG_T(KC_Q),             TD(J_MED_MEH),            TD(K_NUM_HYP),            LCSG_T(KC_X),                KC_LGUI,        //
 | 
			
		||||
                DM_RSTP,                  TD(SCLN_COLN),            LCAG_T(KC_Q),             TD(J_MED_MEH),            TD(K_NUM_HYP),            LCSG_T(KC_X),                KC_LGUI,        //
 | 
			
		||||
        //                         |                       : |                         |                         |                         |                         |                         //
 | 
			
		||||
        //           DYNAMIC MACRO |            TAP DANCE: ; |      MOD TAP: SHIFT+GUI |  M TAP DANCE: MEDIA/MEH |  M TAP DANCE: ATM/HYPER |  MOD TAP: CTL+SHIFT+GUI |                         //
 | 
			
		||||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
| 
						 | 
				
			
			@ -63,13 +63,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
                DYN_REC_START2,           TD(APMR_PIPE),            TD(RPRN_RBRC),            TD(RCBR_RABK),            TD(HASH_PERC),            TD(ASTR_CIRC),               XXXXXXX,        //
 | 
			
		||||
                DM_REC2,                   TD(APMR_PIPE),            TD(RPRN_RBRC),            TD(RCBR_RABK),            TD(HASH_PERC),            TD(ASTR_CIRC),               XXXXXXX,        //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
         //------------------------+-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
                DYN_MACRO_PLAY2,           LAG_T(KC_F),              LCG_T(KC_G),             C_S_T(KC_C),                LCA_T(KC_R),             LAS_T(KC_L),             TD(SLSH_BSLS),     //
 | 
			
		||||
                DM_PLY2,                   LAG_T(KC_F),              LCG_T(KC_G),             C_S_T(KC_C),                LCA_T(KC_R),             LAS_T(KC_L),             TD(SLSH_BSLS),     //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
        //                         |                         |                         |                         |                         |                         |                         //
 | 
			
		||||
        //                         |-------------------------+-------------------------+-------------------------+-------------------------+-------------------------+------------------------//
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
  [_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 2 */
 | 
			
		||||
      KC_GRAVE , KC_F1   , KC_F2   , KC_F3   , KC_F4          , KC_F5           , KC_F6        , KC_F7    , KC_F8   , KC_F9    , KC_F10  , KC_F11  , KC_F12       , KC_INS , KC_DEL , \
 | 
			
		||||
      KC_CAPS  , KC_VOLD , KC_MUTE , KC_VOLU , DYN_REC_START1 , DYN_MACRO_PLAY1 , DYN_REC_STOP , KC_PGUP  , KC_HOME , ______   , KC_PSCR , KC_UP   , ______       , KC_DEL , \
 | 
			
		||||
      KC_CAPS  , KC_VOLD , KC_MUTE , KC_VOLU , DM_REC1        , DM_PLY1         , DM_RSTP      , KC_PGUP  , KC_HOME , ______   , KC_PSCR , KC_UP   , ______       , KC_DEL , \
 | 
			
		||||
      KC_LCTL  , KC_END  , ______  , KC_PGDN , ______         , ______          , KC_LEFT      , KC_DOWN  , KC_UP   , KC_RIGHT , KC_LEFT , KC_RGHT , KC_ENT       , \
 | 
			
		||||
      KC_LSFT  , KC_MPRV , KC_MPLY , KC_MNXT , BL_DEC         , BL_TOGG         , BL_INC       , ______   , ______  , ______   , KC_DOWN , KC_RSFT , TO(_DEFAULT) , \
 | 
			
		||||
      ______   , ______  , KC_LALT , KC_SPC  , KC_RALT        , QK_BOOT           , ______       , ______ \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,11 +22,11 @@ extern backlight_config_t backlight_config;
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
#define FN_CAPS LT(_FL, KC_CAPS)
 | 
			
		||||
#define KC_DMR1 DYN_REC_START1
 | 
			
		||||
#define KC_DMR2 DYN_REC_START2
 | 
			
		||||
#define KC_DMP1 DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_DMP2 DYN_MACRO_PLAY2
 | 
			
		||||
#define KC_DMRS DYN_REC_STOP
 | 
			
		||||
#define KC_DMR1 DM_REC1
 | 
			
		||||
#define KC_DMR2 DM_REC2
 | 
			
		||||
#define KC_DMP1 DM_PLY1
 | 
			
		||||
#define KC_DMP2 DM_PLY2
 | 
			
		||||
#define KC_DMRS DM_RSTP
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /*#### _BL: Base Layer - Standard TKL QWERTY layout.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -122,9 +122,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 * `--------------------------------------------------------------------------------------------------'
 | 
			
		||||
 */
 | 
			
		||||
[_ADJUST] = LAYOUT(
 | 
			
		||||
  M_CUSTOM, QK_BOOT, QWERTY,  _______, _______, DYN_REC_START1,                    DYN_REC_START2,  _______,             _______,           _______,              _______,  KC_DEL  ,
 | 
			
		||||
  KC_CAPS,  _______, _______, _______, _______, DYN_MACRO_PLAY1,                   DYN_MACRO_PLAY2, KC_AUDIO_MUTE,       KC_AUDIO_VOL_UP,   KC_MEDIA_PLAY_PAUSE,  _______,  QWERTY  ,
 | 
			
		||||
  TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP,                      DYN_REC_STOP,    KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK,  _______,  COLEMAK ,
 | 
			
		||||
  M_CUSTOM, QK_BOOT, QWERTY,  _______, _______, DM_REC1,                    DM_REC2,  _______,             _______,           _______,              _______,  KC_DEL  ,
 | 
			
		||||
  KC_CAPS,  _______, _______, _______, _______, DM_PLY1,                    DM_PLY2, KC_AUDIO_MUTE,       KC_AUDIO_VOL_UP,   KC_MEDIA_PLAY_PAUSE,  _______,  QWERTY  ,
 | 
			
		||||
  TG(_MAC), _______, _______, _______, _______, DM_RSTP,                    DM_RSTP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK,  _______,  COLEMAK ,
 | 
			
		||||
  _______,  _______, _______, _______, _______, _______,         _______, _______, _______,         _______,             _______,           _______,              _______,  _______
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
     */
 | 
			
		||||
 | 
			
		||||
    [UTIL] = LAYOUT(
 | 
			
		||||
        QK_BOOT, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DB_TOGG,
 | 
			
		||||
        QK_BOOT, DM_PLY1, DM_PLY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DB_TOGG,
 | 
			
		||||
        ____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____,
 | 
			
		||||
        ____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____,
 | 
			
		||||
        ____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
| 
						 | 
				
			
			@ -154,9 +154,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
     */
 | 
			
		||||
 | 
			
		||||
    [MREC] = LAYOUT(
 | 
			
		||||
        ____, DYN_REC_START1, DYN_REC_START2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, DM_REC1, DM_REC2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, ____, DYN_REC_STOP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, ____, DM_RSTP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
 | 
			
		||||
        ____, ____, ____, ____, ____)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,15 +75,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
 | 
			
		||||
    [DYN] = LAYOUT(
 | 
			
		||||
        KC_TRNS, DYN_REC_START1, DYN_REC_START2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,
 | 
			
		||||
        KC_TRNS, DM_REC1, DM_REC2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DM_PLY1, DM_PLY2,
 | 
			
		||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACSLEEP, KC_HOME, KC_END, KC_TRNS,
 | 
			
		||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, KC_TRNS, DYN_REC_STOP, KC_TRNS, KC_TRNS)};
 | 
			
		||||
        KC_TRNS, KC_TRNS, DM_RSTP, KC_TRNS, KC_TRNS)};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
 | 
			
		||||
{
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(DYN) ? DYN_REC_STOP : keycode);
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(DYN) ? DM_RSTP : keycode);
 | 
			
		||||
    if (!process_dynamic_macro(macro_kc, record))
 | 
			
		||||
    {
 | 
			
		||||
        return false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,8 +50,8 @@ enum custom_keycodes {
 | 
			
		|||
/* Additional custom keycodes */
 | 
			
		||||
#define MO_HHKB MO(_HHKB)
 | 
			
		||||
#define LT_SPFN LT(_SPACE_FN, KC_SPC)
 | 
			
		||||
#define DM_STA1 DYN_REC_START1
 | 
			
		||||
#define DM_PLY1 DYN_MACRO_PLAY1
 | 
			
		||||
#define DM_STA1 DM_REC1
 | 
			
		||||
#define DM_PLY1 DM_PLY1
 | 
			
		||||
 | 
			
		||||
/* User settings structure for the EEPROM */
 | 
			
		||||
typedef union {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,11 +22,11 @@ extern backlight_config_t backlight_config;
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
#define FN_CAPS LT(_FL, KC_CAPS)
 | 
			
		||||
#define KC_DMR1 DYN_REC_START1
 | 
			
		||||
#define KC_DMR2 DYN_REC_START2
 | 
			
		||||
#define KC_DMP1 DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_DMP2 DYN_MACRO_PLAY2
 | 
			
		||||
#define KC_DMRS DYN_REC_STOP
 | 
			
		||||
#define KC_DMR1 DM_REC1
 | 
			
		||||
#define KC_DMR2 DM_REC2
 | 
			
		||||
#define KC_DMP1 DM_PLY1
 | 
			
		||||
#define KC_DMP2 DM_PLY2
 | 
			
		||||
#define KC_DMRS DM_RSTP
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /*#### _BL: Base Layer - Standard TKL QWERTY layout.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,11 +22,11 @@ extern backlight_config_t backlight_config;
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
#define FN_CAPS LT(_FL, KC_CAPS)
 | 
			
		||||
#define KC_DMR1 DYN_REC_START1
 | 
			
		||||
#define KC_DMR2 DYN_REC_START2
 | 
			
		||||
#define KC_DMP1 DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_DMP2 DYN_MACRO_PLAY2
 | 
			
		||||
#define KC_DMRS DYN_REC_STOP
 | 
			
		||||
#define KC_DMR1 DM_REC1
 | 
			
		||||
#define KC_DMR2 DM_REC2
 | 
			
		||||
#define KC_DMP1 DM_PLY1
 | 
			
		||||
#define KC_DMP2 DM_PLY2
 | 
			
		||||
#define KC_DMRS DM_RSTP
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /*#### _BL: Base Layer - Mostly standard 65% QWERTY layout.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,8 +74,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  ),
 | 
			
		||||
 | 
			
		||||
  [_ADJUST] = LAYOUT( \
 | 
			
		||||
    _______, QK_BOOT, _______, _______, _______,   _______, _______,    DYN_REC_START1,  DYN_REC_START2,  _______,  KC_PSCR, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______, USEFNMODS, _______, _______,    DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, MACSLEEP, _______,          _______, \
 | 
			
		||||
    _______, QK_BOOT, _______, _______, _______,   _______, _______,    DM_REC1,  DM_REC2,  _______,  KC_PSCR, _______, _______, \
 | 
			
		||||
    _______, _______, _______, _______, USEFNMODS, _______, _______,    DM_PLY1,  DM_PLY2, MACSLEEP, _______,          _______, \
 | 
			
		||||
    _______, _______, _______, _______, _______,   _______, USENUMMODS, _______,         _______,         _______,  _______,          _______, \
 | 
			
		||||
    XXXXXXX, _______, _______, XXXXXXX,            XXXXXXX,             _______,                          XXXXXXX, __MOD__,  __MOD__, XXXXXXX  \
 | 
			
		||||
  )
 | 
			
		||||
| 
						 | 
				
			
			@ -91,7 +91,7 @@ static bool singular_key = false;
 | 
			
		|||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
 | 
			
		||||
{
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(_ADJUST) ? DYN_REC_STOP : keycode);
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(_ADJUST) ? DM_RSTP : keycode);
 | 
			
		||||
    if (!process_record_dynamic_macro(macro_kc, record))
 | 
			
		||||
    {
 | 
			
		||||
        return false;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,8 +31,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        QK_BOOT, KC_MPLY, KC_MPRV, KC_MNXT, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCRL, KC_PAUS,
 | 
			
		||||
        KC_TRNS, MACRO1, MACRO2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
 | 
			
		||||
        MACROTAB, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUBS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, VK_TOGG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, DYN_REC_START2, DYN_MACRO_PLAY2, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, DYN_REC_STOP, DYN_REC_START1, DYN_MACRO_PLAY1, KC_TRNS, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, VK_TOGG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, DM_REC2, DM_PLY2, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, DM_RSTP, DM_REC1, DM_PLY1, KC_TRNS, KC_TRNS, KC_TRNS,
 | 
			
		||||
        KC_TRNS, KC_TRNS, KC_TRNS, LCA(KC_DEL), KC_TRNS, KC_TRNS, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
    ),
 | 
			
		||||
    [_NUMPAD] = LAYOUT_ansi_1u(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,8 +105,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
     * `-----------------------------------------------------------------------------------'
 | 
			
		||||
     */
 | 
			
		||||
    [_FN] = LAYOUT_ortho_4x12(
 | 
			
		||||
        _______, BL_STEP, _______,  KC_SLEP, _______, _______,     _______,     DYN_REC_START1, DYN_MACRO_PLAY1, DYN_REC_STOP, _______, KC_VOLU,
 | 
			
		||||
        _______, VK_TOGG, RGB_MOD,  RGB_HUI, RGB_SAI, RGB_VAI,     _______,     DYN_REC_START2, DYN_MACRO_PLAY2, _______,      _______, KC_VOLD,
 | 
			
		||||
        _______, BL_STEP, _______,  KC_SLEP, _______, _______,     _______,     DM_REC1, DM_PLY1, DM_RSTP, _______, KC_VOLU,
 | 
			
		||||
        _______, VK_TOGG, RGB_MOD,  RGB_HUI, RGB_SAI, RGB_VAI,     _______,     DM_REC2, DM_PLY2, _______,      _______, KC_VOLD,
 | 
			
		||||
        _______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD,     _______,     _______,        _______,         _______,      KC_MSTP, KC_MUTE,
 | 
			
		||||
        QK_BOOT, _______, _______,  _______, _______, LCA(KC_DEL), LCA(KC_INS), _______,        _______,         KC_MPRV,      KC_MPLY, KC_MNXT
 | 
			
		||||
    )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,11 +31,11 @@ enum custom_keycodes {
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
 | 
			
		||||
#define DREC_1  DYN_REC_START1
 | 
			
		||||
#define DREC_2  DYN_REC_START2
 | 
			
		||||
#define DPLAY_1 DYN_MACRO_PLAY1
 | 
			
		||||
#define DPLAY_2 DYN_MACRO_PLAY2
 | 
			
		||||
#define DSTOP   DYN_REC_STOP
 | 
			
		||||
#define DREC_1  DM_REC1
 | 
			
		||||
#define DREC_2  DM_REC2
 | 
			
		||||
#define DPLAY_1 DM_PLY1
 | 
			
		||||
#define DPLAY_2 DM_PLY2
 | 
			
		||||
#define DSTOP   DM_RSTP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Mod Tap Definitions
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,11 +27,11 @@ extern backlight_config_t backlight_config;
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
#define FN_ZERO LT(_L9, KC_KP_0)
 | 
			
		||||
#define KC_DMR1 DYN_REC_START1
 | 
			
		||||
#define KC_DMR2 DYN_REC_START2
 | 
			
		||||
#define KC_DMP1 DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_DMP2 DYN_MACRO_PLAY2
 | 
			
		||||
#define KC_DMRS DYN_REC_STOP
 | 
			
		||||
#define KC_DMR1 DM_REC1
 | 
			
		||||
#define KC_DMR2 DM_REC2
 | 
			
		||||
#define KC_DMP1 DM_PLY1
 | 
			
		||||
#define KC_DMP2 DM_PLY2
 | 
			
		||||
#define KC_DMRS DM_RSTP
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /*## Layout Config:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,8 +72,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
KC_VOLD,KC_VOLU, KC_GRAVE, KC_1,    KC_2,    KC_3,   KC_4,   KC_5,   KC_6,                 KC_7,   KC_8,    KC_9,   KC_0,    KC_MINUS, KC_EQUAL, KC_BSPC,          KC_DEL,
 | 
			
		||||
KC_MPRV,KC_MNXT, KC_TAB,   KC_Q,    KC_W,    KC_E,   KC_R,   KC_T,                 KC_Y,   KC_U,   KC_I,    KC_O,   KC_P,    KC_LBRC,  KC_RBRC,  KC_BSLS,           KC_END,
 | 
			
		||||
KC_HOME,KC_END,  KC_CAPS,  KC_A,    KC_S,    KC_D,   KC_F,   KC_G,   KC_H,   KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENTER,         KC_PGUP,
 | 
			
		||||
DYN_MACRO_PLAY1,KC_MUTE,KC_LSFT,KC_Z,KC_X,KC_C,  KC_V,   KC_B,                 KC_N,   KC_M,   KC_COMM, KC_DOT, LT(GIT,KC_SLSH),                     KC_RSFT,  KC_UP,   KC_PGDN,
 | 
			
		||||
DYN_REC_STOP,DYN_REC_START1,KC_LCTL, KC_LGUI, KC_LALT, LT(MEDIA,KC_SPC), LT(COMBOS,KC_BSPC),       LT(NAV,KC_APP), LT(LAYOUT_CHG, KC_ENTER),KC_RALT,KC_RCTL,   KC_LEFT,  KC_DOWN, KC_RIGHT
 | 
			
		||||
DM_PLY1,KC_MUTE,KC_LSFT,KC_Z,KC_X,KC_C,  KC_V,   KC_B,                 KC_N,   KC_M,   KC_COMM, KC_DOT, LT(GIT,KC_SLSH),                     KC_RSFT,  KC_UP,   KC_PGDN,
 | 
			
		||||
DM_RSTP,DM_REC1,KC_LCTL, KC_LGUI, KC_LALT, LT(MEDIA,KC_SPC), LT(COMBOS,KC_BSPC),       LT(NAV,KC_APP), LT(LAYOUT_CHG, KC_ENTER),KC_RALT,KC_RCTL,   KC_LEFT,  KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  /* Base          ,-----------------------------------------.     ,-----------------------------------------------------.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,8 +161,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
[_MEDIA] = LAYOUT_planck_grid(
 | 
			
		||||
	XXXXXXX, XXXXXXX, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, KC_AGAIN, XXXXXXX, KC_INS,   XXXXXXX, KC_PSCR, XXXXXXX,
 | 
			
		||||
	XXXXXXX, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX,  XXXXXXX, XXXXXXX,  XXXXXXX, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,
 | 
			
		||||
	KC_LSFT, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX,  XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DYN_REC_STOP,
 | 
			
		||||
	XXXXXXX, XXXXXXX, KC_WSCH, XXXXXXX, KC_FIND, XXXXXXX, XXXXXXX,  XXXXXXX, XXXXXXX,  XXXXXXX, DM_PLY1, DM_PLY2,
 | 
			
		||||
	KC_LSFT, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX,  XXXXXXX, ZOOM_OUT, ZOOM_IN, KC_MPRV, DM_RSTP,
 | 
			
		||||
	ONESHOT, XXXXXXX, XXXXXXX, _______, KC_VOLD, KC_MUTE, KC_MUTE,  KC_VOLU, ZOOM_NML, KC_MSTP, KC_MNXT, KC_MPLY 
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -179,7 +179,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
[_ONESHOT] = LAYOUT_planck_grid(
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
),
 | 
			
		||||
| 
						 | 
				
			
			@ -221,16 +221,16 @@ void press_key(uint16_t key) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    // uint16_t macro_kc = (keycode == ONESHOT ? DYN_REC_STOP : keycode);
 | 
			
		||||
    // uint16_t macro_kc = (keycode == ONESHOT ? DM_RSTP : keycode);
 | 
			
		||||
    if (!process_record_dynamic_macro(keycode, record)) {
 | 
			
		||||
        switch(keycode) {
 | 
			
		||||
          case DYN_REC_START1:
 | 
			
		||||
          case DYN_REC_START2:
 | 
			
		||||
          case QK_DYNAMIC_MACRO_RECORD_START_1:
 | 
			
		||||
          case QK_DYNAMIC_MACRO_RECORD_START_2:
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
              PLAY_SONG(tone_dyn_macro_rec);
 | 
			
		||||
#endif
 | 
			
		||||
              break;
 | 
			
		||||
          case DYN_REC_STOP:
 | 
			
		||||
          case QK_DYNAMIC_MACRO_RECORD_STOP:
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
              PLAY_SONG(tone_dyn_macro_stop);
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -124,10 +124,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
),
 | 
			
		||||
[_DYN] = LAYOUT_planck_grid(
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______ ,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______ ,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, _______
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -151,7 +151,7 @@ void persistant_default_layer_set(uint16_t default_layer) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
 | 
			
		||||
  uint16_t macro_kc = (keycode == MO(_DYN) ? DM_RSTP : keycode);
 | 
			
		||||
  if (!process_record_dynamic_macro(macro_kc, record)) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,8 +63,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
[_FKEYS] = LAYOUT_planck_grid(
 | 
			
		||||
  KC_TILD, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  _______,
 | 
			
		||||
  KC_DEL,  KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F6,   _______, _______, MACSLEEP, DYN_REC_START1, DYN_REC_START2,
 | 
			
		||||
  _______, _______, _______, _______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, DYN_REC_STOP,
 | 
			
		||||
  KC_DEL,  KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,  KC_F6,   _______, _______, MACSLEEP, DM_REC1, DM_REC2,
 | 
			
		||||
  _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, _______, DM_RSTP,
 | 
			
		||||
  _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
 | 
			
		||||
),
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -123,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  BACKLIT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
			
		||||
) /*,
 | 
			
		||||
[_DYN] = LAYOUT_planck_grid(
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______ ,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DM_REC1, DM_REC2, _______ ,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______
 | 
			
		||||
  _______ , _______, _______, _______, _______, _______, _______, _______, _______, DM_PLY1, DM_PLY2, _______
 | 
			
		||||
)*/
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -150,7 +150,7 @@ void persistant_default_layer_set(uint16_t default_layer) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  uint16_t macro_kc = (keycode == FKEYS ? DYN_REC_STOP : keycode);
 | 
			
		||||
  uint16_t macro_kc = (keycode == FKEYS ? DM_RSTP : keycode);
 | 
			
		||||
  if (!process_record_dynamic_macro(macro_kc, record)) {
 | 
			
		||||
    return false;
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,8 +82,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        _______, _______, KC_LGUI, KC_LALT, _______,           _______,           _______, _______, _______, _______, _______
 | 
			
		||||
        ),
 | 
			
		||||
    [_DYN] = LAYOUT_planck_mit( /* special */
 | 
			
		||||
        KM_HOLD,  DYN_REC_START1, DYN_MACRO_PLAY1, _______, _______,    _______, _______, KC_APP,  KC_INS,  _______, KC_PSCR, KC_PAUS,
 | 
			
		||||
        QK_LOCK,  DYN_REC_START2, DYN_MACRO_PLAY2, _______, _______,    _______, _______, _______, _______, KC_CAPS, KC_SCRL, KC_NUM,
 | 
			
		||||
        KM_HOLD,  DM_REC1, DM_PLY1, _______, _______,    _______, _______, KC_APP,  KC_INS,  _______, KC_PSCR, KC_PAUS,
 | 
			
		||||
        QK_LOCK,  DM_REC2, DM_PLY2, _______, _______,    _______, _______, _______, _______, KC_CAPS, KC_SCRL, KC_NUM,
 | 
			
		||||
        KM_SHLK,  _______,        _______,         _______, _______,    _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
        _______,  _______,        _______,         _______, KM_PP_GAME,      DF(_QW),     DF(_PP), _______, _______, _______, _______
 | 
			
		||||
        ),
 | 
			
		||||
| 
						 | 
				
			
			@ -103,7 +103,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
    static uint16_t key_timer;
 | 
			
		||||
    static uint8_t ignore_up_events = 0;
 | 
			
		||||
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
 | 
			
		||||
    uint16_t macro_kc = (keycode == MO(_DYN) ? DM_RSTP : keycode);
 | 
			
		||||
    if (!process_record_dynamic_macro(macro_kc, record)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -264,7 +264,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
    // Sound when Dynamic recording started
 | 
			
		||||
    case DYN_REC_START1:
 | 
			
		||||
    case QK_DYNAMIC_MACRO_RECORD_START_1:
 | 
			
		||||
 | 
			
		||||
        // If pressed
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
| 
						 | 
				
			
			@ -279,7 +279,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
    // Sound when Dynamic recording stopped
 | 
			
		||||
    case DYN_REC_STOP:
 | 
			
		||||
    case QK_DYNAMIC_MACRO_RECORD_STOP:
 | 
			
		||||
 | 
			
		||||
        // If pressed
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
| 
						 | 
				
			
			@ -336,7 +336,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 | 
			
		||||
    // lower key
 | 
			
		||||
    [_LOWER] = LAYOUT_ortho_5x12 (
 | 
			
		||||
        DYN_MACRO_PLAY1,    DYN_REC_START1, DYN_REC_STOP,   KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,            KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,
 | 
			
		||||
        DM_PLY1,            DM_REC1,        DM_RSTP,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,            KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,
 | 
			
		||||
        KC_TRNS,            KC_1,           KC_2,           KC_3,           KC_4,           KC_5,           KC_6,           KC_7,               KC_8,           KC_9,       KC_0,       KC_DEL,
 | 
			
		||||
        KC_BSPC,            KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,          KC_QUOT,            KC_GRV,         KC_LCBR,    KC_RCBR,    KC_TRNS,
 | 
			
		||||
        KC_TRNS,            KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,         KC_F12,         KC_MINS,            KC_EQL,         KC_TRNS,    KC_BSLS,    KC_TRNS,
 | 
			
		||||
| 
						 | 
				
			
			@ -345,7 +345,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 | 
			
		||||
    // raise key
 | 
			
		||||
    [_RAISE] = LAYOUT_ortho_5x12 (
 | 
			
		||||
        DYN_MACRO_PLAY1,    DYN_REC_START1, DYN_REC_STOP,   KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,            KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,
 | 
			
		||||
        DM_PLY1,            DM_REC1,        DM_RSTP,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,        KC_TRNS,            KC_TRNS,        KC_TRNS,    KC_TRNS,    KC_TRNS,
 | 
			
		||||
        KC_TRNS,            KC_EXLM,        KC_AT,          KC_HASH,        KC_DLR,         KC_PERC,        KC_CIRC,        KC_AMPR,            KC_ASTR,        KC_LPRN,    KC_RPRN,    KC_DEL,
 | 
			
		||||
        KC_DEL,             KC_F1,          KC_F2,          KC_F3,          KC_F4,          KC_F5,          KC_F6,          KC_DQUO,            KC_TILD,        KC_LBRC,    KC_RBRC,    KC_TRNS,
 | 
			
		||||
        KC_TRNS,            KC_F7,          KC_F8,          KC_F9,          KC_F10,         KC_F11,         KC_F12,         KC_UNDS,            KC_PLUS	,       KC_TRNS,    KC_PIPE,    KC_TRNS,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,11 +6,11 @@
 | 
			
		|||
        #include "../../rev3/config.h"
 | 
			
		||||
        #include "../../rev3/rev3.h"
 | 
			
		||||
        enum dynamic_macro_keycodes {
 | 
			
		||||
            DYN_REC_START1 = DYNAMIC_MACRO_RANGE,
 | 
			
		||||
            DYN_REC_START2,
 | 
			
		||||
            DYN_REC_STOP,
 | 
			
		||||
            DYN_MACRO_PLAY1,
 | 
			
		||||
            DYN_MACRO_PLAY2,
 | 
			
		||||
            DM_REC1 = DYNAMIC_MACRO_RANGE,
 | 
			
		||||
            DM_REC2,
 | 
			
		||||
            DM_RSTP,
 | 
			
		||||
            DM_PLY1,
 | 
			
		||||
            DM_PLY2,
 | 
			
		||||
        };
 | 
			
		||||
        #define QMK_KEYBOARD_H "rev3.h"
 | 
			
		||||
    #endif
 | 
			
		||||
| 
						 | 
				
			
			@ -258,8 +258,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_ESC,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  KC_SCRL,  KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
        KC_TAB,  KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10, XXXXXXX,  KC_AMPR, KC_ASTR, KC_LCBR, KC_RCBR, KC_DEL,
 | 
			
		||||
        KC_CAPS, KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15, XXXXXXX,  KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, XXXXXXX,
 | 
			
		||||
        _______, KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20, XXXXXXX,  KC_NUHS, KC_NUBS, DYN_REC_START1,   DYN_REC_START2, DYN_REC_STOP,
 | 
			
		||||
        KC_LCTL, KC_LALT, KC_LGUI, _______, KC_BSPC, KC_SPC,  KC_SPC,  KC_ENT,  __LYB__, DYN_MACRO_PLAY1,  DYN_MACRO_PLAY2, LLSWIT
 | 
			
		||||
        _______, KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20, XXXXXXX,  KC_NUHS, KC_NUBS, DM_REC1, DM_REC2, DM_RSTP,
 | 
			
		||||
        KC_LCTL, KC_LALT, KC_LGUI, _______, KC_BSPC, KC_SPC,  KC_SPC,  KC_ENT,  __LYB__, DM_PLY1, DM_PLY2, LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Adjust (Lower + Raise)
 | 
			
		||||
| 
						 | 
				
			
			@ -322,8 +322,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        KC_ESC,   _______,  _______,  _______,  _______,  KC_SCRL,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
        KC_TAB,   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_DEL,
 | 
			
		||||
        KC_CAPS,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  DYN_REC_START1, DYN_REC_START2, DYN_REC_STOP,
 | 
			
		||||
        KC_LCTL,  KC_LALT,  KC_LGUI,  KC_DEL,  KC_BSPC,  KC_SPC,   KC_SPC,   __LYB__,  _______,  DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,  LLSWIT
 | 
			
		||||
        _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  DM_REC1,  DM_REC2,  DM_RSTP,
 | 
			
		||||
        KC_LCTL,  KC_LALT,  KC_LGUI,  KC_DEL,  KC_BSPC,  KC_SPC,   KC_SPC,   __LYB__,  _______,   DM_PLY1,  DM_PLY2,  LLSWIT
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    /* Numeric Pad
 | 
			
		||||
| 
						 | 
				
			
			@ -419,7 +419,7 @@ bool            process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
// Play sound on Macro stop
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
        switch (keycode) {
 | 
			
		||||
            case DYN_REC_STOP:
 | 
			
		||||
            case QK_DYNAMIC_MACRO_RECORD_STOP:
 | 
			
		||||
                if (record->event.pressed) {
 | 
			
		||||
                    PLAY_SONG(tone_macro_record_stop);
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -506,13 +506,13 @@ bool            process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
            break;
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
            // Play sound on Macro record start
 | 
			
		||||
        case DYN_REC_START1:
 | 
			
		||||
        case QK_DYNAMIC_MACRO_RECORD_START_1:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                PLAY_SONG(tone_macro1_record);
 | 
			
		||||
            }
 | 
			
		||||
            return false;
 | 
			
		||||
            break;
 | 
			
		||||
        case DYN_REC_START2:
 | 
			
		||||
        case QK_DYNAMIC_MACRO_RECORD_START_2:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                PLAY_SONG(tone_macro2_record);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,9 +66,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
    _______,                   MO(_DYN)               \
 | 
			
		||||
  ),
 | 
			
		||||
  [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
 | 
			
		||||
    DYN_REC_START1, DYN_REC_START2, _______, DYN_REC_STOP, \
 | 
			
		||||
    DM_REC1, DM_REC2, _______, DM_RSTP, \
 | 
			
		||||
    _______, _______,  _______,                            \
 | 
			
		||||
    DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______,    \
 | 
			
		||||
    DM_PLY1, DM_PLY2, _______, _______,    \
 | 
			
		||||
    _______,            _______                            \
 | 
			
		||||
  ),
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
    _______,                 _______
 | 
			
		||||
  ),
 | 
			
		||||
  [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
 | 
			
		||||
    DYN_REC_START1,  DYN_REC_START2,  _______, _______, \
 | 
			
		||||
    DM_REC1,  DM_REC2,  _______, _______, \
 | 
			
		||||
    _______,         _______,         _______, \
 | 
			
		||||
    DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \
 | 
			
		||||
    DM_PLY1, DM_PLY2, _______, _______, \
 | 
			
		||||
    _______,                          _______
 | 
			
		||||
  ),
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,8 +46,8 @@
 | 
			
		|||
// "MMENU" is a macro for "CMD+SPC" (aka Spotlight/Alfred)
 | 
			
		||||
#define MMENU LGUI(KC_SPC)
 | 
			
		||||
#define _____ KC_TRNS
 | 
			
		||||
#define MM_0 DYN_MACRO_PLAY1
 | 
			
		||||
#define MM_1 DYN_MACRO_PLAY2
 | 
			
		||||
#define MM_0 DM_PLY1
 | 
			
		||||
#define MM_1 DM_PLY2
 | 
			
		||||
 | 
			
		||||
// tap-hold settings
 | 
			
		||||
#define LONGPRESS_DELAY 250
 | 
			
		||||
| 
						 | 
				
			
			@ -114,8 +114,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
  [LAYER_RECORD] = LAYOUT(
 | 
			
		||||
    _____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____, DM_RSTP, DM_RSTP, _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____, DM_RSTP, DM_RSTP, _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____,    _____,        _____,     _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____,    _____,        _____,     _____, _____, _____, _____, _____, _____, _____,
 | 
			
		||||
    _____, _____, _____, _____, _____, _____,    _____,        _____,     _____, _____, _____, _____, _____, _____, _____
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
  [LAYER_FN] = LAYOUT(
 | 
			
		||||
    GOTO_CM, GOTO_QW, KC_NO, KC_NO, KC_NO, KC_NO, DYN_REC_START1, DYN_REC_START2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 | 
			
		||||
    GOTO_CM, GOTO_QW, KC_NO, KC_NO, KC_NO, KC_NO, DM_REC1, DM_REC2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 | 
			
		||||
    KC_NO,   KC_NO,   KC_NO, KC_NO, KC_NO, KC_NO,     KC_NO,          KC_NO,      KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 | 
			
		||||
    KC_NO,   KC_NO,   KC_NO, KC_NO, KC_NO, KC_NO,     KC_NO,          KC_NO,      KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 | 
			
		||||
    KC_NO,   KC_NO,   KC_NO, KC_NO, KC_NO, KC_NO,     KC_NO,          KC_NO,      KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
 | 
			
		||||
| 
						 | 
				
			
			@ -221,7 +221,7 @@ bool did_record_m1 = false;
 | 
			
		|||
bool did_record_m2 = false;
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    bool try_dynamic_macro = true;
 | 
			
		||||
    if ((keycode == DYN_MACRO_PLAY1 && !did_record_m1) || (keycode == DYN_MACRO_PLAY2 && !did_record_m2)) {
 | 
			
		||||
    if ((keycode == QK_DYNAMIC_MACRO_PLAY_1 && !did_record_m1) || (keycode == QK_DYNAMIC_MACRO_PLAY_2 && !did_record_m2)) {
 | 
			
		||||
        try_dynamic_macro = false;
 | 
			
		||||
    }
 | 
			
		||||
    else if (keycode == DM_CLEAR) {
 | 
			
		||||
| 
						 | 
				
			
			@ -231,18 +231,18 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (try_dynamic_macro && !process_record_dynamic_macro(keycode, record)) {
 | 
			
		||||
        if (keycode == DYN_MACRO_PLAY1) {
 | 
			
		||||
        if (keycode == QK_DYNAMIC_MACRO_PLAY_1) {
 | 
			
		||||
                did_record_m1 = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (keycode == DYN_MACRO_PLAY2) {
 | 
			
		||||
        if (keycode == QK_DYNAMIC_MACRO_PLAY_2) {
 | 
			
		||||
                did_record_m2 = true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (keycode == DYN_REC_START1 || keycode == DYN_REC_START2) {
 | 
			
		||||
        if (keycode == QK_DYNAMIC_MACRO_RECORD_START_1 || keycode == QK_DYNAMIC_MACRO_RECORD_START_2) {
 | 
			
		||||
                layer_move(LAYER_RECORD);
 | 
			
		||||
        }
 | 
			
		||||
        else if (keycode == DYN_REC_STOP) {
 | 
			
		||||
        else if (keycode == QK_DYNAMIC_MACRO_RECORD_STOP) {
 | 
			
		||||
                layer_move(LAYER_COLEMAK);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -250,10 +250,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
    case DYN_MACRO_PLAY1:
 | 
			
		||||
    case QK_DYNAMIC_MACRO_PLAY_1:
 | 
			
		||||
        SEND_STRING(SENDSTRING_MM0);
 | 
			
		||||
        return false;
 | 
			
		||||
    case DYN_MACRO_PLAY2:
 | 
			
		||||
    case QK_DYNAMIC_MACRO_PLAY_2:
 | 
			
		||||
        SEND_STRING(SENDSTRING_MM1);
 | 
			
		||||
        return false;
 | 
			
		||||
    case MM_2:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ I've implemented my own "tap/hold" feature, identical in spirit to "Space Cadet"
 | 
			
		|||
 | 
			
		||||
The function layer is only to switch to Qwerty (so other people can use this keyboard - also turns off sticky keys) and to start recording keypresses.
 | 
			
		||||
 | 
			
		||||
I implemented "stop recording" in a unique way; starting a macro recording sends the keyboard layer to one that has all the macro keys assigned to `DYN_REC_STOP`, and restores the layer to the default when recording is stopped.
 | 
			
		||||
I implemented "stop recording" in a unique way; starting a macro recording sends the keyboard layer to one that has all the macro keys assigned to `DM_RSTP`, and restores the layer to the default when recording is stopped.
 | 
			
		||||
 | 
			
		||||
I wish Dynamic Macros supported more, because I'd like to record a third macro in the MACRO slot instead of hardcoding it.  I'm using these to store some passwords.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,17 +40,17 @@ void macro_tog_key( qk_tap_dance_state_t *state, void *user_data ) {
 | 
			
		|||
 | 
			
		||||
  keyrecord_t kr;
 | 
			
		||||
  kr.event.pressed = false;
 | 
			
		||||
  uint16_t action = DYN_REC_STOP;
 | 
			
		||||
  uint16_t action = QK_DYNAMIC_MACRO_RECORD_STOP;
 | 
			
		||||
 | 
			
		||||
  if ( state->count == 1 ) {
 | 
			
		||||
    action = DYN_MACRO_PLAY1;
 | 
			
		||||
    action = QK_DYNAMIC_MACRO_PLAY_1;
 | 
			
		||||
  }
 | 
			
		||||
  else if ( state->count == 2 ) {
 | 
			
		||||
    action = DYN_REC_STOP;
 | 
			
		||||
    action = QK_DYNAMIC_MACRO_RECORD_STOP;
 | 
			
		||||
    kr.event.pressed = true;
 | 
			
		||||
  }
 | 
			
		||||
  else if ( state->count == 3 ) {
 | 
			
		||||
    action = DYN_REC_START1;
 | 
			
		||||
    action = QK_DYNAMIC_MACRO_RECORD_START_1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  process_record_dynamic_macro( action, &kr );
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,9 +7,9 @@ enum custom_keycodes {
 | 
			
		|||
 | 
			
		||||
#include "dynamic_macro.h"
 | 
			
		||||
 | 
			
		||||
#define KC_REC DYN_REC_START1
 | 
			
		||||
#define KC_DONE DYN_REC_STOP
 | 
			
		||||
#define KC_PLAY DYN_MACRO_PLAY1
 | 
			
		||||
#define KC_REC DM_REC1
 | 
			
		||||
#define KC_DONE DM_RSTP
 | 
			
		||||
#define KC_PLAY DM_PLY1
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue