[Keymap] Update to Userspace kuchosauronad0 (#6899)
* Add Plover layer, remove unused layers * Add rgb indicator for success/failed sequences * Add RGB effects * Add RGB * Add effects for start and end of a leader sequence * Add PLOVER layer * Add RGB * Add RBG * Minor clean up * Minor clean up * Minor clean up * Minor clean up * Rename rgb_light to rgblight_user and fix all references to it * Remove unnecessary guards Remove unnecessary matrix_scan in rgb post_init function * remove trailing newline
This commit is contained in:
		
							parent
							
								
									b1c2bf071b
								
							
						
					
					
						commit
						674fcc474c
					
				
					 10 changed files with 460 additions and 238 deletions
				
			
		| 
						 | 
				
			
			@ -1,61 +1,62 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#ifdef AUDIO_ENABLE
 | 
			
		||||
  #define AUDIO_CLICKY
 | 
			
		||||
  #define STARTUP_SONG SONG(RICK_ROLL)
 | 
			
		||||
  #define GOODBYE_SONG SONG(SONIC_RING)
 | 
			
		||||
  #define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
 | 
			
		||||
                                    SONG(COLEMAK_SOUND), \
 | 
			
		||||
                                    SONG(DVORAK_SOUND), \
 | 
			
		||||
                                    SONG(OVERWATCH_THEME) \
 | 
			
		||||
                                  }
 | 
			
		||||
  #define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
 | 
			
		||||
  // #ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  // #define NO_MUSIC_MODE
 | 
			
		||||
  // #endif //RGBLIGHT_ENABLE/
 | 
			
		||||
  // #ifndef __arm__
 | 
			
		||||
  //   #undef  NOTE_REST
 | 
			
		||||
  //   #define NOTE_REST         1.00f
 | 
			
		||||
  // #endif // !__arm__
 | 
			
		||||
  #define UNICODE_SONG_OSX SONG(RICK_ROLL)
 | 
			
		||||
  #define UNICODE_SONG_LNX SONG(RICK_ROLL)
 | 
			
		||||
  #define UNICODE_SONG_WIN SONG(RICK_ROLL)
 | 
			
		||||
  #define UNICODE_SONG_BSD SONG(RICK_ROLL)
 | 
			
		||||
  #define UNICODE_SONG_WINC SONG(RICK_ROLL)
 | 
			
		||||
#  define DEFAULT_LAYER_SONGS \
 | 
			
		||||
     { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(DVORAK_SOUND), SONG(PLOVER_SOUND) }
 | 
			
		||||
#  define AUDIO_CLICKY
 | 
			
		||||
#  define STARTUP_SONG SONG(RICK_ROLL)
 | 
			
		||||
#  define GOODBYE_SONG SONG(SONIC_RING)
 | 
			
		||||
#  define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f
 | 
			
		||||
#  ifndef __arm__
 | 
			
		||||
#    undef  NOTE_REST
 | 
			
		||||
#    define NOTE_REST 1.00f
 | 
			
		||||
#  endif // !__arm__
 | 
			
		||||
#  define UNICODE_SONG_OSX SONG(RICK_ROLL)
 | 
			
		||||
#  define UNICODE_SONG_LNX SONG(RICK_ROLL)
 | 
			
		||||
#  define UNICODE_SONG_WIN SONG(RICK_ROLL)
 | 
			
		||||
#  define UNICODE_SONG_BSD SONG(RICK_ROLL)
 | 
			
		||||
#  define UNICODE_SONG_WINC SONG(RICK_ROLL)
 | 
			
		||||
#endif // !AUDIO_ENABLE
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  #define RGBLIGHT_SLEEP
 | 
			
		||||
  #undef RGBLIGHT_ANIMATIONS
 | 
			
		||||
  #define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
  #define RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
  #define RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#  define RGBLIGHT_SLEEP
 | 
			
		||||
#  undef  RGBLIGHT_ANIMATIONS
 | 
			
		||||
#  define RGBLIGHT_HUE_STEP 16
 | 
			
		||||
#  define RGBLIGHT_SAT_STEP 16
 | 
			
		||||
#  define RGBLIGHT_VAL_STEP 16
 | 
			
		||||
#  define RGBLIGHT_LIMIT_VAL 255
 | 
			
		||||
#  define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#  define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
//#  define RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
//#  define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
 | 
			
		||||
//#  define RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
//#  define RGBLIGHT_EFFECT_SNAKE_LENGTH 2
 | 
			
		||||
#endif // !RGBLIGHT_ENABLE
 | 
			
		||||
 | 
			
		||||
#ifndef ONESHOT_TAP_TOGGLE
 | 
			
		||||
  #define ONESHOT_TAP_TOGGLE 2
 | 
			
		||||
#  define ONESHOT_TAP_TOGGLE 2
 | 
			
		||||
#endif // !ONESHOT_TAP_TOGGLE
 | 
			
		||||
 | 
			
		||||
#ifndef ONESHOT_TIMEOUT
 | 
			
		||||
  #define ONESHOT_TIMEOUT 3000
 | 
			
		||||
#  define ONESHOT_TIMEOUT 3000
 | 
			
		||||
#endif// !ONESHOT_TIMEOUT
 | 
			
		||||
 | 
			
		||||
#ifndef QMK_KEYS_PER_SCAN
 | 
			
		||||
  #define QMK_KEYS_PER_SCAN 4
 | 
			
		||||
#  define QMK_KEYS_PER_SCAN 4
 | 
			
		||||
#endif // !QMK_KEYS_PER_SCAN
 | 
			
		||||
 | 
			
		||||
#if defined(LEADER_ENABLE)
 | 
			
		||||
  #define LEADER_PER_KEY_TIMING
 | 
			
		||||
  #define LEADER_TIMEOUT 250
 | 
			
		||||
#  define LEADER_PER_KEY_TIMING
 | 
			
		||||
#  define LEADER_TIMEOUT 250
 | 
			
		||||
#endif // !LEADER_ENABLE 
 | 
			
		||||
 | 
			
		||||
#if defined(COMBO_ENABLE)
 | 
			
		||||
  #define COMBO_COUNT 4
 | 
			
		||||
  #define COMBO_TERM 150
 | 
			
		||||
#  define COMBO_COUNT 4
 | 
			
		||||
#  define COMBO_TERM 150
 | 
			
		||||
#endif // !COMBO_ENABLE 
 | 
			
		||||
 | 
			
		||||
#if defined(NKRO_ENABLE)
 | 
			
		||||
  #define FORCE_NKRO
 | 
			
		||||
#  define FORCE_NKRO
 | 
			
		||||
#endif // !NKRO_ENABLE
 | 
			
		||||
 | 
			
		||||
// this makes it possible to do rolling combos (zx) with keys that
 | 
			
		||||
| 
						 | 
				
			
			@ -68,18 +69,18 @@
 | 
			
		|||
//#define RETRO_TAPPING
 | 
			
		||||
 | 
			
		||||
#ifndef TAPPING_TOGGLE
 | 
			
		||||
  #define TAPPING_TOGGLE  1
 | 
			
		||||
#  define TAPPING_TOGGLE  1
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef TAPPING_TERM
 | 
			
		||||
  #undef TAPPING_TERM
 | 
			
		||||
#  undef TAPPING_TERM
 | 
			
		||||
#endif // !TAPPING_TERM
 | 
			
		||||
#if defined(KEYBOARD_handwired_kuchosauronad0_planckenstein)
 | 
			
		||||
  #define TAPPING_TERM 185
 | 
			
		||||
#  define TAPPING_TERM 185
 | 
			
		||||
#elif defined(KEYBOARD_c39)
 | 
			
		||||
  #define TAPPING_TERM 200
 | 
			
		||||
#  define TAPPING_TERM 200
 | 
			
		||||
#else
 | 
			
		||||
  #define TAPPING_TERM 180
 | 
			
		||||
#  define TAPPING_TERM 180
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -87,4 +88,3 @@
 | 
			
		|||
 | 
			
		||||
#define MACRO_TIMER 5 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,10 +19,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 | 
			
		||||
userspace_config_t userspace_config;
 | 
			
		||||
#if (defined(UNICODE_ENABLE) || defined(UNICODEMAP_ENABLE) || defined(UCIS_ENABLE))
 | 
			
		||||
  #define KUCHOSAURONAD0_UNICODE_MODE UC_WINC
 | 
			
		||||
#  define KUCHOSAURONAD0_UNICODE_MODE UC_WINC
 | 
			
		||||
#else
 | 
			
		||||
  // set to 2 for UC_WIN, set to 4 for UC_WINC
 | 
			
		||||
  #define KUCHOSAURONAD0_UNICODE_MODE 2
 | 
			
		||||
#  define KUCHOSAURONAD0_UNICODE_MODE 2 // set to 2 for UC_WIN, set to 4 for UC_WINC
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -70,7 +69,7 @@ void shutdown_user (void) {
 | 
			
		|||
  #ifdef RGBLIGHT_ENABLE
 | 
			
		||||
    rgblight_enable_noeeprom();
 | 
			
		||||
    rgblight_mode_noeeprom(1);
 | 
			
		||||
    rgblight_setrgb_red();
 | 
			
		||||
    rgblight_setrgb_teal();
 | 
			
		||||
  #endif // RGBLIGHT_ENABLE
 | 
			
		||||
  #ifdef RGB_MATRIX_ENABLE
 | 
			
		||||
    // uint16_t timer_start = timer_read();
 | 
			
		||||
| 
						 | 
				
			
			@ -108,11 +107,11 @@ void matrix_scan_user(void){
 | 
			
		|||
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
 | 
			
		||||
//  run_diablo_macro_check();
 | 
			
		||||
#endif // TAP_DANCE_ENABLE
 | 
			
		||||
#endif // !TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  matrix_scan_rgb();
 | 
			
		||||
#endif // RGBLIGHT_ENABLE
 | 
			
		||||
#endif // !RGBLIGHT_ENABLE
 | 
			
		||||
 | 
			
		||||
  matrix_scan_keymap();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -171,6 +170,8 @@ void eeconfig_init_user(void) {
 | 
			
		|||
  #else
 | 
			
		||||
    eeprom_update_byte(EECONFIG_UNICODEMODE, KUCHOSAURONAD0_UNICODE_MODE);
 | 
			
		||||
  #endif
 | 
			
		||||
  eeconfig_init_keymap();
 | 
			
		||||
  keyboard_init();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TMUX stuff
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,4 @@
 | 
			
		|||
#ifndef USERSPACE
 | 
			
		||||
#define USERSPACE
 | 
			
		||||
 | 
			
		||||
//#pragma once
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -11,23 +8,25 @@
 | 
			
		|||
#include "process_records.h"
 | 
			
		||||
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
  #include "tap_dances.h"
 | 
			
		||||
  #define KC_TMX TD(TD_TMX)   // tap1: 't'  tap2: <CTL>+b
 | 
			
		||||
  #define KC_EOL TD(TD_EOL)   // tap1: 'e'  tap2: <CTL>+e
 | 
			
		||||
  #define KC_BOL TD(TD_BOL)   // tap1: 'a'  tap2: <CTL>+a
 | 
			
		||||
  #define KC_NW TD(TD_NW)     // tap1: 'f'  tap2: <ALT>+f
 | 
			
		||||
  #define KC_PW TD(TD_PW)     // tap1: 'b'  tap2: <ALT>+b
 | 
			
		||||
  #define KC_DW TD(TD_DW)     // tap1: 'w'  tap2: <CTL>+w
 | 
			
		||||
#  include "tap_dances.h"
 | 
			
		||||
#  define KC_TMX TD(TD_TMX)   // tap1: 't'  tap2: <CTL>+b
 | 
			
		||||
#  define KC_EOL TD(TD_EOL)   // tap1: 'e'  tap2: <CTL>+e
 | 
			
		||||
#  define KC_BOL TD(TD_BOL)   // tap1: 'a'  tap2: <CTL>+a
 | 
			
		||||
#  define KC_NW TD(TD_NW)     // tap1: 'f'  tap2: <ALT>+f
 | 
			
		||||
#  define KC_PW TD(TD_PW)     // tap1: 'b'  tap2: <ALT>+b
 | 
			
		||||
#  define KC_DW TD(TD_DW)     // tap1: 'w'  tap2: <CTL>+w
 | 
			
		||||
#endif //!TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
  #include "rgb_stuff.h"
 | 
			
		||||
#  include "rgblight_user.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(UNICODEMAP_ENABLE) || defined(UNICODE_ENABLE)
 | 
			
		||||
  #include "unicode.h"
 | 
			
		||||
#  include "unicode.h"
 | 
			
		||||
#endif //!UNICODE_ENABLE
 | 
			
		||||
 | 
			
		||||
// Keycode aliases
 | 
			
		||||
#define TM_X LCTL(KC_B)     // Tmux control sequence
 | 
			
		||||
#define TM_X LCTL(KC_B)     // Tmux leader key
 | 
			
		||||
// Unix QoL macros
 | 
			
		||||
#define MC_BOL LCTL(KC_A)   // jump to beginning of line
 | 
			
		||||
#define MC_EOL LCTL(KC_E)   // jump to end       of line
 | 
			
		||||
| 
						 | 
				
			
			@ -42,10 +41,11 @@ enum userspace_layers {
 | 
			
		|||
  _COLEMAK,
 | 
			
		||||
  _DVORAK,
 | 
			
		||||
  _WORKMAN,
 | 
			
		||||
  _NORMAN,
 | 
			
		||||
/*  _NORMAN,
 | 
			
		||||
  _MALTRON,
 | 
			
		||||
  _EUCALYN,
 | 
			
		||||
  _CARPLAX,
 | 
			
		||||
  _CARPLAX, */
 | 
			
		||||
  _PLOVER,
 | 
			
		||||
  _UNICODE,
 | 
			
		||||
  _MODS, /* layer 8 now 9*/
 | 
			
		||||
  _GAMEPAD,
 | 
			
		||||
| 
						 | 
				
			
			@ -57,18 +57,18 @@ enum userspace_layers {
 | 
			
		|||
  _ADJUST,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
 | 
			
		||||
bool mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
 | 
			
		||||
bool send_game_macro(const char *str, keyrecord_t *record, bool override);
 | 
			
		||||
void matrix_init_keymap(void);
 | 
			
		||||
void shutdown_keymap(void);
 | 
			
		||||
void suspend_power_down_keymap(void);
 | 
			
		||||
void suspend_wakeup_init_keymap(void);
 | 
			
		||||
void matrix_scan_keymap(void);
 | 
			
		||||
bool     mod_key_press_timer (uint16_t code, uint16_t mod_code, bool pressed);
 | 
			
		||||
bool     mod_key_press (uint16_t code, uint16_t mod_code, bool pressed, uint16_t this_timer);
 | 
			
		||||
bool     send_game_macro(const char *str, keyrecord_t *record, bool override);
 | 
			
		||||
void     matrix_init_keymap(void);
 | 
			
		||||
void     shutdown_keymap(void);
 | 
			
		||||
void     suspend_power_down_keymap(void);
 | 
			
		||||
void     suspend_wakeup_init_keymap(void);
 | 
			
		||||
void     matrix_scan_keymap(void);
 | 
			
		||||
uint32_t layer_state_set_keymap (uint32_t state);
 | 
			
		||||
uint32_t default_layer_state_set_keymap (uint32_t state);
 | 
			
		||||
void led_set_keymap(uint8_t usb_led);
 | 
			
		||||
void eeconfig_init_keymap(void);
 | 
			
		||||
void     led_set_keymap(uint8_t usb_led);
 | 
			
		||||
void     eeconfig_init_keymap(void);
 | 
			
		||||
 | 
			
		||||
void tmux_prefix(void);
 | 
			
		||||
void tmux_pane_zoom(void);
 | 
			
		||||
| 
						 | 
				
			
			@ -95,17 +95,15 @@ But since TD() doesn't work when tap dance is disabled
 | 
			
		|||
We use custom codes here, so we can substitute the right stuff
 | 
			
		||||
*/
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
#define KC_D3_1 TD(TD_D3_1)
 | 
			
		||||
#define KC_D3_2 TD(TD_D3_2)
 | 
			
		||||
#define KC_D3_3 TD(TD_D3_3)
 | 
			
		||||
#define KC_D3_4 TD(TD_D3_4)
 | 
			
		||||
#else // TAP_DANCE_ENABLE
 | 
			
		||||
#define KC_D3_1 KC_1
 | 
			
		||||
#define KC_D3_2 KC_2
 | 
			
		||||
#define KC_D3_3 KC_3
 | 
			
		||||
#define KC_D3_4 KC_4
 | 
			
		||||
#endif // TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
#endif // !USERSPACE
 | 
			
		||||
#  define KC_D3_1 TD(TD_D3_1)
 | 
			
		||||
#  define KC_D3_2 TD(TD_D3_2)
 | 
			
		||||
#  define KC_D3_3 TD(TD_D3_3)
 | 
			
		||||
#  define KC_D3_4 TD(TD_D3_4)
 | 
			
		||||
#else
 | 
			
		||||
#  define KC_D3_1 KC_1
 | 
			
		||||
#  define KC_D3_2 KC_2
 | 
			
		||||
#  define KC_D3_3 KC_3
 | 
			
		||||
#  define KC_D3_4 KC_4
 | 
			
		||||
#endif // !TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,77 +1,116 @@
 | 
			
		|||
#include "leader.h"
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
extern rgblight_config_t rgblight_config;
 | 
			
		||||
#endif
 | 
			
		||||
bool leader_succeed;
 | 
			
		||||
 | 
			
		||||
LEADER_EXTERNS();
 | 
			
		||||
 | 
			
		||||
void matrix_scan_user(void){
 | 
			
		||||
void matrix_scan_user(void) {
 | 
			
		||||
  static bool has_ran_yet;
 | 
			
		||||
  if (!has_ran_yet) {
 | 
			
		||||
    has_ran_yet = true;
 | 
			
		||||
    startup_user();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE  // Run Diablo 3 macro checking code.
 | 
			
		||||
//  run_diablo_macro_check();
 | 
			
		||||
#endif // TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
#endif 
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  matrix_scan_rgb();
 | 
			
		||||
#endif // RGBLIGHT_ENABLE
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
  LEADER_DICTIONARY() {
 | 
			
		||||
    leading = false;
 | 
			
		||||
    leader_end();
 | 
			
		||||
    leader_succeed = leading = false;
 | 
			
		||||
 | 
			
		||||
    SEQ_ONE_KEY(KC_W) {
 | 
			
		||||
      // vim/tmux: Use in command mode in vim: write to file, switch tmux pane in the current session window and repeat the last command
 | 
			
		||||
      SEND_STRING(":w" SS_TAP(X_ENTER));
 | 
			
		||||
      tmux_pane_switch_repeat();
 | 
			
		||||
      }
 | 
			
		||||
    
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_ONE_KEY(KC_T) {
 | 
			
		||||
      // Send the Tmux Prefix
 | 
			
		||||
      tmux_prefix();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_ONE_KEY(KC_A) {
 | 
			
		||||
       // tmux: Send the prefix and press 'right' arrow
 | 
			
		||||
      tmux_prefix();
 | 
			
		||||
      tap_code(KC_RIGHT);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_T, KC_T) {
 | 
			
		||||
      // tmux: Send the prefix to a nested session
 | 
			
		||||
      tmux_prefix();
 | 
			
		||||
      tmux_prefix();
 | 
			
		||||
    }
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_T, KC_R) {
 | 
			
		||||
      // tmux: Switch pane and repeat last action
 | 
			
		||||
      tmux_pane_switch_repeat();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_V, KC_Z){
 | 
			
		||||
      // vim: Zoom pane
 | 
			
		||||
      tap_code16(LCTL(KC_W));
 | 
			
		||||
      tap_code16(LSFT(KC_BSLS));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_V, KC_R) {
 | 
			
		||||
      // vim: Substitute and place cursor
 | 
			
		||||
      SEND_STRING(":%s///g" SS_TAP(X_LEFT));
 | 
			
		||||
      tap_code(KC_LEFT);
 | 
			
		||||
      tap_code(KC_LEFT);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_V, KC_T) {
 | 
			
		||||
     // vim: move current pane to new tab
 | 
			
		||||
     tap_code16(LCTL(KC_W));
 | 
			
		||||
     tap_code16(LSFT(KC_T));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
      // vim: move current pane to new tab
 | 
			
		||||
      tap_code16(LCTL(KC_W));
 | 
			
		||||
      tap_code16(LSFT(KC_T));
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_ONE_KEY(KC_R){
 | 
			
		||||
      // Toggle RGB Layer indicator
 | 
			
		||||
      tap_code16(KC_RGB_T);
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_ONE_KEY(KC_SPC){
 | 
			
		||||
      // One Shot Unicode layer
 | 
			
		||||
//TODO      tap_code16(OS_UNI);
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_TWO_KEYS(KC_SPC, KC_SPC){
 | 
			
		||||
      // Toggle _MODS
 | 
			
		||||
      tap_code16(TG_MODS);
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    } else
 | 
			
		||||
    SEQ_THREE_KEYS(KC_BSPC, KC_BSPC, KC_BSPC){
 | 
			
		||||
        // Reset the keyboard
 | 
			
		||||
        reset_keyboard();
 | 
			
		||||
      // Reset the keyboard
 | 
			
		||||
      reset_keyboard();
 | 
			
		||||
      leader_succeed = true;
 | 
			
		||||
    }
 | 
			
		||||
  leader_end();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  matrix_scan_keymap();
 | 
			
		||||
//  matrix_scan_keymap();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void leader_start(void) {
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
 rgblight_savebase();
 | 
			
		||||
 rgblight_mode_noeeprom(1);
 | 
			
		||||
 rgblight_sethsv_noeeprom_goldenrod();
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void leader_end(void) {
 | 
			
		||||
// pick color depending of success /fail
 | 
			
		||||
// fade leader_start from 100 to 0
 | 
			
		||||
// fade new color from  0 to 100 to 0
 | 
			
		||||
// fade old color from 0 to 100
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  if (leader_succeed) {
 | 
			
		||||
    fadeflash_leds(HSV_GREEN);
 | 
			
		||||
  } else {
 | 
			
		||||
    fadeflash_leds(HSV_RED);
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
#endif //KEYLOGGER_ENABLE
 | 
			
		||||
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
  case KC_QWERTY ... KC_UNICODE:
 | 
			
		||||
  case KC_QWERTY ... KC_PLOVER:
 | 
			
		||||
    if (record->event.pressed) {
 | 
			
		||||
      set_single_persistent_default_layer(keycode - KC_QWERTY);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +168,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		|||
  case KC_OVERWATCH: // Toggle's if we hit "ENTER" or "BACKSPACE" to input macros
 | 
			
		||||
    if (record->event.pressed) { userspace_config.is_overwatch ^= 1; eeconfig_update_user(userspace_config.raw); }
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
    userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
 | 
			
		||||
//    userspace_config.is_overwatch ? rgblight_mode_noeeprom(17) : rgblight_mode_noeeprom(18);
 | 
			
		||||
#endif //RGBLIGHT_ENABLE
 | 
			
		||||
    break;
 | 
			
		||||
  case KC_SALT:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
#include "kuchosauronad0.h"
 | 
			
		||||
 | 
			
		||||
#if defined(KEYMAP_SAFE_RANGE)
 | 
			
		||||
#define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
 | 
			
		||||
#  define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
 | 
			
		||||
#else
 | 
			
		||||
#define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
 | 
			
		||||
#  define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
enum userspace_custom_keycodes{
 | 
			
		||||
| 
						 | 
				
			
			@ -13,11 +13,7 @@ enum userspace_custom_keycodes{
 | 
			
		|||
  KC_COLEMAK,        // Sets default layer to COLEMAK
 | 
			
		||||
  KC_DVORAK,         // Sets default layer to DVORAK
 | 
			
		||||
  KC_WORKMAN,        // Sets default layer to WORKMAN
 | 
			
		||||
  KC_NORMAN,         // Sets default layer to NORMAN
 | 
			
		||||
  KC_MALTRON,        // Sets default layer to MALTRON
 | 
			
		||||
  KC_EUCALYN,        // Sets default layer to EUCALYN
 | 
			
		||||
  KC_CARPLAX,        // Sets default layer to CARPLAX
 | 
			
		||||
  KC_UNICODE,        // Sets default layer to UNICODE
 | 
			
		||||
  KC_PLOVER,         // Sets default layer to PLOVER
 | 
			
		||||
 | 
			
		||||
  KC_MAKE,           // Run keyboard's customized make command
 | 
			
		||||
  KC_RGB_T,          // Toggles RGB Layer Indication mode
 | 
			
		||||
| 
						 | 
				
			
			@ -33,36 +29,37 @@ enum userspace_custom_keycodes{
 | 
			
		|||
  UC_SHRG,           // ¯\_(ツ)_/¯
 | 
			
		||||
  UC_DISA,           // ಠ_ಠ
 | 
			
		||||
 | 
			
		||||
  MC_QT1,  // ""
 | 
			
		||||
  MC_QT2,  // ''
 | 
			
		||||
  MC_QT3,  // `'
 | 
			
		||||
  MC_PAR,  // Parenthesis
 | 
			
		||||
  MC_CUR,  // Curly bracket
 | 
			
		||||
  MC_SQR,  // Square bracket
 | 
			
		||||
  MC_ABR,  // Angle bracket
 | 
			
		||||
  MCT_NEW, // New Tmux Session
 | 
			
		||||
  MCT_SH,  // Tmux horizontal split
 | 
			
		||||
  MCT_SV,  // Tmux vertical split
 | 
			
		||||
  MCT_ZM,  // Tmux zoom
 | 
			
		||||
  MCT_SCR, // Tmux scroll mode
 | 
			
		||||
  MCT_UP,  // Tmux up
 | 
			
		||||
  MCT_DW,  // Tmux down
 | 
			
		||||
  MCT_LFT, // Tmux left
 | 
			
		||||
  MCT_RGT, // Tmux right
 | 
			
		||||
  MCV_B,   // Vim begin of line
 | 
			
		||||
  MCV_E,   // Vim end of line
 | 
			
		||||
  MCT_F,   // Vim for loop
 | 
			
		||||
  MCG_A, // Git add
 | 
			
		||||
  MCG_C, // Git commit
 | 
			
		||||
  MCG_P, // Git push
 | 
			
		||||
  MCG_R, // Git revert
 | 
			
		||||
  MCG_L, // Git log
 | 
			
		||||
  MCG_S, // Git status
 | 
			
		||||
  MC_QT1,            // ""
 | 
			
		||||
  MC_QT2,            // ''
 | 
			
		||||
  MC_QT3,            // `'
 | 
			
		||||
  MC_PAR,            // Parenthesis
 | 
			
		||||
  MC_CUR,            // Curly bracket
 | 
			
		||||
  MC_SQR,            // Square bracket
 | 
			
		||||
  MC_ABR,            // Angle bracket
 | 
			
		||||
  MCT_NEW,           // New Tmux Session
 | 
			
		||||
  MCT_SH,            // Tmux horizontal split
 | 
			
		||||
  MCT_SV,            // Tmux vertical split
 | 
			
		||||
  MCT_ZM,            // Tmux zoom
 | 
			
		||||
  MCT_SCR,           // Tmux scroll mode
 | 
			
		||||
  MCT_UP,            // Tmux up
 | 
			
		||||
  MCT_DW,            // Tmux down
 | 
			
		||||
  MCT_LFT,           // Tmux left
 | 
			
		||||
  MCT_RGT,           // Tmux right
 | 
			
		||||
  MCV_B,             // Vim begin of line
 | 
			
		||||
  MCV_E,             // Vim end of line
 | 
			
		||||
  MCT_F,             // Vim for loop
 | 
			
		||||
  MCG_A,             // Git add
 | 
			
		||||
  MCG_C,             // Git commit
 | 
			
		||||
  MCG_P,             // Git push
 | 
			
		||||
  MCG_R,             // Git revert
 | 
			
		||||
  MCG_L,             // Git log
 | 
			
		||||
  MCG_S,             // Git status
 | 
			
		||||
 | 
			
		||||
  NEW_SAFE_RANGE     //use "NEWPLACEHOLDER for keymap specific codes
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
 | 
			
		||||
#define LOWER MO(_LOWER)
 | 
			
		||||
| 
						 | 
				
			
			@ -74,21 +71,21 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
 | 
			
		|||
#define OS_RSE OSL(_RAISE)
 | 
			
		||||
#define OS_UNI OSL(_UNICODE)
 | 
			
		||||
 | 
			
		||||
#define KC_SEC1 KC_SECRET_1
 | 
			
		||||
#define KC_SEC2 KC_SECRET_2
 | 
			
		||||
#define KC_SEC3 KC_SECRET_3
 | 
			
		||||
#define KC_SEC4 KC_SECRET_4
 | 
			
		||||
#define KC_SEC5 KC_SECRET_5
 | 
			
		||||
#define KC_SEC6 KC_SECRET_6
 | 
			
		||||
#define SEC1     KC_SECRET_1
 | 
			
		||||
#define SEC2     KC_SECRET_2
 | 
			
		||||
#define SEC3     KC_SECRET_3
 | 
			
		||||
#define SEC4     KC_SECRET_4
 | 
			
		||||
#define SEC5     KC_SECRET_5
 | 
			
		||||
#define SEC6     KC_SECRET_6
 | 
			
		||||
 | 
			
		||||
#define QWERTY KC_QWERTY
 | 
			
		||||
#define DVORAK KC_DVORAK
 | 
			
		||||
#define COLEMAK KC_COLEMAK
 | 
			
		||||
#define WORKMAN KC_WORKMAN
 | 
			
		||||
#define UNICODE KC_UNICODE
 | 
			
		||||
#define QWERTY   KC_QWERTY
 | 
			
		||||
#define DVORAK   KC_DVORAK
 | 
			
		||||
#define COLEMAK  KC_COLEMAK
 | 
			
		||||
#define WORKMAN  KC_WORKMAN
 | 
			
		||||
#define PLOVER   KC_PLOVER
 | 
			
		||||
 | 
			
		||||
#define KC_RESET RESET
 | 
			
		||||
#define KC_RST KC_RESET
 | 
			
		||||
#define KC_RST   KC_RESET
 | 
			
		||||
 | 
			
		||||
#define UC_IRNY UC(0x2E2E)
 | 
			
		||||
#define UC_CLUE UC(0x203D)
 | 
			
		||||
#define UC_IRNY  UC(0x2E2E)
 | 
			
		||||
#define UC_CLUE  UC(0x203D)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										156
									
								
								users/kuchosauronad0/rgblight_user.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								users/kuchosauronad0/rgblight_user.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,156 @@
 | 
			
		|||
#include "rgblight_user.h"
 | 
			
		||||
extern rgblight_config_t rgblight_config;
 | 
			
		||||
bool                     has_initialized;
 | 
			
		||||
uint8_t                  base_hue;  // Hue value of base state
 | 
			
		||||
uint8_t                  base_sat;  // Saturation value of base state
 | 
			
		||||
uint8_t                  base_val;  // Brightness value of base state
 | 
			
		||||
uint8_t                  base_mod;  // Animation mode of the base state
 | 
			
		||||
 | 
			
		||||
void rgblight_savebase(void) {  // Save the current settings to ram
 | 
			
		||||
  base_hue = rgblight_config.hue;
 | 
			
		||||
  base_sat = rgblight_config.sat;
 | 
			
		||||
  base_val = rgblight_config.val;
 | 
			
		||||
  base_mod = rgblight_config.mode;
 | 
			
		||||
}
 | 
			
		||||
void rgblight_loadbase(void) {  // Load settings from ram to eeprom
 | 
			
		||||
  rgblight_mode( base_mod );
 | 
			
		||||
  rgblight_sethsv_eeprom_helper(base_hue, base_sat, base_val, true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) || (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) {
 | 
			
		||||
    keycode = keycode & 0xFF;
 | 
			
		||||
  }
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case KC_RGB_T:  // Switch between underglow layer indication and normal qmk behaviour
 | 
			
		||||
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        userspace_config.rgb_layer_change ^= 1;
 | 
			
		||||
        xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
 | 
			
		||||
        eeconfig_update_user(userspace_config.raw);
 | 
			
		||||
        if (userspace_config.rgb_layer_change) {
 | 
			
		||||
          layer_state_set(layer_state);  // Immediately set the layer color (looks better)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
#endif  // RGBLIGHT_ENABLE
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
    case RGB_MODE_FORWARD ... RGB_MODE_GRADIENT:  // quantum_keycodes.h L400 for definitions
 | 
			
		||||
      if (record->event.pressed) {  // This disables layer indication, as it's assumed that if you're changing this ... you want that disabled
 | 
			
		||||
        if (userspace_config.rgb_layer_change) {
 | 
			
		||||
          userspace_config.rgb_layer_change = false;
 | 
			
		||||
          xprintf("rgblight layer change [EEPROM]: %u\n", userspace_config.rgb_layer_change);
 | 
			
		||||
          eeconfig_update_user(userspace_config.raw);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
      break;
 | 
			
		||||
#endif  // RGBLIGHT_ENABLE
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void keyboard_post_init_rgb(void) {
 | 
			
		||||
# if defined(RGBLIGHT_ENABLE) || defined(RGBLIGHT_STARTUP_ANIMATION)
 | 
			
		||||
  bool is_enabled = rgblight_config.enable;
 | 
			
		||||
  if (userspace_config.rgb_layer_change) {
 | 
			
		||||
    rgblight_enable_noeeprom();
 | 
			
		||||
  }
 | 
			
		||||
  if (rgblight_config.enable) {
 | 
			
		||||
    layer_state_set_user(layer_state);
 | 
			
		||||
    uint16_t old_hue = rgblight_config.hue;
 | 
			
		||||
    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
 | 
			
		||||
    for (uint16_t i = 255; i > 0; i--) {
 | 
			
		||||
      rgblight_sethsv_noeeprom((i + old_hue) % 255, 255, 255);
 | 
			
		||||
      wait_ms(5);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  if (!is_enabled) {
 | 
			
		||||
    rgblight_disable_noeeprom();
 | 
			
		||||
  }
 | 
			
		||||
# endif // !RGBLIGHT_ENABLE || RGBLIGHT_STARTUP_ANIMATION
 | 
			
		||||
  layer_state_set_user(layer_state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void matrix_scan_rgb(void) {
 | 
			
		||||
# ifdef INDICATOR_LIGHTS
 | 
			
		||||
  matrix_scan_indicator();
 | 
			
		||||
# endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_rgb(layer_state_t state) {
 | 
			
		||||
# ifdef RGBLIGHT_ENABLE
 | 
			
		||||
  if (userspace_config.rgb_layer_change) {
 | 
			
		||||
    switch (biton32(state)) {  // _RAISE, _LOWER and _ADJUST use a custom color and the breathing effect
 | 
			
		||||
      case _RAISE:
 | 
			
		||||
        rgblight_sethsv_noeeprom_green();
 | 
			
		||||
        rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
 | 
			
		||||
        break;
 | 
			
		||||
      case _LOWER:
 | 
			
		||||
        rgblight_sethsv_noeeprom_red();
 | 
			
		||||
        rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3);
 | 
			
		||||
        break;
 | 
			
		||||
      case _ADJUST:
 | 
			
		||||
        rgblight_sethsv_noeeprom_white();
 | 
			
		||||
        rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 2);
 | 
			
		||||
        break;
 | 
			
		||||
      default:  // Use a solid color for normal layers
 | 
			
		||||
        switch (biton32(default_layer_state)) {
 | 
			
		||||
          case _QWERTY:
 | 
			
		||||
            rgblight_sethsv_noeeprom_magenta();
 | 
			
		||||
            break;
 | 
			
		||||
          case _COLEMAK:
 | 
			
		||||
            rgblight_sethsv_noeeprom_green();
 | 
			
		||||
            break;
 | 
			
		||||
          case _DVORAK:
 | 
			
		||||
            rgblight_sethsv_noeeprom_blue();
 | 
			
		||||
            break;
 | 
			
		||||
          case _WORKMAN:
 | 
			
		||||
            rgblight_sethsv_noeeprom_goldenrod();
 | 
			
		||||
            break;
 | 
			
		||||
          case _PLOVER:
 | 
			
		||||
            rgblight_sethsv_noeeprom_pink();
 | 
			
		||||
            break;
 | 
			
		||||
          default:
 | 
			
		||||
            rgblight_sethsv_noeeprom_white();
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        biton32(state) == _MODS ? rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING) : rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);  // if _MODS layer is on, then breath to denote it
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
# endif  // !RGBLIGHT_ENABLE
 | 
			
		||||
  return state;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef INDICATOR_LIGHTS
 | 
			
		||||
void matrix_scan_indicator(void) {
 | 
			
		||||
  if (has_initialized) {
 | 
			
		||||
    set_rgb_indicators(get_mods(), host_keyboard_leds(), get_oneshot_mods());
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
#endif // !INDICATOR_LIGHTS
 | 
			
		||||
 | 
			
		||||
void rgblight_fade_helper(bool direction){
 | 
			
		||||
  // true: increase val = fade in 
 | 
			
		||||
  // false: decrease val = fade out
 | 
			
		||||
  for (uint8_t index = 0; index <  RGBLIGHT_VAL_STEP ; index++) {
 | 
			
		||||
    direction ? rgblight_increase_val()  : rgblight_decrease_val();
 | 
			
		||||
    wait_ms(5);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
void fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val){
 | 
			
		||||
  // indicate success / fail of a leader sequence
 | 
			
		||||
  // fade out, set new hue and saturation, fade in, fade out, set old color, fade in
 | 
			
		||||
  // this is used in leader.c
 | 
			
		||||
  // TODO: come up with a better name maybe
 | 
			
		||||
  rgblight_fade_helper(false); 
 | 
			
		||||
  rgblight_sethsv_noeeprom(hue, sat, 0); 
 | 
			
		||||
  rgblight_fade_helper(true); 
 | 
			
		||||
  rgblight_fade_helper(false); 
 | 
			
		||||
  rgblight_sethsv_noeeprom(base_hue, base_sat, 0); 
 | 
			
		||||
  rgblight_fade_helper(true); 
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								users/kuchosauronad0/rgblight_user.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								users/kuchosauronad0/rgblight_user.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
#include "kuchosauronad0.h"
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    bool     enabled;
 | 
			
		||||
    uint8_t  hue;
 | 
			
		||||
    uint16_t timer;
 | 
			
		||||
    uint8_t  life;
 | 
			
		||||
} rgblight_fadeout;
 | 
			
		||||
const uint8_t RGBLIGHT_FADE_SPEED[6] PROGMEM;
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_rgb(layer_state_t state);
 | 
			
		||||
layer_state_t default_layer_state_set_rgb(layer_state_t state);
 | 
			
		||||
 | 
			
		||||
bool          process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
void          scan_rgblight_fadeout(void);
 | 
			
		||||
void          keyboard_post_init_rgb(void);
 | 
			
		||||
void          matrix_scan_rgb(void);
 | 
			
		||||
void          rgblight_sethsv_default_helper(uint8_t index);
 | 
			
		||||
void          rgblight_savebase(void);
 | 
			
		||||
void          rgblight_loadbase(void);
 | 
			
		||||
void          rgblight_fade_helper(bool direction);
 | 
			
		||||
void          fadeflash_leds(uint8_t hue, uint8_t sat, uint8_t val);
 | 
			
		||||
| 
						 | 
				
			
			@ -2,10 +2,11 @@ SRC += kuchosauronad0.c \
 | 
			
		|||
	   process_records.c
 | 
			
		||||
 | 
			
		||||
LINK_TIME_OPTIMIZATION_ENABLE = yes
 | 
			
		||||
SPACE_CADET_ENABLE            = no
 | 
			
		||||
 | 
			
		||||
#ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
 | 
			
		||||
#     SRC += secrets.c
 | 
			
		||||
#endif
 | 
			
		||||
ifneq ($(strip $(RGBLIGHT_ENABLE)),yes )
 | 
			
		||||
     SRC += rgblight_user.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
 | 
			
		||||
     SRC += tap_dances.c
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +15,7 @@ endif
 | 
			
		|||
ifeq ($(strip $(ENCODER_ENABLE)), yes)
 | 
			
		||||
     SRC += encoder.c
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(COMBO_ENABLE)), yes)
 | 
			
		||||
     SRC += combo.c
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ arguments, we need a wrapper in order for these definitions to be
 | 
			
		|||
expanded before being used as arguments to the LAYOUT_xxx macro.
 | 
			
		||||
*/
 | 
			
		||||
#if (!defined(LAYOUT) && defined(KEYMAP))
 | 
			
		||||
#define LAYOUT KEYMAP
 | 
			
		||||
#  define LAYOUT KEYMAP
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_ergodox_wrapper(...)          LAYOUT_ergodox(__VA_ARGS__)
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,8 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
 | 
			
		|||
#define LAYOUT_ortho_4x12_wrapper(...)       LAYOUT_ortho_4x12(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_ortho_5x12_wrapper(...)       LAYOUT_ortho_5x12(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
#define LAYOUT_collide39_base_wrapper(...)   LAYOUT_collide39_base(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Blocks for each of the four major keyboard layouts
 | 
			
		||||
Organized so we can quickly adapt and modify all of them
 | 
			
		||||
| 
						 | 
				
			
			@ -26,20 +28,30 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
  then you need to add/remove underscores to keep the
 | 
			
		||||
  lengths consistent.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#define ___________________BLANK___________________        _______, _______, _______, _______, _______
 | 
			
		||||
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
  #define _________________QWERTY_L1_________________        KC_Q,    KC_DW,   KC_EOL,  KC_R,    KC_TMX
 | 
			
		||||
  #define _________________QWERTY_L2_________________        KC_BOL,  KC_S,    KC_D,    KC_NW,   KC_G
 | 
			
		||||
  #define _________________QWERTY_L3_________________        KC_Z,    KC_X,    KC_C,    KC_V,    KC_PW
 | 
			
		||||
#  define _________________QWERTY_L1_________________     KC_Q,    KC_DW,   KC_EOL,  KC_R,    KC_TMX
 | 
			
		||||
#  define _________________QWERTY_L2_________________     KC_BOL,  KC_S,    KC_D,    KC_NW,   KC_G
 | 
			
		||||
#  define _________________QWERTY_L3_________________     KC_Z,    KC_X,    KC_C,    KC_V,    KC_PW
 | 
			
		||||
#else
 | 
			
		||||
  #define _________________QWERTY_L1_________________        KC_Q,    KC_W,   KC_E,  KC_R,   KC_T
 | 
			
		||||
  #define _________________QWERTY_L2_________________        KC_A,    KC_S,   KC_D,  KC_F,   KC_G
 | 
			
		||||
  #define _________________QWERTY_L3_________________        KC_Z,    KC_X,   KC_C,  KC_V,   KC_B
 | 
			
		||||
#  define _________________QWERTY_L1_________________     KC_Q,    KC_W,    KC_E,    KC_R,    KC_T
 | 
			
		||||
#  define _________________QWERTY_L2_________________     KC_A,    KC_S,    KC_D,    KC_F,    KC_G
 | 
			
		||||
#  define _________________QWERTY_L3_________________     KC_Z,    KC_X,    KC_C,    KC_V,    KC_B
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define _________________QWERTY_R1_________________        KC_Y,    KC_U,    KC_I,    KC_O,    KC_P
 | 
			
		||||
#define _________________QWERTY_R2_________________        KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN
 | 
			
		||||
#define _________________QWERTY_R3_________________        KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLASH
 | 
			
		||||
#define _________________QWERTY_R1_________________       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P
 | 
			
		||||
#define _________________QWERTY_R2_________________       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN
 | 
			
		||||
#define _________________QWERTY_R3_________________       KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLASH
 | 
			
		||||
 | 
			
		||||
#define _________________PLOVER_L1_________________       KC_Q,    KC_W,    KC_E,    KC_R,    KC_T
 | 
			
		||||
#define _________________PLOVER_L2_________________       KC_A,    KC_S,    KC_D,    KC_F,    KC_G
 | 
			
		||||
#define _________________PLOVER_L3_________________       KC_NO,   KC_NO,   KC_C,    KC_V,    KC_NO
 | 
			
		||||
 | 
			
		||||
#define _________________PLOVER_R1_________________       KC_Y,    KC_U,    KC_I,    KC_O,    KC_P
 | 
			
		||||
#define _________________PLOVER_R2_________________       KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN
 | 
			
		||||
#define _________________PLOVER_R3_________________       KC_NO,   KC_NO,   KC_N,    KC_M,    KC_NO
 | 
			
		||||
 | 
			
		||||
#define _________________COLEMAK_L1________________       KC_Q,    KC_W,    KC_F,    KC_P,    KC_G
 | 
			
		||||
#define _________________COLEMAK_L2________________       KC_A,    KC_R,    KC_S,    KC_T,    KC_D
 | 
			
		||||
| 
						 | 
				
			
			@ -57,23 +69,21 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define ______________COLEMAK_MOD_DH_R2____________       KC_M,    KC_N,    KC_E,    KC_I,    KC_O
 | 
			
		||||
#define ______________COLEMAK_MOD_DH_R3____________       KC_K,    KC_H,    KC_COMM, KC_DOT,  KC_SLASH
 | 
			
		||||
 | 
			
		||||
#define _________________DVORAK_L1_________________       KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y
 | 
			
		||||
#define _________________DVORAK_L2_________________       KC_A,    KC_O,    KC_E,   KC_U,     KC_I
 | 
			
		||||
#define _________________DVORAK_L3_________________       KC_SCLN, KC_Q,    KC_J,   KC_K,     KC_X
 | 
			
		||||
 | 
			
		||||
#define _________________DVORAK_L1_________________        KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y
 | 
			
		||||
#define _________________DVORAK_L2_________________        KC_A,    KC_O,    KC_E,   KC_U,     KC_I
 | 
			
		||||
#define _________________DVORAK_L3_________________        KC_SCLN, KC_Q,    KC_J,   KC_K,     KC_X
 | 
			
		||||
#define _________________DVORAK_R1_________________       KC_F,    KC_G,    KC_C,    KC_R,    KC_L
 | 
			
		||||
#define _________________DVORAK_R2_________________       KC_D,    KC_H,    KC_T,    KC_N,    KC_S
 | 
			
		||||
#define _________________DVORAK_R3_________________       KC_B,    KC_M,    KC_W,    KC_V,    KC_Z
 | 
			
		||||
 | 
			
		||||
#define _________________DVORAK_R1_________________        KC_F,    KC_G,    KC_C,    KC_R,    KC_L
 | 
			
		||||
#define _________________DVORAK_R2_________________        KC_D,    KC_H,    KC_T,    KC_N,    KC_S
 | 
			
		||||
#define _________________DVORAK_R3_________________        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z
 | 
			
		||||
 | 
			
		||||
#define ________________DVORAK_AU_L1_______________        KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y
 | 
			
		||||
#define ________________DVORAK_AU_L2_______________        KC_O,    KC_A,    KC_E,   KC_I,     KC_U
 | 
			
		||||
#define ________________DVORAK_AU_L3_______________        KC_SCLN, KC_Q,    KC_J,   KC_K,     KC_X
 | 
			
		||||
 | 
			
		||||
#define ________________DVORAK_AU_R1_______________        KC_F,    KC_G,    KC_C,    KC_R,    KC_L
 | 
			
		||||
#define ________________DVORAK_AU_R2_______________        KC_D,    KC_H,    KC_T,    KC_N,    KC_S
 | 
			
		||||
#define ________________DVORAK_AU_R3_______________        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z
 | 
			
		||||
#define ________________DVORAK_AU_L1_______________       KC_QUOT, KC_COMM, KC_DOT, KC_P,     KC_Y
 | 
			
		||||
#define ________________DVORAK_AU_L2_______________       KC_O,    KC_A,    KC_E,   KC_I,     KC_U
 | 
			
		||||
#define ________________DVORAK_AU_L3_______________       KC_SCLN, KC_Q,    KC_J,   KC_K,     KC_X
 | 
			
		||||
 | 
			
		||||
#define ________________DVORAK_AU_R1_______________       KC_F,    KC_G,    KC_C,    KC_R,    KC_L
 | 
			
		||||
#define ________________DVORAK_AU_R2_______________       KC_D,    KC_H,    KC_T,    KC_N,    KC_S
 | 
			
		||||
#define ________________DVORAK_AU_R3_______________       KC_B,    KC_M,    KC_W,    KC_V,    KC_Z
 | 
			
		||||
 | 
			
		||||
#define _________________WORKMAN_L1________________       KC_Q,    KC_D,    KC_R,   KC_W,     KC_B
 | 
			
		||||
#define _________________WORKMAN_L2________________       KC_A,    KC_S,    KC_H,   KC_T,     KC_G
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +93,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _________________WORKMAN_R2________________       KC_Y,    KC_N,    KC_E,    KC_O,    KC_I
 | 
			
		||||
#define _________________WORKMAN_R3________________       KC_K,    KC_L,    KC_COMM, KC_DOT,  KC_SLASH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _________________NORMAN_L1_________________       KC_Q,    KC_W,    KC_D,    KC_F,    KC_K
 | 
			
		||||
#define _________________NORMAN_L2_________________       KC_A,    KC_S,    KC_E,    KC_T,    KC_G
 | 
			
		||||
#define _________________NORMAN_L3_________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_B
 | 
			
		||||
| 
						 | 
				
			
			@ -92,7 +101,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _________________NORMAN_R2_________________       KC_Y,    KC_N,    KC_I,    KC_O,    KC_U
 | 
			
		||||
#define _________________NORMAN_R3_________________       KC_P,    KC_M,    KC_COMM, KC_DOT,  KC_SLASH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _________________MALTRON_L1________________       KC_Q,    KC_P,    KC_Y,    KC_C,    KC_B
 | 
			
		||||
#define _________________MALTRON_L2________________       KC_A,    KC_N,    KC_I,    KC_S,    KC_F
 | 
			
		||||
#define _________________MALTRON_L3________________       KC_SCLN, KC_SLSH, KC_J,    KC_G,    KC_COMM
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +109,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _________________MALTRON_R2________________       KC_D,    KC_T,    KC_D,    KC_O,    KC_R
 | 
			
		||||
#define _________________MALTRON_R3________________       KC_DOT,  KC_W,    KC_K,    KC_MINS, KC_X
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _________________EUCALYN_L1________________       KC_SLSH, KC_COMM, KC_DOT,  KC_F,    KC_Q
 | 
			
		||||
#define _________________EUCALYN_L2________________       KC_A,    KC_O,    KC_E,    KC_I,    KC_U
 | 
			
		||||
#define _________________EUCALYN_L3________________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_W
 | 
			
		||||
| 
						 | 
				
			
			@ -110,7 +117,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _________________EUCALYN_R2________________       KC_G,    KC_T,    KC_K,    KC_S,    KC_N
 | 
			
		||||
#define _________________EUCALYN_R3________________       KC_B,    KC_H,    KC_J,    KC_L,    KC_SCLN
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _____________CARPLAX_QFMLWY_L1_____________       KC_Q,    KC_F,    KC_M,    KC_L,    KC_W
 | 
			
		||||
#define _____________CARPLAX_QFMLWY_L2_____________       KC_D,    KC_S,    KC_T,    KC_N,    KC_R
 | 
			
		||||
#define _____________CARPLAX_QFMLWY_L3_____________       KC_Z,    KC_V,    KC_G,    KC_C,    KC_X
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +125,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _____________CARPLAX_QFMLWY_R2_____________       KC_I,    KC_A,    KC_E,    KC_H,    KC_SCLN
 | 
			
		||||
#define _____________CARPLAX_QFMLWY_R3_____________       KC_P,    KC_K,    KC_COMM, KC_DOT,  KC_SLSH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _____________CARPLAX_QGMLWB_L1_____________       KC_Q,    KC_G,    KC_M,    KC_L,    KC_W
 | 
			
		||||
#define _____________CARPLAX_QGMLWB_L2_____________       KC_D,    KC_S,    KC_T,    KC_N,    KC_R
 | 
			
		||||
#define _____________CARPLAX_QGMLWB_L3_____________       KC_Z,    KC_X,    KC_C,    KC_F,    KC_J
 | 
			
		||||
| 
						 | 
				
			
			@ -128,7 +133,6 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _____________CARPLAX_QGMLWB_R2_____________       KC_I,    KC_A,    KC_E,    KC_O,    KC_H
 | 
			
		||||
#define _____________CARPLAX_QGMLWB_R3_____________       KC_K,    KC_P,    KC_COMM, KC_DOT,  KC_SLSH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _____________CARPLAX_QGMLWY_L1_____________       KC_Q,    KC_G,    KC_M,    KC_L,    KC_W
 | 
			
		||||
#define _____________CARPLAX_QGMLWY_L2_____________       KC_D,    KC_S,    KC_T,    KC_N,    KC_R
 | 
			
		||||
#define _____________CARPLAX_QGMLWY_L3_____________       KC_Z,    KC_X,    KC_C,    KC_V,    KC_J
 | 
			
		||||
| 
						 | 
				
			
			@ -138,23 +142,23 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _____________CARPLAX_QGMLWY_R3_____________       KC_K,    KC_P,    KC_COMM, KC_DOT,  KC_SLSH
 | 
			
		||||
 | 
			
		||||
#ifdef UNICODE_ENABLE
 | 
			
		||||
#define _______________UNICODE_L1__________________        UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
#define _______________UNICODE_L2__________________        UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
#define _______________UNICODE_L3__________________        UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
#  define _______________UNICODE_L1__________________     UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
#  define _______________UNICODE_L2__________________     UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
#  define _______________UNICODE_L3__________________     UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
 | 
			
		||||
 | 
			
		||||
#define _______________UNICODE_R1__________________        UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#define _______________UNICODE_R2__________________        UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#define _______________UNICODE_R3__________________        UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#  define _______________UNICODE_R1__________________     UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#  define _______________UNICODE_R2__________________     UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#  define _______________UNICODE_R3__________________     UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef UNICODEMAP_ENABLE
 | 
			
		||||
#define _______________UNICODE_L1__________________        X(SMRK),  X(THINK),  X(CLOWN), X(HUNDR), X(BANG)
 | 
			
		||||
#define _______________UNICODE_L2__________________        X(GRIN),  X(MONKEY), X(OKOK), X(EGGPL), X(LIT)
 | 
			
		||||
#define _______________UNICODE_L3__________________        X(WEARY), X(UNAMU),  X(EFFU), X(MONOCL), X(IRONY)
 | 
			
		||||
#  define _______________UNICODE_L1__________________     X(SMRK),  X(THINK),  X(CLOWN), X(HUNDR),  X(BANG)
 | 
			
		||||
#  define _______________UNICODE_L2__________________     X(GRIN),  X(MONKEY), X(OKOK),  X(EGGPL),  X(LIT)
 | 
			
		||||
#  define _______________UNICODE_L3__________________     X(WEARY), X(UNAMU),  X(EFFU),  X(MONOCL), X(IRONY)
 | 
			
		||||
 | 
			
		||||
#define _______________UNICODE_R1__________________        X(DRUG0), X(THUP), X(INUP), X(DIZZY), X(COOL)
 | 
			
		||||
#define _______________UNICODE_R2__________________        X(FIST0), X(FIST2),X(FIST3),X(FIST1), X(OKOK)
 | 
			
		||||
#define _______________UNICODE_R3__________________        X(MNDBLWN), X(THDN), X(SPOCK),X(HOLE),  X(DASH)
 | 
			
		||||
#  define _______________UNICODE_R1__________________     X(DRUG0),   X(THUP),  X(INUP),  X(DIZZY), X(COOL)
 | 
			
		||||
#  define _______________UNICODE_R2__________________     X(FIST0),   X(FIST2), X(FIST3), X(FIST1), X(OKOK)
 | 
			
		||||
#  define _______________UNICODE_R3__________________     X(MNDBLWN), X(THDN),  X(SPOCK), X(HOLE),  X(DASH)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define ________________NUMBER_LEFT________________       KC_1,    KC_2,    KC_3,    KC_4,    KC_5
 | 
			
		||||
| 
						 | 
				
			
			@ -162,45 +166,47 @@ NOTE: These are all the same length.  If you do a search/replace
 | 
			
		|||
#define _________________FUNC_LEFT_________________       KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5
 | 
			
		||||
#define _________________FUNC_RIGHT________________       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10
 | 
			
		||||
 | 
			
		||||
#define ___________________BLANK___________________        _______, _______, _______, _______, _______
 | 
			
		||||
#define _________________MEDIA_RIGHT_______________       KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
 | 
			
		||||
#define _________________MEDIA_LEFT________________       KC_VOLD, KC_VOLD, KC_MUTE, KC_VOLU, KC_VOLU
 | 
			
		||||
 | 
			
		||||
#define _________________LOWER_L1__________________       KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC
 | 
			
		||||
#define _________________LOWER_L2__________________       ___________________BLANK___________________
 | 
			
		||||
#define _________________LOWER_L3__________________       _______, _______, _______, OS_UNI,  TM_X
 | 
			
		||||
 | 
			
		||||
#define _________________LOWER_L1__________________        KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC
 | 
			
		||||
#define _________________LOWER_L2__________________        ___________________BLANK___________________
 | 
			
		||||
#define _________________LOWER_L3__________________        ___________________BLANK___________________
 | 
			
		||||
#define _________________LOWER_R1__________________       KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
 | 
			
		||||
#define _________________LOWER_R2__________________       _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
 | 
			
		||||
#define _________________LOWER_R3__________________       _______, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
 | 
			
		||||
 | 
			
		||||
#define _________________LOWER_R1__________________        KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
 | 
			
		||||
#define _________________LOWER_R2__________________        OS_UNI, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
 | 
			
		||||
#define _________________LOWER_R3__________________        TM_X,    KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT
 | 
			
		||||
#define _________________RAISE_L1__________________       ________________NUMBER_LEFT________________
 | 
			
		||||
#define _________________RAISE_L2__________________       ___________________BLANK___________________
 | 
			
		||||
#define _________________RAISE_L3__________________       ___________________BLANK___________________
 | 
			
		||||
 | 
			
		||||
#define _________________RAISE_R1__________________       ________________NUMBER_RIGHT_______________
 | 
			
		||||
#define _________________RAISE_R2__________________       _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC
 | 
			
		||||
#define _________________RAISE_R3__________________       _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
 | 
			
		||||
 | 
			
		||||
#define _________________ADJUST_L1_________________       QWERTY,  COLEMAK, DVORAK,  WORKMAN, PLOVER
 | 
			
		||||
#define _________________ADJUST_L2_________________       _________________FUNC_LEFT_________________
 | 
			
		||||
#define _________________ADJUST_L3_________________       _________________MEDIA_LEFT________________
 | 
			
		||||
 | 
			
		||||
#define _________________RAISE_L1__________________        ________________NUMBER_LEFT________________
 | 
			
		||||
#define _________________RAISE_L2__________________        ___________________BLANK___________________
 | 
			
		||||
#define _________________RAISE_L3__________________        ___________________BLANK___________________
 | 
			
		||||
#define _________________ADJUST_R1_________________       SEC1,    SEC2,    SEC3,    SEC4,    SEC5
 | 
			
		||||
#define _________________ADJUST_R2_________________       _________________FUNC_RIGHT________________
 | 
			
		||||
#define _________________ADJUST_R3_________________       _________________MEDIA_RIGHT_______________
 | 
			
		||||
 | 
			
		||||
#define _________________RAISE_R1__________________        ________________NUMBER_RIGHT_______________
 | 
			
		||||
#define _________________RAISE_R2__________________        _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC
 | 
			
		||||
#define _________________RAISE_R3__________________        _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
 | 
			
		||||
#define _________________RGB_UP____________________       RGB_MOD,  RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
 | 
			
		||||
#define _________________RGB_CENTER________________       MU_TOG ,  CK_TOGG, AU_ON,   AU_OFF,  AG_NORM
 | 
			
		||||
#define _________________RGB_DOWN__________________       RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
 | 
			
		||||
 | 
			
		||||
#define _________________RGB_R1____________________       RGB_MOD,  RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
 | 
			
		||||
#define _________________RGB_R2____________________       MU_TOG ,  CK_TOGG, AU_ON,   AU_OFF,  AG_NORM
 | 
			
		||||
#define _________________RGB_R3____________________       RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
 | 
			
		||||
 | 
			
		||||
#define __________________GAMEPAD_L1_______________       _______,  KC_Q,    KC_W,    KC_E,     _______
 | 
			
		||||
#define __________________GAMEPAD_L2_______________       _______,  KC_A,    KC_S,    KC_D,     _______
 | 
			
		||||
#define __________________GAMEPAD_L3_______________       KC_1,     KC_2,    KC_3,    KC_4,     KC_5
 | 
			
		||||
 | 
			
		||||
#define _________________ADJUST_L1_________________        ___________________BLANK___________________
 | 
			
		||||
#define _________________ADJUST_L2_________________        _________________FUNC_LEFT_________________
 | 
			
		||||
#define _________________ADJUST_L3_________________        AG_SWAP, QWERTY,  COLEMAK, DVORAK,  WORKMAN
 | 
			
		||||
#define __________________GAMEPAD_R1_______________       _______,  KC_U,    KC_UP,   KC_O,     _______
 | 
			
		||||
#define __________________GAMEPAD_R2_______________       _______,  KC_LEFT, KC_DOWN, KC_RIGHT, _______
 | 
			
		||||
#define __________________GAMEPAD_R3_______________       KC_6,     KC_7,    KC_8,    KC_9,     KC_0
 | 
			
		||||
/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */
 | 
			
		||||
 | 
			
		||||
#define _________________ADJUST_R1_________________        KC_SEC1, KC_SEC2, KC_SEC3, KC_SEC4, KC_SEC5
 | 
			
		||||
#define _________________ADJUST_R2_________________        _________________FUNC_RIGHT________________
 | 
			
		||||
#define _________________ADJUST_R3_________________        KC_MUTE, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#define _________________RGB_L1____________________       RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
 | 
			
		||||
#define _________________RGB_L2____________________       MU_TOG , CK_TOGG, AU_ON,   AU_OFF,  AG_NORM
 | 
			
		||||
#define _________________RGB_L3____________________       RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
 | 
			
		||||
#define _________________RGB_R1____________________       RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
 | 
			
		||||
#define _________________RGB_R2____________________       MU_TOG , CK_TOGG, AU_ON,   AU_OFF,  AG_NORM
 | 
			
		||||
#define _________________RGB_R3____________________       RGB_RMOD,RGB_HUD,RGB_SAD, RGB_VAD, KC_RGB_T
 | 
			
		||||
*/
 | 
			
		||||
/* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et
 | 
			
		||||
     */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue