forked from mirrors/qmk_userspace
[Keymap] danielo515/redox-1 (#9935)
* chore: pulled the latest from master Bring my redox layout from my latest redox branch Bring my latest user stuff from my redox branch * Update users/danielo515/config.h Co-authored-by: Drashna Jaelre <drashna@live.com> * chore: small cleanup Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
parent
ac24f203cc
commit
8ac9940a76
5 changed files with 251 additions and 205 deletions
|
@ -4,11 +4,11 @@ extern bool onMac;
|
|||
// ======== INCREMENTAL MACROS STUFF =============
|
||||
#define MAX_INCREMENTAL_MACRO 20
|
||||
#define TAP_ROTATION_TIMEOUT 400
|
||||
uint16_t latest_kc = 0;
|
||||
uint16_t latest_kc = 0;
|
||||
uint16_t latest_rotation = 0;
|
||||
int key_count = 0;
|
||||
int key_count = 0;
|
||||
|
||||
const char incremental_macros[][MAX_INCREMENTAL_MACRO] = { "String1"SS_TAP(X_HOME)"X-", "String2"SS_TAP(X_HOME) };
|
||||
const char incremental_macros[][MAX_INCREMENTAL_MACRO] = {"String1" SS_TAP(X_HOME) "X-", "String2" SS_TAP(X_HOME)};
|
||||
|
||||
bool process_incremental_macro(uint16_t kc) {
|
||||
if (kc < INC_MACROS_START || kc > INC_MACROS_END) {
|
||||
|
@ -44,124 +44,157 @@ void refresh_incremental_macros(uint16_t kc) {
|
|||
}
|
||||
// Send control or GUI depending if we are on windows or mac
|
||||
bool CMD(uint16_t kc) {
|
||||
if(onMac){ tap_code16(LGUI(kc)); } else { tap_code16(LCTL(kc)); }
|
||||
if (onMac) {
|
||||
tap_code16(LGUI(kc));
|
||||
} else {
|
||||
tap_code16(LCTL(kc));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool pressed = record->event.pressed;
|
||||
if(pressed){
|
||||
if (pressed) {
|
||||
refresh_incremental_macros(keycode);
|
||||
if(process_incremental_macro(keycode)){
|
||||
if (process_incremental_macro(keycode)) {
|
||||
return false;
|
||||
}
|
||||
switch (keycode) {
|
||||
case MAC_TGL:
|
||||
onMac = !onMac;
|
||||
onMac ? SEND_STRING("On mac") : SEND_STRING("Not on MAC");
|
||||
return false;
|
||||
onMac = !onMac;
|
||||
onMac ? SEND_STRING("On mac") : SEND_STRING("Not on MAC");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_qwerty);
|
||||
#endif
|
||||
layer_on(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
}
|
||||
return false;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
// == Macros START ===
|
||||
case IARROW: if (record->event.pressed) SEND_STRING("<-"); return false;
|
||||
case ARROW: if (record->event.pressed) SEND_STRING("->"); return false;
|
||||
case F_ARROW: if (record->event.pressed) SEND_STRING("=>"); return false;
|
||||
case GREP: if (record->event.pressed) SEND_STRING(" | grep "); return false;
|
||||
case CLN_EQ: if (record->event.pressed) SEND_STRING(":="); return false;
|
||||
// == Macros END ===
|
||||
// == Multi Os START ===
|
||||
case KC_HOME:// make the home behave the same on OSX
|
||||
if (record->event.pressed && onMac) {
|
||||
SEND_STRING(SS_LCTRL("a"));
|
||||
return false;
|
||||
}
|
||||
case KC_END:// make the end behave the same on OSX
|
||||
if (record->event.pressed && onMac) {
|
||||
tap_code16(C(KC_E));
|
||||
return false;
|
||||
}
|
||||
case AC_A:// Accent á
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "a"); return false;
|
||||
case AC_E:// Accent é
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "e"); return false;
|
||||
case AC_I:// Accent í
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "i"); return false;
|
||||
case AC_O:// Accent ó
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "o"); return false;
|
||||
case CUT: if (record->event.pressed) return CMD(KC_X);
|
||||
case COPY:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c"));
|
||||
}
|
||||
return false;
|
||||
case PASTE:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v"));
|
||||
}
|
||||
return false;
|
||||
case SAVE:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTRL("s"));
|
||||
}
|
||||
return false;
|
||||
case UNDO:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTRL("z"));
|
||||
}
|
||||
return false;
|
||||
case FIND:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTRL("f"));
|
||||
}
|
||||
return false;
|
||||
case CHG_LAYOUT:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f"));
|
||||
}
|
||||
return false;
|
||||
// == Multi Os END ===
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
case RGB_SLD:
|
||||
if (record->event.pressed) { rgblight_mode(1); }
|
||||
return false;
|
||||
break;
|
||||
//First time alt + tab, and alt stays sticky. Next press we just send tab. Any other key releases the alt
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_SONG(tone_qwerty);
|
||||
#endif
|
||||
}
|
||||
// =============== ALT_TAB single key handling
|
||||
return process_alt_tab(keycode, record);
|
||||
layer_on(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
}
|
||||
return false;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
// == Macros START ===
|
||||
case IARROW:
|
||||
if (record->event.pressed) SEND_STRING("<-");
|
||||
return false;
|
||||
case ARROW:
|
||||
if (record->event.pressed) SEND_STRING("->");
|
||||
return false;
|
||||
case F_ARROW:
|
||||
if (record->event.pressed) SEND_STRING("=>");
|
||||
return false;
|
||||
case GREP:
|
||||
if (record->event.pressed) SEND_STRING(" | grep ");
|
||||
return false;
|
||||
case CLN_EQ:
|
||||
if (record->event.pressed) SEND_STRING(":=");
|
||||
return false;
|
||||
// == Macros END ===
|
||||
// == Multi Os START ===
|
||||
case KC_HOME: // make the home behave the same on OSX
|
||||
if (record->event.pressed && onMac) {
|
||||
SEND_STRING(SS_LCTRL("a"));
|
||||
return false;
|
||||
}
|
||||
case KC_END: // make the end behave the same on OSX
|
||||
if (record->event.pressed && onMac) {
|
||||
tap_code16(C(KC_E));
|
||||
return false;
|
||||
}
|
||||
case AC_A: // Accent á
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "a");
|
||||
return false;
|
||||
case AC_E: // Accent é
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "e");
|
||||
return false;
|
||||
case AC_I: // Accent í
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "i");
|
||||
return false;
|
||||
case AC_O: // Accent ó
|
||||
if (record->event.pressed) SEND_STRING(SS_LALT("e") "o");
|
||||
return false;
|
||||
case CUT:
|
||||
if (record->event.pressed) return CMD(KC_X);
|
||||
case COPY:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("c")) : SEND_STRING(SS_LCTRL("c"));
|
||||
}
|
||||
return false;
|
||||
case PASTE:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("v")) : SEND_STRING(SS_LCTRL("v"));
|
||||
}
|
||||
return false;
|
||||
case SAVE:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("s")) : SEND_STRING(SS_LCTRL("s"));
|
||||
}
|
||||
return false;
|
||||
case UNDO:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("z")) : SEND_STRING(SS_LCTRL("z"));
|
||||
}
|
||||
return false;
|
||||
case REDO:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI(SS_LSFT("z"))) : SEND_STRING(SS_LCTRL("y"));
|
||||
}
|
||||
return false;
|
||||
case FIND:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LGUI("f")) : SEND_STRING(SS_LCTRL("f"));
|
||||
}
|
||||
return false;
|
||||
case WIN_TO_RIGHT:
|
||||
if (record->event.pressed) {
|
||||
onMac ? tap_code16(SGUI(A(KC_RIGHT))) : tap_code16(G(KC_RIGHT));
|
||||
}
|
||||
return false;
|
||||
case WIN_TO_LEFT:
|
||||
if (record->event.pressed) {
|
||||
onMac ? tap_code16(SGUI(A(KC_LEFT))) : tap_code16(G(KC_LEFT));
|
||||
}
|
||||
return false;
|
||||
case CHG_LAYOUT:
|
||||
if (record->event.pressed) {
|
||||
onMac ? SEND_STRING(SS_LCTRL(" ")) : SEND_STRING(SS_LCTRL("f"));
|
||||
}
|
||||
return false;
|
||||
// == Multi Os END ===
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
case RGB_SLD:
|
||||
if (record->event.pressed) {
|
||||
rgblight_mode(1);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
// First time alt + tab, and alt stays sticky. Next press we just send tab. Any other key releases the alt
|
||||
#endif
|
||||
}
|
||||
// =============== ALT_TAB single key handling
|
||||
return process_alt_tab(keycode, record);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue