summaryrefslogtreecommitdiffstats
path: root/users/danielo515/process_records.c
diff options
context:
space:
mode:
authorDaniel Rodríguez Rivero <rdanielo@gmail.com>2020-09-06 22:13:18 +0200
committerGitHub <noreply@github.com>2020-09-06 13:13:18 -0700
commit8ac9940a76f09d4a47be342fc123306ecbfb27f3 (patch)
treec7cf84279d073af479185c682fdb65991847cb0e /users/danielo515/process_records.c
parentac24f203cc4141d6d27f27dc173e04fc5edde741 (diff)
[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>
Diffstat (limited to 'users/danielo515/process_records.c')
-rw-r--r--users/danielo515/process_records.c247
1 files changed, 140 insertions, 107 deletions
diff --git a/users/danielo515/process_records.c b/users/danielo515/process_records.c
index b1a8b92552..22a46789ad 100644
--- a/users/danielo515/process_records.c
+++ b/users/danielo515/process_records.c
@@ -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 ===
+ 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 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
+ 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);
+ }
+ // =============== ALT_TAB single key handling
+ return process_alt_tab(keycode, record);
};
-
-
-