mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	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
					
				| @ -6,21 +6,21 @@ You can store one or two macros and they may have a combined total of 128 keypre | ||||
| 
 | ||||
| To enable them, first include `DYNAMIC_MACRO_ENABLE = yes` in your `rules.mk`. Then, add the following keys to your keymap: | ||||
| 
 | ||||
| |Key               |Alias     |Description                                        | | ||||
| |------------------|----------|---------------------------------------------------| | ||||
| |`DYN_REC_START1`  |`DM_REC1` |Start recording Macro 1                            | | ||||
| |`DYN_REC_START2`  |`DM_REC2` |Start recording Macro 2                            | | ||||
| |`DYN_MACRO_PLAY1` |`DM_PLY1` |Replay Macro 1                                     | | ||||
| |`DYN_MACRO_PLAY2` |`DM_PLY2` |Replay Macro 2                                     | | ||||
| |`DYN_REC_STOP`    |`DM_RSTP` |Finish the macro that is currently being recorded. | | ||||
| |Key                              |Alias    |Description                                       | | ||||
| |---------------------------------|---------|--------------------------------------------------| | ||||
| |`QK_DYNAMIC_MACRO_RECORD_START_1`|`DM_REC1`|Start recording Macro 1                           | | ||||
| |`QK_DYNAMIC_MACRO_RECORD_START_2`|`DM_REC2`|Start recording Macro 2                           | | ||||
| |`QK_DYNAMIC_MACRO_PLAY_1`        |`DM_PLY1`|Replay Macro 1                                    | | ||||
| |`QK_DYNAMIC_MACRO_PLAY_2`        |`DM_PLY2`|Replay Macro 2                                    | | ||||
| |`QK_DYNAMIC_MACRO_RECORD_STOP`   |`DM_RSTP`|Finish the macro that is currently being recorded.| | ||||
| 
 | ||||
| That should be everything necessary.  | ||||
| 
 | ||||
| To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`.  | ||||
| To start recording the macro, press either `DM_REC1` or `DM_REC2`.  | ||||
| 
 | ||||
| To finish the recording, press the `DYN_REC_STOP` layer button. You can also press `DYN_REC_START1` or `DYN_REC_START2` again to stop the recording. | ||||
| To finish the recording, press the `DM_RSTP` layer button. You can also press `DM_REC1` or `DM_REC2` again to stop the recording. | ||||
| 
 | ||||
| To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`. | ||||
| To replay the macro, press either `DM_PLY1` or `DM_PLY2`. | ||||
| 
 | ||||
| It is possible to replay a macro as part of a macro. It's ok to replay macro 2 while recording macro 1 and vice versa but never create recursive macros i.e. macro 1 that replays macro 1. If you do so and the keyboard will get unresponsive, unplug the keyboard and plug it again.  You can disable this completely by defining `DYNAMIC_MACRO_NO_NESTING`  in your `config.h` file. | ||||
| 
 | ||||
| @ -43,10 +43,10 @@ If the LEDs start blinking during the recording with each keypress, it means the | ||||
| 
 | ||||
| ### DYNAMIC_MACRO_USER_CALL | ||||
| 
 | ||||
| For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DYN_REC_STOP` key. If you want this behavior back, add `#define DYNAMIC_MACRO_USER_CALL` to your `config.h` and insert the following snippet at the beginning of your `process_record_user()` function: | ||||
| For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DM_RSTP` key. If you want this behavior back, add `#define DYNAMIC_MACRO_USER_CALL` to your `config.h` and insert the following snippet at the beginning of your `process_record_user()` function: | ||||
| 
 | ||||
| ```c | ||||
| 	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; | ||||
|  | ||||
| @ -306,13 +306,13 @@ See also: [Caps Word](feature_caps_word.md) | ||||
| 
 | ||||
| See also: [Dynamic Macros](feature_dynamic_macros.md) | ||||
| 
 | ||||
| |Key              |Aliases  |Description                                       | | ||||
| |-----------------|---------|--------------------------------------------------| | ||||
| |`DYN_REC_START1` |`DM_REC1`|Start recording Macro 1                           | | ||||
| |`DYN_REC_START2` |`DM_REC2`|Start recording Macro 2                           | | ||||
| |`DYN_MACRO_PLAY1`|`DM_PLY1`|Replay Macro 1                                    | | ||||
| |`DYN_MACRO_PLAY2`|`DM_PLY2`|Replay Macro 2                                    | | ||||
| |`DYN_REC_STOP`   |`DM_RSTP`|Finish the macro that is currently being recorded.| | ||||
| |Key                              |Aliases  |Description                                       | | ||||
| |---------------------------------|---------|--------------------------------------------------| | ||||
| |`QK_DYNAMIC_MACRO_RECORD_START_1`|`DM_REC1`|Start recording Macro 1                           | | ||||
| |`QK_DYNAMIC_MACRO_RECORD_START_2`|`DM_REC2`|Start recording Macro 2                           | | ||||
| |`QK_DYNAMIC_MACRO_PLAY_1`        |`DM_PLY1`|Replay Macro 1                                    | | ||||
| |`QK_DYNAMIC_MACRO_PLAY_2`        |`DM_PLY2`|Replay Macro 2                                    | | ||||
| |`QK_DYNAMIC_MACRO_RECORD_STOP`   |`DM_RSTP`|Finish the macro that is currently being recorded.| | ||||
| 
 | ||||
| ## Grave Escape :id=grave-escape | ||||
| 
 | ||||
|  | ||||
| @ -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] = { | ||||
| 
 | ||||
|  | ||||
| @ -103,17 +103,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   KC_MUTE, KC_VOLD,    KC_VOLU, KC_TRNS,  KC_TRNS, | ||||
| 
 | ||||
|                                                        KC_TRNS,   KC_TRNS, | ||||
|                                                            DYN_REC_START1, | ||||
|                                         KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, | ||||
|                                                            DM_REC1, | ||||
|                                         KC_TRNS, KC_TRNS, DM_PLY1, | ||||
|   /* right hand */ | ||||
|   KC_TRNS, KC_TRNS,    KC_ASTR, KC_LPRN,  KC_RPRN,  KC_MINS,  KC_TRNS, | ||||
|   KC_EQL,  M_LAMBDA,   KC_7,    KC_8,     KC_9,     KC_PLUS,  KC_TRNS, | ||||
|            M_POINER,   KC_4,    KC_5,     KC_6,     KC_0,     KC_TRNS, | ||||
|   KC_ENT,  M_NOT_EQL,  KC_1,    KC_2,     KC_3,     KC_TRNS,  KC_TRNS, | ||||
|                        KC_0,    KC_COMM,  KC_DOT,   KC_TRNS,  KC_TRNS, | ||||
|   KC_TRNS, DYN_REC_STOP, | ||||
|   DYN_REC_START2, | ||||
|   DYN_MACRO_PLAY2, KC_TRNS, KC_TRNS | ||||
|   KC_TRNS, DM_RSTP, | ||||
|   DM_REC2, | ||||
|   DM_PLY2, KC_TRNS, KC_TRNS | ||||
| ), | ||||
| /* Keymap 2: Left side -> LAYER_NUM,                             Right side -> Shift + LAYER_BASE
 | ||||
|  * | ||||
| @ -145,8 +145,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   KC_MUTE, KC_VOLD,    KC_VOLU, KC_TRNS,  KC_TRNS, | ||||
| 
 | ||||
|                                                        KC_TRNS,   KC_TRNS, | ||||
|                                                            DYN_REC_START1, | ||||
|                                         KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, | ||||
|                                                            DM_REC1, | ||||
|                                         KC_TRNS, KC_TRNS, DM_PLY1, | ||||
|   /* right hand */ | ||||
|   TG(1),          KC_AMPR,       KC_ASTR,       KC_LPRN,    KC_RPRN,    S(KC_MINS),  S(KC_BSPC), | ||||
|   KC_UNDS,        S(KC_J),       S(KC_L),       S(KC_U),    S(KC_Y),    S(KC_SCLN),  S(KC_BSLS), | ||||
| @ -195,9 +195,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|            M_POINER,    KC_4,    KC_5,     KC_6,     KC_0,     KC_TRNS, | ||||
|   KC_ENT,  M_NOT_EQL,   KC_1,    KC_2,     KC_3,     KC_TRNS,  KC_TRNS, | ||||
|                         KC_0,    KC_COMM,  KC_DOT,   KC_TRNS,  KC_TRNS, | ||||
|   KC_TRNS, DYN_REC_STOP, | ||||
|   DYN_REC_START2, | ||||
|   DYN_MACRO_PLAY2, KC_TRNS, KC_TRNS | ||||
|   KC_TRNS, DM_RSTP, | ||||
|   DM_REC2, | ||||
|   DM_PLY2, KC_TRNS, KC_TRNS | ||||
| ), | ||||
| }; | ||||
| 
 | ||||
| @ -206,13 +206,13 @@ static bool recording_dynamic_macro; | ||||
| static bool process_record_dynamic_macro_wrapper(uint16_t keycode, keyrecord_t *record) { | ||||
|   switch (keycode) { | ||||
|     /* detect dynamic macro recording state */ | ||||
|     case DYN_REC_START1: | ||||
|     case DYN_REC_START2: | ||||
|     case QK_DYNAMIC_MACRO_RECORD_START_1: | ||||
|     case QK_DYNAMIC_MACRO_RECORD_START_2: | ||||
|       if (record->event.pressed) { | ||||
|         recording_dynamic_macro = true; | ||||
|       } | ||||
|       break; | ||||
|     case DYN_REC_STOP: | ||||
|     case QK_DYNAMIC_MACRO_RECORD_STOP: | ||||
|       if (record->event.pressed) { | ||||
|         recording_dynamic_macro = false; | ||||
|       } | ||||
|  | ||||
| @ -282,11 +282,11 @@ enum custom_keycodes { | ||||
| #  include "dynamic_macro.h" | ||||
| #else | ||||
|    /* avoid ifdef's in keymap */ | ||||
| #  define DYN_REC_START1 KC_TRNS | ||||
| #  define DYN_REC_START2 KC_TRNS | ||||
| #  define DYN_MACRO_PLAY1 KC_TRNS | ||||
| #  define DYN_MACRO_PLAY2 KC_TRNS | ||||
| #  define DYN_REC_STOP KC_TRNS | ||||
| #  define DM_REC1 KC_TRNS | ||||
| #  define DM_REC2 KC_TRNS | ||||
| #  define DM_PLY1 KC_TRNS | ||||
| #  define DM_PLY2 KC_TRNS | ||||
| #  define DM_RSTP KC_TRNS | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CFQ_USE_MOMENTARY_LAYER_KEYS | ||||
| @ -391,9 +391,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_ARROW_RMINUS, | ||||
|   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M_BRACKET_IN_ANG, M_BRACKET_IN_BRC, | ||||
|   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||
|                                                DYN_REC_START1,   DYN_REC_START2, | ||||
|                               K80(L1K0),       K80(L1K1),        DYN_MACRO_PLAY1, | ||||
|                               DYN_REC_STOP,    KC_TRNS,          DYN_MACRO_PLAY2, | ||||
|                                                DM_REC1,          DM_REC2, | ||||
|                               K80(L1K0),       K80(L1K1),        DM_PLY1, | ||||
|                               DM_RSTP,         KC_TRNS,          DM_PLY2, | ||||
|   /* right hand */ | ||||
|   M_BRACKET_OUT_CBR, KC_TRNS,           KC_NUM,  KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,  KC_TRNS, | ||||
|   M_BRACKET_OUT_PRN, M_ARROW_LEQL,      KC_KP_7, KC_KP_8,     KC_KP_9,        KC_KP_PLUS,  KC_TRNS, | ||||
|  | ||||
| @ -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 , | ||||
|   _______,  _______, _______, _______, _______, _______,         _______,         _______,             _______,           _______,              _______,  _______ | ||||
| ), | ||||
| 
 | ||||
|  | ||||
| @ -129,7 +129,7 @@ void dynamic_macro_record_end(keyrecord_t *macro_buffer, keyrecord_t *macro_poin | ||||
|     dynamic_macro_led_blink(); | ||||
| 
 | ||||
|     /* Do not save the keys being held when stopping the recording,
 | ||||
|      * i.e. the keys used to access the layer DYN_REC_STOP is on. | ||||
|      * i.e. the keys used to access the layer DM_RSTP is on. | ||||
|      */ | ||||
|     while (macro_pointer != macro_buffer && (macro_pointer - direction)->event.pressed) { | ||||
|         dprintln("dynamic macro: trimming a trailing key-down event"); | ||||
| @ -202,18 +202,18 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|         /* No macro recording in progress. */ | ||||
|         if (!record->event.pressed) { | ||||
|             switch (keycode) { | ||||
|                 case DYN_REC_START1: | ||||
|                 case QK_DYNAMIC_MACRO_RECORD_START_1: | ||||
|                     dynamic_macro_record_start(¯o_pointer, macro_buffer); | ||||
|                     macro_id = 1; | ||||
|                     return false; | ||||
|                 case DYN_REC_START2: | ||||
|                 case QK_DYNAMIC_MACRO_RECORD_START_2: | ||||
|                     dynamic_macro_record_start(¯o_pointer, r_macro_buffer); | ||||
|                     macro_id = 2; | ||||
|                     return false; | ||||
|                 case DYN_MACRO_PLAY1: | ||||
|                 case QK_DYNAMIC_MACRO_PLAY_1: | ||||
|                     dynamic_macro_play(macro_buffer, macro_end, +1); | ||||
|                     return false; | ||||
|                 case DYN_MACRO_PLAY2: | ||||
|                 case QK_DYNAMIC_MACRO_PLAY_2: | ||||
|                     dynamic_macro_play(r_macro_buffer, r_macro_end, -1); | ||||
|                     return false; | ||||
|             } | ||||
| @ -221,7 +221,7 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|     } else { | ||||
|         /* A macro is being recorded right now. */ | ||||
|         switch (keycode) { | ||||
|             case DYN_REC_STOP: | ||||
|             case QK_DYNAMIC_MACRO_RECORD_STOP: | ||||
|                 /* Stop the macro recording. */ | ||||
|                 if (record->event.pressed) { /* Ignore the initial release
 | ||||
|                                               * just after the recoding | ||||
| @ -237,8 +237,8 @@ bool process_record_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|                     macro_id = 0; | ||||
|                 } | ||||
|                 return false; | ||||
|             case DYN_MACRO_PLAY1: | ||||
|             case DYN_MACRO_PLAY2: | ||||
|             case QK_DYNAMIC_MACRO_PLAY_1: | ||||
|             case QK_DYNAMIC_MACRO_PLAY_2: | ||||
|                 dprintln("dynamic macro: ignoring macro play key while recording"); | ||||
|                 return false; | ||||
|             default: | ||||
|  | ||||
| @ -139,7 +139,7 @@ void dynamic_macro_record_end(keyrecord_t *macro_buffer, keyrecord_t *macro_poin | ||||
|     dynamic_macro_record_end_user(direction); | ||||
| 
 | ||||
|     /* Do not save the keys being held when stopping the recording,
 | ||||
|      * i.e. the keys used to access the layer DYN_REC_STOP is on. | ||||
|      * i.e. the keys used to access the layer DM_RSTP is on. | ||||
|      */ | ||||
|     while (macro_pointer != macro_buffer && (macro_pointer - direction)->event.pressed) { | ||||
|         dprintln("dynamic macro: trimming a trailing key-down event"); | ||||
| @ -212,18 +212,18 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|         /* No macro recording in progress. */ | ||||
|         if (!record->event.pressed) { | ||||
|             switch (keycode) { | ||||
|                 case DYN_REC_START1: | ||||
|                 case QK_DYNAMIC_MACRO_RECORD_START_1: | ||||
|                     dynamic_macro_record_start(¯o_pointer, macro_buffer); | ||||
|                     macro_id = 1; | ||||
|                     return false; | ||||
|                 case DYN_REC_START2: | ||||
|                 case QK_DYNAMIC_MACRO_RECORD_START_2: | ||||
|                     dynamic_macro_record_start(¯o_pointer, r_macro_buffer); | ||||
|                     macro_id = 2; | ||||
|                     return false; | ||||
|                 case DYN_MACRO_PLAY1: | ||||
|                 case QK_DYNAMIC_MACRO_PLAY_1: | ||||
|                     dynamic_macro_play(macro_buffer, macro_end, +1); | ||||
|                     return false; | ||||
|                 case DYN_MACRO_PLAY2: | ||||
|                 case QK_DYNAMIC_MACRO_PLAY_2: | ||||
|                     dynamic_macro_play(r_macro_buffer, r_macro_end, -1); | ||||
|                     return false; | ||||
|             } | ||||
| @ -231,13 +231,13 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|     } else { | ||||
|         /* A macro is being recorded right now. */ | ||||
|         switch (keycode) { | ||||
|             case DYN_REC_START1: | ||||
|             case DYN_REC_START2: | ||||
|             case DYN_REC_STOP: | ||||
|             case QK_DYNAMIC_MACRO_RECORD_START_1: | ||||
|             case QK_DYNAMIC_MACRO_RECORD_START_2: | ||||
|             case QK_DYNAMIC_MACRO_RECORD_STOP: | ||||
|                 /* Stop the macro recording. */ | ||||
|                 if (record->event.pressed ^ (keycode != DYN_REC_STOP)) { /* Ignore the initial release
 | ||||
|                                                                           * just after the recording | ||||
|                                                                           * starts for DYN_REC_STOP. */ | ||||
|                 if (record->event.pressed ^ (keycode != QK_DYNAMIC_MACRO_RECORD_STOP)) { /* Ignore the initial release
 | ||||
|                                                                                           * just after the recording | ||||
|                                                                                           * starts for DM_RSTP. */ | ||||
|                     switch (macro_id) { | ||||
|                         case 1: | ||||
|                             dynamic_macro_record_end(macro_buffer, macro_pointer, +1, ¯o_end); | ||||
| @ -250,8 +250,8 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) { | ||||
|                 } | ||||
|                 return false; | ||||
| #ifdef DYNAMIC_MACRO_NO_NESTING | ||||
|             case DYN_MACRO_PLAY1: | ||||
|             case DYN_MACRO_PLAY2: | ||||
|             case QK_DYNAMIC_MACRO_PLAY_1: | ||||
|             case QK_DYNAMIC_MACRO_PLAY_2: | ||||
|                 dprintln("dynamic macro: ignoring macro play key while recording"); | ||||
|                 return false; | ||||
| #endif | ||||
|  | ||||
| @ -424,11 +424,11 @@ enum quantum_keycodes { | ||||
|     MAGIC_EE_HANDS_RIGHT,   // 5D03
 | ||||
| 
 | ||||
|     // Dynamic Macros
 | ||||
|     DYN_REC_START1,  // 5D04
 | ||||
|     DYN_REC_START2,  // 5D05
 | ||||
|     DYN_REC_STOP,    // 5D06
 | ||||
|     DYN_MACRO_PLAY1, // 5D07
 | ||||
|     DYN_MACRO_PLAY2, // 5D08
 | ||||
|     QK_DYNAMIC_MACRO_RECORD_START_1, // 5D04
 | ||||
|     QK_DYNAMIC_MACRO_RECORD_START_2, // 5D05
 | ||||
|     QK_DYNAMIC_MACRO_RECORD_STOP,    // 5D06
 | ||||
|     QK_DYNAMIC_MACRO_PLAY_1,         // 5D07
 | ||||
|     QK_DYNAMIC_MACRO_PLAY_2,         // 5D08
 | ||||
| 
 | ||||
|     // Joystick
 | ||||
|     QK_JOYSTICK_BUTTON_0,  // 5D09
 | ||||
| @ -906,11 +906,11 @@ enum quantum_keycodes { | ||||
| #define MIDI_CHANNEL_MAX MI_CH16 | ||||
| 
 | ||||
| // Dynamic Macros aliases
 | ||||
| #define DM_REC1 DYN_REC_START1 | ||||
| #define DM_REC2 DYN_REC_START2 | ||||
| #define DM_RSTP DYN_REC_STOP | ||||
| #define DM_PLY1 DYN_MACRO_PLAY1 | ||||
| #define DM_PLY2 DYN_MACRO_PLAY2 | ||||
| #define DM_REC1 QK_DYNAMIC_MACRO_RECORD_START_1 | ||||
| #define DM_REC2 QK_DYNAMIC_MACRO_RECORD_START_2 | ||||
| #define DM_RSTP QK_DYNAMIC_MACRO_RECORD_STOP | ||||
| #define DM_PLY1 QK_DYNAMIC_MACRO_PLAY_1 | ||||
| #define DM_PLY2 QK_DYNAMIC_MACRO_PLAY_2 | ||||
| 
 | ||||
| // Joystick aliases
 | ||||
| #define JS_0 QK_JOYSTICK_BUTTON_0 | ||||
|  | ||||
| @ -38,6 +38,12 @@ | ||||
| #define UC_M_WC QK_UNICODE_MODE_WINCOMPOSE | ||||
| #define UC_M_EM QK_UNICODE_MODE_EMACS | ||||
| 
 | ||||
| #define DYN_REC_START1 QK_DYNAMIC_MACRO_RECORD_START_1 | ||||
| #define DYN_REC_START2 QK_DYNAMIC_MACRO_RECORD_START_2 | ||||
| #define DYN_REC_STOP QK_DYNAMIC_MACRO_RECORD_STOP | ||||
| #define DYN_MACRO_PLAY1 QK_DYNAMIC_MACRO_PLAY_1 | ||||
| #define DYN_MACRO_PLAY2 QK_DYNAMIC_MACRO_PLAY_2 | ||||
| 
 | ||||
| #define PROGRAMMABLE_BUTTON_1 QK_PROGRAMMABLE_BUTTON_1 | ||||
| #define PROGRAMMABLE_BUTTON_2 QK_PROGRAMMABLE_BUTTON_2 | ||||
| #define PROGRAMMABLE_BUTTON_3 QK_PROGRAMMABLE_BUTTON_3 | ||||
|  | ||||
| @ -7,17 +7,17 @@ void macroTogKey(qk_tap_dance_state_t *state, void *user_data) { | ||||
|   if (state->count == 1) | ||||
|   { | ||||
|     kr.event.pressed = false; | ||||
|     process_record_dynamic_macro( DYN_MACRO_PLAY1, &kr ); | ||||
|     process_record_dynamic_macro( DM_PLY1, &kr ); | ||||
|   } | ||||
|   else if (state->count == 2) | ||||
|   { | ||||
|     kr.event.pressed = true; | ||||
|     process_record_dynamic_macro( DYN_REC_STOP, &kr ); | ||||
|     process_record_dynamic_macro( DM_RSTP, &kr ); | ||||
|   } | ||||
|   else if (state->count == 3) | ||||
|   { | ||||
|     kr.event.pressed = false; | ||||
|     process_record_dynamic_macro( DYN_REC_START1, &kr ); | ||||
|     process_record_dynamic_macro( QK_DYNAMIC_MACRO_RECORD_START_1, &kr ); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -27,17 +27,17 @@ void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) { | ||||
|   if (state->count == 1) | ||||
|   { | ||||
|     kr.event.pressed = false; | ||||
|     process_record_dynamic_macro( DYN_MACRO_PLAY2, &kr ); | ||||
|     process_record_dynamic_macro( DM_PLY2, &kr ); | ||||
|   } | ||||
|   else if (state->count == 2) | ||||
|   { | ||||
|     kr.event.pressed = true; | ||||
|     process_record_dynamic_macro( DYN_REC_STOP, &kr ); | ||||
|     process_record_dynamic_macro( DM_RSTP, &kr ); | ||||
|   } | ||||
|   else if (state->count == 3) | ||||
|   { | ||||
|     kr.event.pressed = false; | ||||
|     process_record_dynamic_macro( DYN_REC_START2, &kr ); | ||||
|     process_record_dynamic_macro( DM_REC2, &kr ); | ||||
|   } | ||||
| } | ||||
| */ | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ryan
						Ryan