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…
Reference in New Issue