|
@@ -5,22 +5,28 @@
|
|
|
|
|
|
extern keymap_config_t keymap_config;
|
|
|
|
|
|
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
|
|
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
|
|
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
|
|
-// entirely and just use numbers.
|
|
|
-#define _QWERTY 0
|
|
|
-#define _LOWER 1
|
|
|
-#define _RAISE 2
|
|
|
-#define _FUNC 3
|
|
|
-#define _ADJUST 16
|
|
|
-#define _DYN 6
|
|
|
-
|
|
|
-enum planck_keycodes {
|
|
|
+enum jj40_layers {
|
|
|
+ _QWERTY,
|
|
|
+ _MAC,
|
|
|
+ _LOWER,
|
|
|
+ _MLWR,
|
|
|
+ _RAISE,
|
|
|
+ _MRSE,
|
|
|
+ _FUNC,
|
|
|
+ _MFNC,
|
|
|
+ _ADJUST,
|
|
|
+ _DYN
|
|
|
+};
|
|
|
+
|
|
|
+enum jj40_keycodes {
|
|
|
QWERTY = SAFE_RANGE,
|
|
|
+ MAC,
|
|
|
FUNC,
|
|
|
+ MFNC,
|
|
|
LOWER,
|
|
|
+ MLWR,
|
|
|
RAISE,
|
|
|
+ MRSE,
|
|
|
DYNAMIC_MACRO_RANGE
|
|
|
};
|
|
|
|
|
@@ -117,10 +123,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
* `-----------------------------------------------------------------------------------'
|
|
|
*/
|
|
|
[_ADJUST] = KEYMAP(\
|
|
|
- M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
|
|
- KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
|
|
- _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
|
|
- _______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
|
|
+ M(0), RESET, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,\
|
|
|
+ KC_CAPS, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
|
|
|
+ TG(_MAC), _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, MO(_DYN), _______, _______, _______ \
|
|
|
),
|
|
|
|
|
|
/* DYN: Macro Recording and Playback
|
|
@@ -139,11 +145,38 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
_______, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______,\
|
|
|
_______, _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, _______, _______, _______, _______, _______,\
|
|
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
|
|
+),
|
|
|
+
|
|
|
+[_MAC]= KEYMAP(\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______\
|
|
|
+),
|
|
|
+
|
|
|
+[_MLWR] = KEYMAP(\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
|
|
|
+),
|
|
|
+
|
|
|
+[_MRSE] = KEYMAP(\
|
|
|
+ _______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
+),
|
|
|
+
|
|
|
+[_MFNC]= KEYMAP(\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\
|
|
|
+ _______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
|
|
|
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
|
|
)
|
|
|
|
|
|
};
|
|
|
|
|
|
-
|
|
|
void persistant_default_layer_set(uint16_t default_layer) {
|
|
|
eeconfig_update_default_layer(default_layer);
|
|
|
default_layer_set(default_layer);
|
|
@@ -179,10 +212,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
|
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
|
}
|
|
|
return false;
|
|
|
- }
|
|
|
+ case MLWR:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ layer_on(_LOWER);
|
|
|
+ layer_on(_MLWR);
|
|
|
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
|
+ } else {
|
|
|
+ layer_off(_LOWER);
|
|
|
+ layer_off(_MLWR);
|
|
|
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case MRSE:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ layer_on(_RAISE);
|
|
|
+ layer_on(_MRSE);
|
|
|
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
|
+ } else {
|
|
|
+ layer_off(_RAISE);
|
|
|
+ layer_off(_MRSE);
|
|
|
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ case MFNC:
|
|
|
+ if (record->event.pressed) {
|
|
|
+ layer_on(_FUNC);
|
|
|
+ layer_on(_MFNC);
|
|
|
+ } else {
|
|
|
+ layer_off(_FUNC);
|
|
|
+ layer_off(_MFNC);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
|
switch(id) {
|
|
|
// These would trigger when you hit a key mapped as M(0)
|
|
@@ -201,6 +266,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
|
END
|
|
|
);
|
|
|
}
|
|
|
+ case 2: // Word Select - MAC
|
|
|
+ if (record->event.pressed) {
|
|
|
+ return MACRO(
|
|
|
+ DOWN(KC_LALT), DOWN(KC_RIGHT), UP(KC_RIGHT), DOWN(KC_LSFT), DOWN(KC_LEFT), UP(KC_LEFT), UP(KC_LSFT), UP(KC_LALT),
|
|
|
+ END
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
return MACRO_NONE;
|
|
|
};
|