aboutsummaryrefslogtreecommitdiffstats
path: root/users
diff options
context:
space:
mode:
Diffstat (limited to 'users')
-rw-r--r--users/danielo515/combo.c44
-rw-r--r--users/danielo515/config.h4
-rw-r--r--users/danielo515/process_records.c247
-rw-r--r--users/danielo515/process_records.h94
4 files changed, 216 insertions, 173 deletions
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))