From 8ac9940a76f09d4a47be342fc123306ecbfb27f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Rodr=C3=ADguez=20Rivero?= <rdanielo@gmail.com>
Date: Sun, 6 Sep 2020 22:13:18 +0200
Subject: [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>
---
 users/danielo515/combo.c           |  44 ++++---
 users/danielo515/config.h          |   4 +-
 users/danielo515/process_records.c | 247 +++++++++++++++++++++----------------
 users/danielo515/process_records.h |  94 +++++++-------
 4 files changed, 216 insertions(+), 173 deletions(-)

(limited to 'users')

diff --git a/users/danielo515/combo.c b/users/danielo515/combo.c
index 1c8414377..b33cb838b 100644
--- a/users/danielo515/combo.c
+++ b/users/danielo515/combo.c
@@ -6,31 +6,39 @@ enum combos {
     UI_COM,
     IO_COM,
     QW_COM,
-    COM_SLS,
+    DOT_SLS,
     COM_DOT,
     M_COMM,
     N_M,
     OP_COM,
+    M_CM_DOT,
 };
 
-const uint16_t PROGMEM ui_combo[] = {KC_U, KC_I, COMBO_END};
-const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END};
-const uint16_t PROGMEM yu_combo[] = {KC_Y, KC_U, COMBO_END};
-const uint16_t PROGMEM io_combo[] = {KC_I, KC_O, COMBO_END};
-const uint16_t PROGMEM qw_combo[] = {KC_Q, KC_W, COMBO_END};
-const uint16_t PROGMEM com_sls[] = {KC_COMMA, KC_SLSH, COMBO_END};
-const uint16_t PROGMEM com_dot[] = {KC_COMMA, KC_DOT, COMBO_END};
-const uint16_t PROGMEM m_comm[] = {KC_M,KC_COMMA,  COMBO_END};
-const uint16_t PROGMEM n_m[] = {KC_N, KC_M,COMBO_END};
+const uint16_t PROGMEM ui_combo[]              = {KC_U, KC_I, COMBO_END};
+const uint16_t PROGMEM jk_combo[]              = {KC_J, KC_K, COMBO_END};
+const uint16_t PROGMEM yu_combo[]              = {KC_Y, KC_U, COMBO_END};
+const uint16_t PROGMEM io_combo[]              = {KC_I, KC_O, COMBO_END};
+const uint16_t PROGMEM qw_combo[]              = {KC_Q, KC_W, COMBO_END};
+const uint16_t PROGMEM dot_sls[]               = {KC_DOT, KC_SLSH, COMBO_END};
+const uint16_t PROGMEM com_dot[]               = {KC_COMMA, KC_DOT, COMBO_END};
+const uint16_t PROGMEM m_comm[]                = {KC_M, KC_COMMA, COMBO_END};
+const uint16_t PROGMEM n_m[]                   = {KC_N, KC_M, COMBO_END};
+const uint16_t PROGMEM o_p_combo[]             = {KC_O, KC_P, COMBO_END};
+const uint16_t PROGMEM m_cm_dot_combo[]        = {KC_M, KC_COMMA, KC_DOT, COMBO_END};
 
 combo_t key_combos[COMBO_COUNT] = {
-    [JK_ESC] = COMBO(jk_combo, KC_ESC),
-    [YU_COM] = COMBO(yu_combo, KC_CIRC),
-    [UI_COM] = COMBO(ui_combo, KC_DLR),
-    [IO_COM] = COMBO(io_combo, KC_TILD),
+    [JK_ESC]   = COMBO(jk_combo, KC_ESC),
+    [YU_COM]   = COMBO(yu_combo, KC_AMPR),
+    [UI_COM]   = COMBO(ui_combo, KC_CIRC),
+    [IO_COM]   = COMBO(io_combo, KC_TILD),
+    [DOT_SLS]  = COMBO(dot_sls, KC_EXLM),
+    [COM_DOT]  = COMBO(com_dot, KC_QUES),
+    [N_M]      = COMBO(n_m, KC_DLR),
+    [OP_COM]   = COMBO(o_p_combo, KC_HASH),
+    // m + , = {
+    [M_COMM]   = COMBO(m_comm, KC_LCBR),
+    // m + , + . = }
+    // [M_CM_DOT] = COMBO(m_cm_dot_combo, KC_RCBR),
+    // Right hand side combos
     [QW_COM] = COMBO(qw_combo, KC_AT),
-    [COM_SLS] = COMBO(com_sls, KC_QUES),
-    [COM_DOT] = COMBO(com_dot, KC_QUES),
-    [M_COMM] = COMBO(m_comm, KC_ESC),
-    [N_M] = COMBO(n_m, KC_DLR),
 };
diff --git a/users/danielo515/config.h b/users/danielo515/config.h
index fb2472645..d7efcd536 100644
--- a/users/danielo515/config.h
+++ b/users/danielo515/config.h
@@ -1,8 +1,8 @@
 #pragma once
 
 #if defined(COMBO_ENABLE)
-  #define COMBO_COUNT 9
-  #define COMBO_TERM  40
+#    define COMBO_COUNT 11
+#    define COMBO_TERM  25
 #endif // !COMBO_ENABLE
 // Timeout settings for leader key
 #undef  LEADER_TIMEOUT
diff --git a/users/danielo515/process_records.c b/users/danielo515/process_records.c
index b1a8b9255..22a46789a 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);
 };
-
-
-
diff --git a/users/danielo515/process_records.h b/users/danielo515/process_records.h
index c994511a5..0efd690d4 100644
--- a/users/danielo515/process_records.h
+++ b/users/danielo515/process_records.h
@@ -1,35 +1,36 @@
 #pragma once
 #include "quantum.h"
 
-enum custom_keycodes
-{
-    EPRM = SAFE_RANGE, 
-    RGB_SLD,
+enum custom_keycodes {
+    RGB_SLD = SAFE_RANGE,
     ALT_TAB,
     QWERTY,
     SYM,
     NAV,
     ADJUST,
-// Macros
+    // Macros
     ARROW,
     IARROW,
     CLN_EQ,
     F_ARROW,
     GREP,
-// Accented characters
+    // Accented characters
     AC_A,
     AC_E,
     AC_I,
     AC_O,
-// Custom multi-os key-codes
+    // Custom multi-os key-codes
     CUT,
     COPY,
     PASTE,
     SAVE,
     UNDO,
+    REDO,
     CHG_LAYOUT,
     FIND,
-// OTHER OLD STUFF
+    WIN_TO_LEFT,
+    WIN_TO_RIGHT,
+    // OTHER OLD STUFF
     LOWER,
     RAISE,
     MAC_TGL,
@@ -57,48 +58,49 @@ enum layers {
 };
 
 //===== Function letters
-# define FN_F LT(_F,KC_F)
-# define FN_D LT(_D,KC_D)
-# define FN_S LT(_S,KC_S)
-# define FN_A LT(_A,KC_A)
-# define FN_K LT(_K,KC_K)
-# define FN_J LT(_J,KC_J)
-# define KC_FN_D FN_D
-# define KC_FN_S FN_S
-# define KC_FN_F FN_F
+#define FN_F LT(_F, KC_F)
+#define FN_D LT(_D, KC_D)
+#define FN_S LT(_S, KC_S)
+#define FN_A LT(_A, KC_A)
+#define FN_K LT(_K, KC_K)
+#define FN_J LT(_J, KC_J)
+#define KC_FN_D FN_D
+#define KC_FN_S FN_S
+#define KC_FN_F FN_F
 
-# define KC_MACROS OSL(_MACROS)
+#define KC_MACROS OSL(_MACROS)
 
-
-# define KC_E_COLN LSFT(KC_DOT)
-# define KC_E_EQL ES_EQL
-# define KC_GUI OSM(MOD_RGUI)
-# define KC_R_NUB S(KC_NUBS)
-# define KC_E_LT KC_NUBS
-# define KC_E_GT S(KC_NUBS)
-# define KC_E_TILD ES_TILD
-# define KC_E_MINS ES_MINS
-# define KC_E_OVRR ES_OVRR
-# define KC_E_APOS ES_APOS
-# define KC_E_IEXL ES_IEXL
+#define KC_E_COLN LSFT(KC_DOT)
+#define KC_E_EQL ES_EQL
+#define KC_GUI OSM(MOD_RGUI)
+#define KC_R_NUB S(KC_NUBS)
+#define KC_E_LT KC_NUBS
+#define KC_E_GT S(KC_NUBS)
+#define KC_E_TILD ES_TILD
+#define KC_E_MINS ES_MINS
+#define KC_E_OVRR ES_OVRR
+#define KC_E_APOS ES_APOS
+#define KC_E_IEXL ES_IEXL
 //==========  Short hand for complex key combinations
-# define WIN_LEFT_HALF LALT(LGUI(KC_LEFT))
-# define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT))
-# define WIN_TO_LEFT LALT(LSFT( LGUI(KC_LEFT) ))
-# define WIN_TO_RIGHT LALT(LSFT( LGUI(KC_RIGHT) ))
-# define ALL_WIN LCTL(KC_DOWN)
-# define EXPOSE LGUI(KC_DOWN)
+#define WIN_LEFT_HALF LALT(LGUI(KC_LEFT))
+#define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT))
+#define ALL_WIN LCTL(KC_DOWN)
+#define EXPOSE LGUI(KC_DOWN)
 // ========== Modifiers!!
-# define SHIFT OSM(MOD_LSFT)
+#define SHIFT OSM(MOD_LSFT)
 //=============== tap for key hold for mod
-# define HYPR_H HYPR_T(KC_H)
-# define CTL_K RCTL_T(KC_K)
-# define ALT_J ALT_T(KC_J)
-# define SFT_MINS LSFT_T(KC_MINS) // tap - hold shift
-# define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd
+#define HYPR_H HYPR_T(KC_H)
+#define CTL_K RCTL_T(KC_K)
+#define ALT_J ALT_T(KC_J)
+#define SFT_MINS LSFT_T(KC_MINS)   // tap - hold shift
+#define CMD_MINS GUI_T(KC_MINS)    // tap - hold cmd
+#define CMD_QUOT GUI_T(KC_QUOTE)   // tap ' hold cmd
+#define SFT_QUOT LSFT_T(KC_QUOTE)  // tap ' hold shift
 //=============== Movement modified
-# define CTL_LEFT LCTL(KC_LEFT)
-# define CTL_RIGHT LCTL(KC_RIGHT)
+#define CTL_LEFT LCTL(KC_LEFT)
+#define CTL_RIGHT LCTL(KC_RIGHT)
 
-# define SFT_LEFT LSFT(KC_LEFT)
-# define SFT_RIGHT LSFT(KC_RIGHT)
+#define SFT_LEFT LSFT(KC_LEFT)
+#define SFT_RIGHT LSFT(KC_RIGHT)
+#define SFT_LEFT_END LGUI(LSFT(KC_LEFT))
+#define SFT_RIGHT_END LGUI(LSFT(KC_RIGHT))
-- 
cgit v1.2.3