Basically reverting back to an old keymap
- removed most combos and all key overrides - implemented custom override for haptic and audio config - went back to older keymap (e.g. backspace and del on most layers) - reintroduced dedicated mouse button on thumb cluster - mouse button 2 is now a combo
This commit is contained in:
		
							parent
							
								
									db534a12b8
								
							
						
					
					
						commit
						bd72a9b350
					
				
					 14 changed files with 141 additions and 201 deletions
				
			
		| 
						 | 
				
			
			@ -43,7 +43,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		|||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_RGHT, KC_LEFT)  },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___)  },
 | 
			
		||||
  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)  },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(TR_RMOD, TR_RRMD)  }
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(BASELYR, RBSELYR), ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) }
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,10 +24,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
	          k32, k33, k34, k35, k36, k37            \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_cnano_wrapper ( \
 | 
			
		||||
	k00, k01, k02,     k03, k04, k05, k06, k07, k08, k09, \
 | 
			
		||||
	k10, k11, k12,     k13, k14, k15, k16, k17, k18, k19, \
 | 
			
		||||
	k20, k21, k22,     k23, k24, k25, k26, k27, k28, k29, \
 | 
			
		||||
	          KC_BTN1, k33, k34, k35, k36                 \
 | 
			
		||||
	k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
 | 
			
		||||
	k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
 | 
			
		||||
	k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
 | 
			
		||||
	          k32, k33, k34, k35, k36                 \
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
#define CNANO(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,14 +52,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
/* The encoder presses are handled in the keymap */
 | 
			
		||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		||||
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN),  ENCODER_CCW_CW(___x___, ___x___)  },
 | 
			
		||||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)  },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___)  },
 | 
			
		||||
  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD)  }
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
 | 
			
		||||
  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(RBSELYR, BASELYR) }
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,10 +24,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
	          k32, k33, k34, k35, k36, k37            \
 | 
			
		||||
) \
 | 
			
		||||
LAYOUT_crkbd_wrapper ( \
 | 
			
		||||
	KC_NO, k00, k01, k02,     k03, k04, k05, k06, k07,    k08, k09, KC_NO, \
 | 
			
		||||
	KC_NO, k10, k11, k12,     k13, k14, k15, k16, k17,    k18, k19, KC_NO, \
 | 
			
		||||
	KC_NO, k20, k21, k22,     k23, k24, k25, k26, k27,    k28, k29, KC_NO, \
 | 
			
		||||
	                 KC_BTN1, k33, k34, k35, k36, KC_BTN4                  \
 | 
			
		||||
	KC_NO, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, KC_NO, \
 | 
			
		||||
	KC_NO, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, KC_NO, \
 | 
			
		||||
	KC_NO, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, KC_NO, \
 | 
			
		||||
	                 k32, k33, k34, k35, k36, k37                   \
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
#define CRKBD(...) LAYOUT_3x5_3_keymap(__VA_ARGS__)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,14 +35,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 | 
			
		||||
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
 | 
			
		||||
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN),  ENCODER_CCW_CW(___x___, ___x___)  },
 | 
			
		||||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)  },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___)  },
 | 
			
		||||
  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD)  }
 | 
			
		||||
  [_QWERTY]     = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD,  KC_VOLU)  },
 | 
			
		||||
  [_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD,  KC_VOLU)  },
 | 
			
		||||
  [_GAME]       = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD,  KC_VOLU)  },
 | 
			
		||||
  [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN),  ENCODER_CCW_CW(___x___,  ___x___)  },
 | 
			
		||||
  [_NUMBER]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT,  KC_RGHT)  },
 | 
			
		||||
  [_SYMBOL]     = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___,  ___x___)  },
 | 
			
		||||
  [_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD,  KC_VOLU)  },
 | 
			
		||||
  [_CONFIG]     = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)  }
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,12 +25,16 @@
 | 
			
		|||
*  https://docs.qmk.fm/tap_hold
 | 
			
		||||
*  https://docs.qmk.fm/one_shot_keys
 | 
			
		||||
*/
 | 
			
		||||
#define TAP_CODE_DELAY 5                    //time before tap is released
 | 
			
		||||
#define TAP_HOLD_CAPS_DELAY TAP_CODE_DELAY  //turning down delay for caps lock so ploopy can do DPI switching
 | 
			
		||||
#define WAIT_DELAY 5                        //custom variable to configure time between taps
 | 
			
		||||
#undef TAP_CODE_DELAY
 | 
			
		||||
#undef TAPPING_TERM
 | 
			
		||||
#undef QUICK_TAP_TERM
 | 
			
		||||
 | 
			
		||||
#undef ONESHOT_TAP_TOGGLE
 | 
			
		||||
#undef ONESHOT_TIMEOUT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define TAP_CODE_DELAY 5
 | 
			
		||||
#define TAPPING_TERM 175
 | 
			
		||||
 | 
			
		||||
#define QUICK_TAP_TERM 120
 | 
			
		||||
 | 
			
		||||
#define ONESHOT_TAP_TOGGLE 3
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +50,9 @@
 | 
			
		|||
*  #undef CAPS_WORD_INVERT_ON_SHIFT
 | 
			
		||||
*/
 | 
			
		||||
#if defined(CAPS_WORD_ENABLE)
 | 
			
		||||
#  undef DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
 | 
			
		||||
#  undef CAPS_WORD_IDLE_TIMEOUT
 | 
			
		||||
 | 
			
		||||
#  define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
 | 
			
		||||
#  define CAPS_WORD_IDLE_TIMEOUT 2000
 | 
			
		||||
#endif //CAPS_WORD_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -56,12 +63,14 @@
 | 
			
		|||
*  https://docs.qmk.fm/features/combo
 | 
			
		||||
*/
 | 
			
		||||
#if defined(COMBO_ENABLE)
 | 
			
		||||
#  undef COMBO_ONLY_FROM_LAYER
 | 
			
		||||
#  undef EXTRA_SHORT_COMBOS
 | 
			
		||||
#  undef COMBO_TERM
 | 
			
		||||
#  undef COMBO_SHOULD_TRIGGER
 | 
			
		||||
 | 
			
		||||
#  define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
 | 
			
		||||
#  define EXTRA_SHORT_COMBOS
 | 
			
		||||
 | 
			
		||||
#  define COMBO_TERM 35
 | 
			
		||||
 | 
			
		||||
#  define COMBO_MUST_TAP_PER_COMBO
 | 
			
		||||
#  define COMBO_SHOULD_TRIGGER
 | 
			
		||||
#endif //COMBO_ENABLE
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -71,6 +80,15 @@
 | 
			
		|||
*  https://docs.qmk.fm/features/split_keyboard
 | 
			
		||||
*/
 | 
			
		||||
#if defined(SPLIT_KEYBOARD)
 | 
			
		||||
#  undef SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#  undef SPLIT_LAYER_STATE_ENABLE
 | 
			
		||||
#  undef SPLIT_LED_STATE_ENABLE
 | 
			
		||||
#  undef SPLIT_MODS_ENABLE
 | 
			
		||||
#  undef SPLIT_OLED_ENABLE
 | 
			
		||||
#  undef SPLIT_ACTIVITY_ENABLE
 | 
			
		||||
#  undef SPLIT_WPM_ENABLE
 | 
			
		||||
#  undef MASTER_RIGHT
 | 
			
		||||
 | 
			
		||||
#  define SPLIT_TRANSPORT_MIRROR
 | 
			
		||||
#  define SPLIT_LAYER_STATE_ENABLE
 | 
			
		||||
#  define SPLIT_LED_STATE_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -87,6 +105,9 @@
 | 
			
		|||
*  https://docs.qmk.fm/features/oled_driver
 | 
			
		||||
*/
 | 
			
		||||
#if defined(OLED_ENABLE)
 | 
			
		||||
#  undef OLED_TIMEOUT
 | 
			
		||||
#  undef OLED_FONT_H
 | 
			
		||||
 | 
			
		||||
#  define OLED_TIMEOUT 60000 //1 min
 | 
			
		||||
#  define OLED_FONT_H "./lib/font.c"
 | 
			
		||||
#endif //OLED_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -98,6 +119,9 @@
 | 
			
		|||
*/
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
#  if defined(HAPTIC_DRV2605L)
 | 
			
		||||
#    undef DRV2605L_GREETING
 | 
			
		||||
#    undef DRV2605L_DEFAULT_MODE
 | 
			
		||||
 | 
			
		||||
#    define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100
 | 
			
		||||
#    define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100
 | 
			
		||||
#  endif //HAPTIC_DRV2605L
 | 
			
		||||
| 
						 | 
				
			
			@ -110,9 +134,16 @@
 | 
			
		|||
*  https://docs.qmk.fm/squeezing_avr#audio-settings
 | 
			
		||||
*/
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
#  undef KLOR_SOUND
 | 
			
		||||
#  undef BYE_SOUND
 | 
			
		||||
#  undef NO_MUSIC_MODE
 | 
			
		||||
#  undef AUDIO_CLICKY
 | 
			
		||||
#  undef STARTUP_SONG
 | 
			
		||||
#  undef GOODBYE_SONG
 | 
			
		||||
#  undef DEFAULT_LAYER_SONGS
 | 
			
		||||
 | 
			
		||||
#  define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
 | 
			
		||||
#  define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
 | 
			
		||||
 | 
			
		||||
#  define NO_MUSIC_MODE
 | 
			
		||||
#  define AUDIO_CLICKY
 | 
			
		||||
#  define STARTUP_SONG SONG(KLOR_SOUND)
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +161,20 @@
 | 
			
		|||
*  https://docs.qmk.fm/features/rgb_matrix
 | 
			
		||||
*/
 | 
			
		||||
#if defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
#  undef  RGB_MATRIX_DEFAULT_VAL
 | 
			
		||||
#  undef RGB_MATRIX_SLEEP
 | 
			
		||||
#  undef RGB_MATRIX_TIMEOUT
 | 
			
		||||
 | 
			
		||||
#  undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
 | 
			
		||||
#  undef RGB_MATRIX_DEFAULT_HUE
 | 
			
		||||
#  undef RGB_MATRIX_DEFAULT_SAT
 | 
			
		||||
#  undef RGB_MATRIX_DEFAULT_VAL
 | 
			
		||||
#  undef RGB_MATRIX_DEFAULT_SPD
 | 
			
		||||
 | 
			
		||||
#  undef RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS
 | 
			
		||||
#  undef RGB_MATRIX_TYPING_HEATMAP_SPREAD
 | 
			
		||||
#  undef RGB_MATRIX_TYPING_HEATMAP_AREA_LIMIT
 | 
			
		||||
#  undef RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#  define RGB_MATRIX_SLEEP
 | 
			
		||||
#  define RGB_MATRIX_TIMEOUT 60000 //1 min
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,25 +1,11 @@
 | 
			
		|||
#include "combo.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
 | 
			
		||||
  switch (index) {
 | 
			
		||||
    case KEY_ENT:
 | 
			
		||||
    case KEY_TAB:
 | 
			
		||||
      return true;
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      return false;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  // disable all combos on config layer
 | 
			
		||||
  if ( get_highest_layer(layer_state | default_layer_state) == _CONFIG ) return false;
 | 
			
		||||
 | 
			
		||||
  switch (combo_index) {
 | 
			
		||||
    case MOUSE_BUTTON1:
 | 
			
		||||
    case MOUSE_BUTTON2:
 | 
			
		||||
      if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,20 +2,12 @@
 | 
			
		|||
#include "t4corun.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM mou_btn1_combo[] = { KC_C,    KC_V,    COMBO_END };
 | 
			
		||||
const uint16_t PROGMEM mou_btn2_combo[] = { KC_C,    KC_V,    COMBO_END };
 | 
			
		||||
const uint16_t PROGMEM mou_drg_combo[]  = { KC_X,    KC_V,    COMBO_END };
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM key_ent_combo[]  = { KC_D,    KC_F,    COMBO_END };
 | 
			
		||||
const uint16_t PROGMEM key_bspc_combo[] = { KC_M,    TR_COMM, COMBO_END };
 | 
			
		||||
const uint16_t PROGMEM key_tab_combo[]  = { KC_J,    KC_K,    COMBO_END };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
enum combos {
 | 
			
		||||
  MOUSE_BUTTON1,
 | 
			
		||||
  MOUSE_BUTTON2,
 | 
			
		||||
  MOUSE_DRGTOG,
 | 
			
		||||
  KEY_ENT,
 | 
			
		||||
  KEY_BSPC,
 | 
			
		||||
  KEY_TAB,
 | 
			
		||||
  COMBO_LENGTH
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -23,9 +15,6 @@ enum combos {
 | 
			
		|||
uint16_t COMBO_LEN = COMBO_LENGTH;
 | 
			
		||||
 | 
			
		||||
combo_t key_combos[COMBO_LENGTH] = {
 | 
			
		||||
  [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
 | 
			
		||||
  [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS),
 | 
			
		||||
  [KEY_ENT]      = COMBO(key_ent_combo,  KC_ENT),
 | 
			
		||||
  [KEY_BSPC]     = COMBO(key_bspc_combo, KC_BSPC),
 | 
			
		||||
  [KEY_TAB]      = COMBO(key_tab_combo,  KC_TAB)
 | 
			
		||||
  [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
 | 
			
		||||
  [MOUSE_DRGTOG]  = COMBO(mou_drg_combo,  TR_DRGS)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,41 +0,0 @@
 | 
			
		|||
#include "keyoverride.h"
 | 
			
		||||
 | 
			
		||||
/* 
 | 
			
		||||
Key Override
 | 
			
		||||
 Here we will override some shifted versions of keys
 | 
			
		||||
 https://docs.qmk.fm/#/feature_key_overrides?id=simple-example
 | 
			
		||||
 | 
			
		||||
Intentionally did not convert all the override/autoshit tap holds to this format
 | 
			
		||||
- Here I could type faster and be able to hold to repeat the keycodes however
 | 
			
		||||
- I had tons of same finger bigrams doing trying to get ~ and :
 | 
			
		||||
- I didn't feel the need to be able to repeat those symbols
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const key_override_t delete_override     = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL);
 | 
			
		||||
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
const key_override_t hfnext_override     = ko_make_with_layers(MOD_MASK_SHIFT, HF_NEXT, HF_PREV, 1<<_CONFIG);
 | 
			
		||||
const key_override_t hfconu_override     = ko_make_with_layers(MOD_MASK_SHIFT, HF_CONU, HF_COND, 1<<_CONFIG);
 | 
			
		||||
#endif //HAPTIC_ENABLE
 | 
			
		||||
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
const key_override_t ckup_override       = ko_make_with_layers(MOD_MASK_SHIFT, CK_UP,   CK_DOWN, 1<<_CONFIG);
 | 
			
		||||
#endif //AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
const key_override_t **key_overrides = (const key_override_t *[]) {
 | 
			
		||||
 | 
			
		||||
  &delete_override,
 | 
			
		||||
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
  &hfnext_override,
 | 
			
		||||
  &hfconu_override,
 | 
			
		||||
#endif //HAPTIC_ENABLE
 | 
			
		||||
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
  &ckup_override,
 | 
			
		||||
#endif //AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
  NULL // Null terminate the array of overrides!
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "t4corun.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -31,11 +31,11 @@ bool process_tap_hold_key(keyrecord_t* record, uint16_t tap_keycode, uint16_t ho
 | 
			
		|||
    switch (mode) {
 | 
			
		||||
 | 
			
		||||
      case HOLD_BRACKETS:
 | 
			
		||||
        record->event.pressed ? insert_brackets(tap_keycode, hold_keycode, WAIT_DELAY) : 0;
 | 
			
		||||
        record->event.pressed ? insert_brackets(tap_keycode, hold_keycode, TAP_CODE_DELAY) : 0;
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
      case HOLD_DOUBLETP:
 | 
			
		||||
        record->event.pressed ? double_tap(tap_keycode, WAIT_DELAY) : 0;
 | 
			
		||||
        record->event.pressed ? double_tap(tap_keycode, TAP_CODE_DELAY) : 0;
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
      default:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,9 +33,8 @@ WPM_ENABLE ?= yes
 | 
			
		|||
# qmk features we will force as these are critical for my workflow
 | 
			
		||||
EXTRAKEY_ENABLE ?= yes
 | 
			
		||||
CAPS_WORD_ENABLE ?= yes
 | 
			
		||||
MOUSEKEY_ENABLE ?= yes
 | 
			
		||||
MOUSEKEY_ENABLE = yes
 | 
			
		||||
COMBO_ENABLE ?= yes
 | 
			
		||||
KEY_OVERRIDE_ENABLE ?= yes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# ---------------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			@ -52,10 +51,6 @@ ifeq ($(strip $(COMBO_ENABLE)), yes)
 | 
			
		|||
  INTROSPECTION_KEYMAP_C += features/combo.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(KEY_OVERRIDE_ENABLE)), yes)
 | 
			
		||||
  SRC += features/keyoverride.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(CAPS_WORD_ENABLE)), yes)
 | 
			
		||||
  SRC += features/capsword.c
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,12 @@
 | 
			
		|||
#include "t4corun.h"
 | 
			
		||||
 | 
			
		||||
// Keeps track of base layer so we can make one key to cycle through them
 | 
			
		||||
// instead of making a key for each one */
 | 
			
		||||
static uint8_t current_base_layer  = FIRST_DEFAULT_LAYER;
 | 
			
		||||
 | 
			
		||||
// Keeps track of base layer so only one key is needed 
 | 
			
		||||
// to cycle through them vs making three individual ones
 | 
			
		||||
static uint8_t current_base_layer = FIRST_DEFAULT_LAYER;
 | 
			
		||||
 | 
			
		||||
// keep track of current mods to override existing keys
 | 
			
		||||
static uint8_t current_mods;
 | 
			
		||||
 | 
			
		||||
// Luna Pet Variables
 | 
			
		||||
static bool isJumping = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -25,6 +29,8 @@ layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		|||
// Customize behavior for existing keycodes or create new ones
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
 | 
			
		||||
  current_mods = get_mods() | get_oneshot_mods();
 | 
			
		||||
  
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
 | 
			
		||||
    // use the host state status to boot the Ploopy Nano
 | 
			
		||||
| 
						 | 
				
			
			@ -90,6 +96,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
    case TR_HNXT:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        if( current_mods & MOD_MASK_SHIFT ) {
 | 
			
		||||
          haptic_mode_decrease();
 | 
			
		||||
        } else {
 | 
			
		||||
          haptic_mode_increase();
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
    case TR_CKUP:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        if( current_mods & MOD_MASK_SHIFT ) {
 | 
			
		||||
          clicky_freq_down();
 | 
			
		||||
        } else {
 | 
			
		||||
          clicky_freq_up();
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //https://docs.qmk.fm/#/mod_tap?id=changing-both-tasp-and-hold
 | 
			
		||||
    //https://getreuer.info/posts/keyboards/triggers/index.html#tap-vs.-long-press
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,10 @@ enum keycodes {
 | 
			
		|||
  TH_SCLN,
 | 
			
		||||
  TH_QUOT,
 | 
			
		||||
 | 
			
		||||
  PN_BOOT,
 | 
			
		||||
  PN_BOOT,  // Press to enter Ploopy Nano Bootloader
 | 
			
		||||
 | 
			
		||||
  TR_HNXT,  // HF_NEXT or HF_PREV when shift is held
 | 
			
		||||
  TR_CKUP,  // CK_UP or CK_DOWN when shift is held
 | 
			
		||||
 | 
			
		||||
  BASELYR,
 | 
			
		||||
  RBSELYR
 | 
			
		||||
| 
						 | 
				
			
			@ -71,11 +74,6 @@ enum keycodes {
 | 
			
		|||
#define SC_SNIP LGUI(LSFT(KC_S))
 | 
			
		||||
#define SC_FILE LGUI(KC_E)
 | 
			
		||||
 | 
			
		||||
// Zoom for encoders
 | 
			
		||||
#define ZOOMIN  LCTL(KC_WH_U)
 | 
			
		||||
#define ZOOMOUT LCTL(KC_WH_D)
 | 
			
		||||
#define ZOOMRST LCTL(KC_0)
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
 | 
			
		||||
- If the feature is disabled then the key is just the normal key
 | 
			
		||||
| 
						 | 
				
			
			@ -130,66 +128,6 @@ enum keycodes {
 | 
			
		|||
#endif //KEYBOARD_bastardkb_charybdis_3x5
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(DYNAMIC_MACRO_ENABLE)
 | 
			
		||||
#  define TR_DMR1 DM_REC1
 | 
			
		||||
#  define TR_DMP1 DM_PLY1
 | 
			
		||||
#  define TR_DMR2 DM_REC2
 | 
			
		||||
#  define TR_DMP2 DM_PLY2
 | 
			
		||||
#else
 | 
			
		||||
#  define TR_DMR1 ___x___
 | 
			
		||||
#  define TR_DMP1 ___x___
 | 
			
		||||
#  define TR_DMR2 ___x___
 | 
			
		||||
#  define TR_DMP2 ___x___
 | 
			
		||||
#endif //DYNAMIC_MACRO_ENABLE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
 | 
			
		||||
#  define TR_RHUI RGB_HUI
 | 
			
		||||
#  define TR_RSAI RGB_SAI
 | 
			
		||||
#  define TR_RVAI RGB_VAI
 | 
			
		||||
#  define TR_RSPI RGB_SPI
 | 
			
		||||
#  define TR_RTOG RGB_TOG
 | 
			
		||||
#  define TR_RMOD RGB_MOD
 | 
			
		||||
#  define TR_RRMD RGB_RMOD
 | 
			
		||||
#else
 | 
			
		||||
#  define TR_RHUI ___x___
 | 
			
		||||
#  define TR_RSAI ___x___
 | 
			
		||||
#  define TR_RVAI ___x___
 | 
			
		||||
#  define TR_RSPI ___x___
 | 
			
		||||
#  define TR_RTOG ___x___
 | 
			
		||||
#  define TR_RMOD ___x___
 | 
			
		||||
#  define TR_RRMD ___x___
 | 
			
		||||
#endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(HAPTIC_ENABLE)
 | 
			
		||||
#  define TR_HTOG HF_TOGG
 | 
			
		||||
#  define TR_HFBK HF_FDBK
 | 
			
		||||
#  define TR_HNXT HF_NEXT
 | 
			
		||||
#  define TR_HCNU HF_CONU
 | 
			
		||||
#  define TR_HRST HF_RST
 | 
			
		||||
#else
 | 
			
		||||
#  define TR_HTOG ___x___
 | 
			
		||||
#  define TR_HFBK ___x___
 | 
			
		||||
#  define TR_HNXT ___x___
 | 
			
		||||
#  define TR_HCNU ___x___
 | 
			
		||||
#  define TR_HRST ___x___
 | 
			
		||||
#endif //HAPTIC_ENABLe
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if defined(AUDIO_ENABLE)
 | 
			
		||||
#  define TR_ATOG AU_TOGG
 | 
			
		||||
#  define TR_CTOG CK_TOGG
 | 
			
		||||
#  define TR_CKUP CK_UP
 | 
			
		||||
#  define TR_CRST CK_RST
 | 
			
		||||
#else
 | 
			
		||||
#  define TR_ATOG ___x___
 | 
			
		||||
#  define TR_CTOG ___x___
 | 
			
		||||
#  define TR_CKUP ___x___
 | 
			
		||||
#  define TR_CRST ___x___
 | 
			
		||||
#endif //AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _NONE_3__________________                   ___x___, ___x___, ___x___
 | 
			
		||||
#define _NONE_5____________________________________ ___x___, ___x___, ___x___, ___x___, ___x___
 | 
			
		||||
#define _GACS_MODS________________________          TR_LGUI, TR_LALT, TR_LCTL, TR_LSFT
 | 
			
		||||
| 
						 | 
				
			
			@ -225,35 +163,37 @@ enum keycodes {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
#define LAYER_NAVIGATION                                                                    \
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, ___x___, ___x___, KC_CAPS, CONFIG,  \
 | 
			
		||||
  ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
 | 
			
		||||
  _UCCPR_L___________________________________, ___x___, KC_APP,  KC_VOLD, KC_VOLU, KC_MUTE, \
 | 
			
		||||
                    ZOOMRST, NUM,     KC_ENT,  _LAYER_TRANS_____________
 | 
			
		||||
  KC_ESC,  KC_HOME, KC_UP,   KC_END,  KC_PGUP, ___x___, KC_APP,  ___x___, ___x___, CONFIG,  \
 | 
			
		||||
  ___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_DEL,  KC_TAB,  KC_VOLD, KC_VOLU, KC_MUTE, \
 | 
			
		||||
                    ___x___, NUM,     KC_ENT,  _LAYER_TRANS_____________
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_NUMBER                                                                        \
 | 
			
		||||
  KC_ESC,  SC_SNIP, SC_FILE, MOU_FUN, TR_GRV,  ___x___, KC_7,    KC_8,    KC_9,    KC_COMM, \
 | 
			
		||||
  _GACS_MODS________________________, TR_SCLN, KC_0,    KC_4,    KC_5,    KC_6,    KC_DOT,  \
 | 
			
		||||
  _UCCPR_L___________________________________, ___x___, KC_1,    KC_2,    KC_3,    KC_MINS, \
 | 
			
		||||
  KC_ESC,  SC_SNIP, SC_FILE, MOU_FUN, TR_GRV,  KC_ENT,  KC_7,    KC_8,    KC_9,    KC_COMM, \
 | 
			
		||||
  _GACS_MODS________________________, TR_SCLN, KC_BSPC, KC_4,    KC_5,    KC_6,    KC_DOT,  \
 | 
			
		||||
  _UCCPR_L___________________________________, KC_0,    KC_1,    KC_2,    KC_3,    KC_MINS, \
 | 
			
		||||
                    _LAYER_TRANS_____________, _BASE_R4_________________
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_SYMBOL                                                                        \
 | 
			
		||||
  ___x___, ___x___, KC_AT,   KC_DLR,  TR_GRV,  TR_EQL,  KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
 | 
			
		||||
  ___x___, TR_LCBR, KC_RCBR, KC_EXLM, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
 | 
			
		||||
  ___x___, TR_LABK, KC_RABK, TR_BSLS, TR_PIPE, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
 | 
			
		||||
  KC_ESC,  ___x___, KC_AT,   KC_DLR,  TR_GRV,  TR_EQL,  KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
 | 
			
		||||
  KC_AMPR, TR_LCBR, KC_RCBR, KC_EXLM, TR_SCLN, KC_BSPC, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
 | 
			
		||||
  TR_PERC, TR_LABK, KC_RABK, TR_BSLS, TR_PIPE, KC_DEL,  TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
 | 
			
		||||
                    _LAYER_TRANS_____________, _LAYER_TRANS_____________
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_MOUSE_FUNC                                                                    \
 | 
			
		||||
  MOU_FUN, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7,   KC_F8,   KC_F9,   KC_F10,  \
 | 
			
		||||
  _GACS_MODS________________________, TR_DRGS, ___x___, KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
 | 
			
		||||
  _GACS_MODS________________________, TR_DRGS, KC_CAPS, KC_F4,   KC_F5,   KC_F6,   KC_F11,  \
 | 
			
		||||
  _______, ___x___, KC_BTN5, KC_BTN4, TR_SNIP, ___x___, KC_F1,   KC_F2,   KC_F3,   KC_F12,  \
 | 
			
		||||
                    KC_BTN1, KC_BTN2, KC_BTN3, TR_PDPI, TR_SDPI, ___x___
 | 
			
		||||
                    KC_BTN1, KC_BTN3, KC_BTN2, TR_PDPI, TR_SDPI, ___x___
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYER_CONFIG                                                                        \
 | 
			
		||||
  TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR,  QK_BOOT, _______, \
 | 
			
		||||
  TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, BASELYR, \
 | 
			
		||||
  ___x___, ___x___, ___x___, ___x___, TR_RTOG, TR_RMOD, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
 | 
			
		||||
                    BASELYR, TR_DMR1, TR_DMP1, TR_DMP2, TR_DMR2, TR_RTOG
 | 
			
		||||
  ___x___, HF_RST,  TR_HNXT, HF_FDBK, HF_TOGG, BASELYR, PN_BOOT, EE_CLR,  QK_BOOT, _______, \
 | 
			
		||||
  RGB_MOD, CK_RST,  TR_CKUP, CK_TOGG, AU_TOGG, ___x___, TR_LSFT, ___x___, ___x___, ___x___, \
 | 
			
		||||
  RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_TOG, ___x___, ___x___, ___x___, ___x___, ___x___, \
 | 
			
		||||
                    ___x___, DM_REC1, DM_PLY1, ___x___, ___x___, ___x___
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue