* Add tap-dancing semicolon. * Infinity60 was running out of USB space. * Rename common layout variable so it doesn't collide with some keyboards. * Godspeed!!! * Patch the number of LEDs for 1up60rgb * Don't light up if rgblight is off. * Add HHKB layout. * Add HHKB to Talljoe's layout. * Bring back bananasplit keymap. * info.json * Userspace config.h doesn't seem to be setting PREVENT_STUCK_MODIFIERS * Remove 1uprgb workaround * Add TKL to talljoe keymap. Also introduces the tkl layout.
		
			
				
	
	
		
			147 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef USERSPACE
 | 
						|
#define USERSPACE
 | 
						|
 | 
						|
#include "quantum.h"
 | 
						|
 | 
						|
enum userspace_custom_keycodes {
 | 
						|
  KC_MAKE = SAFE_RANGE, // can always be here
 | 
						|
  DFAULTS,
 | 
						|
  TOGGLE_BACKLIGHT,
 | 
						|
  EFFECT,
 | 
						|
  EFFECT_END = EFFECT + 10
 | 
						|
};
 | 
						|
 | 
						|
#ifndef RESET_LAYER
 | 
						|
#define RESET_LAYER 15
 | 
						|
#endif
 | 
						|
 | 
						|
enum layers {
 | 
						|
    _BASE = 0,
 | 
						|
    _WORKMAN,
 | 
						|
    _NORMAN,
 | 
						|
    _DVORAK,
 | 
						|
    _COLMAK,
 | 
						|
    _GAME,
 | 
						|
    _NAV,
 | 
						|
    _NUM,
 | 
						|
    _ADJUST,
 | 
						|
    _RESET = RESET_LAYER,
 | 
						|
};
 | 
						|
 | 
						|
enum tap_dancers {
 | 
						|
  TD_SEMICOLON
 | 
						|
};
 | 
						|
 | 
						|
#define _______ KC_TRNS
 | 
						|
#define XXXXXXX KC_NO
 | 
						|
 | 
						|
#define MO_NAV    MO(_NAV)
 | 
						|
#define MO_ADJ    MO(_ADJUST)
 | 
						|
#define MO_RST    MO(_RESET)
 | 
						|
#define TG_ADJ    TG(_ADJUST)
 | 
						|
#ifdef ENABLE_GAME_LAYER
 | 
						|
  #define TG_GAME TG(_GAME)
 | 
						|
#else
 | 
						|
  #define TG_GAME KC_NO
 | 
						|
#endif
 | 
						|
#define LY_QWER   DF(_BASE)
 | 
						|
#define LY_WORK   DF(_WORKMAN)
 | 
						|
#define LY_NRMN   DF(_NORMAN)
 | 
						|
#define LY_DVRK   DF(_DVORAK)
 | 
						|
#define LY_CLMK   DF(_COLMAK)
 | 
						|
#define TG_NKRO   MAGIC_TOGGLE_NKRO
 | 
						|
#define KC_PTT    KC_F24
 | 
						|
#define MS_MID    KC_MS_BTN3
 | 
						|
#define FX(x)     (EFFECT + x)
 | 
						|
 | 
						|
#define US_CAPS   CTL_T(KC_ESC)
 | 
						|
#define US_QUOT   RCTL_T(KC_QUOT)
 | 
						|
#define US_MINS   RCTL_T(KC_QUOT)
 | 
						|
#define US_SCLN   TD(TD_SEMICOLON)
 | 
						|
#define US_ENT    LT(_NUM, KC_ENT)
 | 
						|
 | 
						|
#ifndef SPACE_COUNT
 | 
						|
  #define SPACE_COUNT 1
 | 
						|
#endif
 | 
						|
#if (SPACE_COUNT == 1)
 | 
						|
  #define KC_SPC1   LT(_NAV, KC_SPC)
 | 
						|
  #define KC_SPC2   XXXXXXX
 | 
						|
  #define KC_SPC3   XXXXXXX
 | 
						|
 | 
						|
  #define NV_SPC1   _______
 | 
						|
  #define NV_SPC2   _______
 | 
						|
  #define NV_SPC3   _______
 | 
						|
 | 
						|
  #define NM_SPC1   _______
 | 
						|
  #define NM_SPC2   _______
 | 
						|
  #define NM_SPC3   _______
 | 
						|
#elif (SPACE_COUNT == 3)
 | 
						|
  #define KC_SPC1   KC_BSPC
 | 
						|
  #define KC_SPC2   LT(_NUM,KC_ENT)
 | 
						|
  #define KC_SPC3   LT(_NAV,KC_SPC)
 | 
						|
 | 
						|
  #define NV_SPC1   KC_SPC
 | 
						|
  #define NV_SPC2   C_S_T(KC_ENT)
 | 
						|
  #define NV_SPC3   KC_SPC
 | 
						|
 | 
						|
  #define NM_SPC2   XXXXXXX
 | 
						|
  #define NM_SPC1   KC_SPC
 | 
						|
  #define NM_SPC3   KC_0
 | 
						|
#else
 | 
						|
  #error "Unsupported space count:" SPACE_COUNT
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef ZEAL_RGB
 | 
						|
  #define BR_INC KC_NO
 | 
						|
  #define BR_DEC KC_NO
 | 
						|
  #define EF_INC KC_NO
 | 
						|
  #define EF_DEC KC_NO
 | 
						|
  #define ES_INC KC_NO
 | 
						|
  #define ES_DEC KC_NO
 | 
						|
  #define H1_INC KC_NO
 | 
						|
  #define H1_DEC KC_NO
 | 
						|
  #define S1_INC KC_NO
 | 
						|
  #define S1_DEC KC_NO
 | 
						|
  #define H2_INC KC_NO
 | 
						|
  #define H2_DEC KC_NO
 | 
						|
  #define S2_INC KC_NO
 | 
						|
  #define S2_DEC KC_NO
 | 
						|
  #define FN_MO13 KC_NO
 | 
						|
  #define FN_MO2 KC_NO
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef TEMPLATE_TKL
 | 
						|
  #define _X_ KC_NO
 | 
						|
  #define TEMPLATE( \
 | 
						|
    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6,      \
 | 
						|
    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,           \
 | 
						|
    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,           \
 | 
						|
    KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3, KA5,           \
 | 
						|
    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1            \
 | 
						|
  ) TEMPLATE_TKL ( \
 | 
						|
    KJ6,      _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_, _X_,   _X_, _X_, KA5, \
 | 
						|
    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2,   _X_, _X_, _X_, \
 | 
						|
    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,   _X_, _X_, _X_, \
 | 
						|
    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,                  \
 | 
						|
    KN2,      KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3,        _X_,      \
 | 
						|
    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1,   _X_, _X_, _X_  \
 | 
						|
  )
 | 
						|
#else
 | 
						|
  #define TEMPLATE_TKL( \
 | 
						|
    KJ6,      KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0,   KC7, KC5, KA5, \
 | 
						|
    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2,   KL4, KO4, KQ4, \
 | 
						|
    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,   KK4, KO7, KQ7, \
 | 
						|
    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,                  \
 | 
						|
    KN2,      KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3,        KO6,      \
 | 
						|
    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1,   KO0, KK0, KL0  \
 | 
						|
  ) TEMPLATE( \
 | 
						|
    KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KJ6,      \
 | 
						|
    KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3,           \
 | 
						|
    KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6,      KB1,           \
 | 
						|
    KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0,      KN3, KA5,           \
 | 
						|
    KA4, KP2, KC6,           KX1, KK6, KX2,           KC0, KM3, KD0, KA1            \
 | 
						|
  )
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |