Add Daniel Gordon's Ergodox Infinity and Chimera
* gordon.c defines many aliases for KC codes.
   * gordon.c defines many advanced tap dance functions.
   * This is a squashed commit of about 6 months of work on chimera and
     ergodox infinity changes.
   * Ignore the change-id below.
Change-Id: I83927139e8a80fe08992ae91ec7d62571498f7f7
			
			
This commit is contained in:
		
							parent
							
								
									e2352d4fbf
								
							
						
					
					
						commit
						383a3c1e08
					
				
					 6 changed files with 1151 additions and 0 deletions
				
			
		
							
								
								
									
										157
									
								
								users/gordon/gordon.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								users/gordon/gordon.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,157 @@
 | 
			
		|||
#ifndef GORDON
 | 
			
		||||
#define GORDON
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
#include "process_keycode/process_tap_dance.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Fillers to make layering more clear
 | 
			
		||||
#define _______ KC_TRNS
 | 
			
		||||
#define ________ KC_TRNS
 | 
			
		||||
#define _________ KC_TRNS
 | 
			
		||||
#define XXXXXXX KC_NO
 | 
			
		||||
 | 
			
		||||
// KC codes that are too long
 | 
			
		||||
#define DOLLAR KC_DOLLAR
 | 
			
		||||
#define LSQUIGLY KC_LBRACKET
 | 
			
		||||
#define RSQUIGLY KC_RBRACKET
 | 
			
		||||
#define NUMLOCK KC_NUMLOCK
 | 
			
		||||
#define CAPLOCK KC_CAPSLOCK
 | 
			
		||||
#define BK_SLASH KC_BSLASH
 | 
			
		||||
#define ASTERSK KC_KP_ASTERISK
 | 
			
		||||
 
 | 
			
		||||
// Navigation
 | 
			
		||||
#define SNAPLEFT  LGUI(KC_LEFT)
 | 
			
		||||
#define SNAPRGHT  LGUI(KC_RIGHT)
 | 
			
		||||
#define SNAPUP    LGUI(KC_UP)
 | 
			
		||||
#define SNAPDOWN  LGUI(KC_DOWN)
 | 
			
		||||
#define PREVTAB   LCTL(LSFT(KC_TAB))
 | 
			
		||||
#define NEXTTAB   LCTL(KC_TAB)
 | 
			
		||||
#define WORKRIGHT LCTL(LGUI(KC_RIGHT))
 | 
			
		||||
#define WORKLEFT  LCTL(LGUI(KC_LEFT))
 | 
			
		||||
 | 
			
		||||
// KC/modifier hold
 | 
			
		||||
#define CTRL_F   CTL_T(KC_F)
 | 
			
		||||
#define CTRL_J   CTL_T(KC_J)
 | 
			
		||||
#define CTRL_Z   CTL_T(KC_Z)
 | 
			
		||||
#define ALT_V    ALT_T(KC_V)
 | 
			
		||||
#define ALT_M    ALT_T(KC_M)
 | 
			
		||||
#define WIN_G    GUI_T(KC_G)
 | 
			
		||||
#define WIN_H    GUI_T(KC_H)
 | 
			
		||||
#define HYPER_X  ALL_T(KC_X)
 | 
			
		||||
#define HYPE_DOT ALL_T(KC_DOT)
 | 
			
		||||
#define MEH_S    MEH_T(KC_S)
 | 
			
		||||
#define MEH_L    MEH_T(KC_L)
 | 
			
		||||
#define ALT_HOME ALT_T(KC_HOME)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// KC/Layer Hold
 | 
			
		||||
#define NAV_E    LT(_NAV,KC_E)
 | 
			
		||||
#define NUMPAD_D LT(_NUMPAD,KC_D)
 | 
			
		||||
#define MOUSE_C  LT(_MOUSE,KC_C)
 | 
			
		||||
#define SYMB_BSP LT(_SYMBOLS,KC_BSPACE)
 | 
			
		||||
#define COL_MOUS LT(_MOUSE,KC_SCOLON)
 | 
			
		||||
#define SPAC_SYM LT(_SYMBOLS,KC_SPACE)
 | 
			
		||||
 | 
			
		||||
// Double Modifier ONLY hold
 | 
			
		||||
#define ALT_SHFT LSFT(KC_LALT)
 | 
			
		||||
#define CTR_SHFT LSFT(KC_LCTL)
 | 
			
		||||
 | 
			
		||||
// KC/Double modifier Hold
 | 
			
		||||
#define CTR_SH_W MT(MOD_LCTL|MOD_LSFT,KC_W)
 | 
			
		||||
#define CTR_AL_R MT(MOD_LCTL|MOD_LALT,KC_R)
 | 
			
		||||
 | 
			
		||||
//MISC
 | 
			
		||||
#define PRINTSCR KC_PSCREEN
 | 
			
		||||
#define CALTDEL LCTL(LALT(KC_DEL))
 | 
			
		||||
#define TSKMGR LCTL(LSFT(KC_ESC))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
  bool is_press_action;
 | 
			
		||||
  int state;
 | 
			
		||||
} xtap;
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
  SINGLE_TAP = 1,
 | 
			
		||||
  SINGLE_HOLD = 2,
 | 
			
		||||
  DOUBLE_TAP = 3,
 | 
			
		||||
  DOUBLE_HOLD = 4,
 | 
			
		||||
  DOUBLE_SINGLE_TAP = 5, //send two single taps
 | 
			
		||||
  TRIPLE_TAP = 6,
 | 
			
		||||
  TRIPLE_HOLD = 7
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum gordon_layers
 | 
			
		||||
{
 | 
			
		||||
  _QWERTY = 0,
 | 
			
		||||
  _SYMBOLS,
 | 
			
		||||
  _MOUSE,
 | 
			
		||||
  _NUMPAD,
 | 
			
		||||
  _NAV,
 | 
			
		||||
  _MACROS,
 | 
			
		||||
  _FUNCTION,
 | 
			
		||||
  _TEXTNAV
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void register_hyper (void);
 | 
			
		||||
void unregister_hyper (void);
 | 
			
		||||
 | 
			
		||||
void register_ctrl_a (void); 
 | 
			
		||||
void unregister_ctrl_a (void); 
 | 
			
		||||
 | 
			
		||||
void register_alt_f7 (void); 
 | 
			
		||||
void unregister_alt_f7 (void);
 | 
			
		||||
 | 
			
		||||
void register_shift_f6 (void); 
 | 
			
		||||
void unregister_shift_f6 (void); 
 | 
			
		||||
 | 
			
		||||
void register_ctrl_shift (void); 
 | 
			
		||||
void unregister_ctrl_shift (void); 
 | 
			
		||||
 | 
			
		||||
void register_alt_shift (void); 
 | 
			
		||||
void unregister_alt_shift (void);
 | 
			
		||||
 | 
			
		||||
int cur_dance (qk_tap_dance_state_t *state); 
 | 
			
		||||
int hold_cur_dance (qk_tap_dance_state_t *state); 
 | 
			
		||||
 | 
			
		||||
void x_finished (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void x_reset (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
 | 
			
		||||
void h_finished (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void h_reset (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
 | 
			
		||||
void tab_finished (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void tab_reset (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
 | 
			
		||||
void comma_finished (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void comma_reset (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
 | 
			
		||||
void bt_finished (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void bt_reset (qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
 | 
			
		||||
// Macro Declarations
 | 
			
		||||
enum {
 | 
			
		||||
  INFOQM,
 | 
			
		||||
  TIL_SLASH,
 | 
			
		||||
  DEREF,
 | 
			
		||||
  EQRIGHT,
 | 
			
		||||
  TILD3,
 | 
			
		||||
  TICK3,
 | 
			
		||||
  ALTTAB_START,
 | 
			
		||||
  ALTTAB_END
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum secret_strings {
 | 
			
		||||
  KC_SECRET_1 = SAFE_RANGE,
 | 
			
		||||
  KC_SECRET_2,
 | 
			
		||||
  KC_SECRET_3,
 | 
			
		||||
  KC_SECRET_4,
 | 
			
		||||
  KC_SECRET_5,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue