forked from mirrors/qmk_userspace
		
	Klackygears add user and handwired brain (#9154)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Erovia <Erovia@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								7baeaae9bb
							
						
					
				
			
			
				commit
				
					
						d36d5ecfad
					
				
			
		
					 16 changed files with 1038 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								keyboards/handwired/brain/brain.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/handwired/brain/brain.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
#include "brain.h"
 | 
			
		||||
							
								
								
									
										28
									
								
								keyboards/handwired/brain/brain.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								keyboards/handwired/brain/brain.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define LAYOUT( \
 | 
			
		||||
         L01, L02, L03, L04, L05, L06,                     R00, R01, R02, R03, R04, R05, \
 | 
			
		||||
    L10, L11, L12, L13, L14, L15, L16,                     R10, R11, R12, R13, R14, R15, R16, \
 | 
			
		||||
    L20, L21, L22, L23, L24, L25, L26,                     R20, R21, R22, R23, R24, R25, R26, \
 | 
			
		||||
         L31, L32, L33, L34, L35,                               R31, R32, R33, R34, R35, \
 | 
			
		||||
                   L43, L44, L45,                               R41, R42, R43 \
 | 
			
		||||
    ) \
 | 
			
		||||
    { \
 | 
			
		||||
        { KC_NO, L01,   L02, L03, L04, L05, L06},   \
 | 
			
		||||
        { L10,   L11,   L12, L13, L14, L15, L16},   \
 | 
			
		||||
        { L20,   L21,   L22, L23, L24, L25, L26},   \
 | 
			
		||||
        { KC_NO, L31,   L32, L33, L34, L35, KC_NO}, \
 | 
			
		||||
        { KC_NO, KC_NO, KC_NO, L43, L44, L45, KC_NO}, \
 | 
			
		||||
\
 | 
			
		||||
        { R00,   R01, R02, R03, R04,   R05,   KC_NO }, \
 | 
			
		||||
        { R10,   R11, R12, R13, R14,   R15,   R16 },   \
 | 
			
		||||
        { R20,   R21, R22, R23, R24,   R25,   R26 },   \
 | 
			
		||||
        { KC_NO, R31, R32, R33, R34,   R35,   KC_NO }, \
 | 
			
		||||
        { KC_NO, R41, R42, R43, KC_NO, KC_NO, KC_NO }, \
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										111
									
								
								keyboards/handwired/brain/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								keyboards/handwired/brain/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,111 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
			
		||||
Copyright 2015 Jack Humbert
 | 
			
		||||
Copyright 2020 James Smith <bronzegears@gmail.com> @klackygears
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "config_common.h"
 | 
			
		||||
/* USB Device descriptor parameter */
 | 
			
		||||
#define VENDOR_ID 0x4A53
 | 
			
		||||
#define PRODUCT_ID 0x0001
 | 
			
		||||
#define DEVICE_VER 0x0001
 | 
			
		||||
#define MANUFACTURER klackygears
 | 
			
		||||
#define PRODUCT Brain
 | 
			
		||||
#define DESCRIPTION A split ergonomic keyboard with sculpted shell
 | 
			
		||||
 | 
			
		||||
#define SPLIT_USB_DETECT
 | 
			
		||||
 | 
			
		||||
/* key matrix size */
 | 
			
		||||
// Rows are doubled-up
 | 
			
		||||
#define MATRIX_ROWS 10
 | 
			
		||||
#define MATRIX_COLS 7
 | 
			
		||||
 | 
			
		||||
// wiring of each half
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS \
 | 
			
		||||
    { D1, D4, C6, D7, E6, B4, B5 }
 | 
			
		||||
#define MATRIX_ROW_PINS \
 | 
			
		||||
    { F4, F5, F6, F7, B1 }
 | 
			
		||||
 | 
			
		||||
#define MATRIX_COL_PINS_RIGHT \
 | 
			
		||||
    { B5, B4, E6, D7, C6, D4, D1 }
 | 
			
		||||
 | 
			
		||||
#define DIODE_DIRECTION COL2ROW
 | 
			
		||||
 | 
			
		||||
/* mouse config */
 | 
			
		||||
#define MOUSEKEY_INTERVAL 20
 | 
			
		||||
#define MOUSEKEY_DELAY 0
 | 
			
		||||
#define MOUSEKEY_TIME_TO_MAX 60
 | 
			
		||||
#define MOUSEKEY_MAX_SPEED 7
 | 
			
		||||
#define MOUSEKEY_WHEEL_DELAY 0
 | 
			
		||||
 | 
			
		||||
/* Set 0 if debouncing isn't needed */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* serial.c configuration for split keyboard */
 | 
			
		||||
#define SOFT_SERIAL_PIN D0
 | 
			
		||||
#define EE_HANDS
 | 
			
		||||
 | 
			
		||||
//#define SPLIT_HAND_PIN B7
 | 
			
		||||
 | 
			
		||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
			
		||||
#define LOCKING_SUPPORT_ENABLE
 | 
			
		||||
/* Locking resynchronize hack */
 | 
			
		||||
#define LOCKING_RESYNC_ENABLE
 | 
			
		||||
 | 
			
		||||
/* Enables This makes it easier for fast typists to use dual-function keys */
 | 
			
		||||
#define PERMISSIVE_HOLD
 | 
			
		||||
 | 
			
		||||
/* ws2812 RGB LED */
 | 
			
		||||
#define RGB_DI_PIN D3
 | 
			
		||||
 | 
			
		||||
#define RGBLED_NUM 28  // Number of LEDs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define RGBLIGHT_LIMIT_VAL 120
 | 
			
		||||
 | 
			
		||||
#define RGBLIGHT_SPLIT
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* disable debug print */
 | 
			
		||||
// #define NO_DEBUG
 | 
			
		||||
 | 
			
		||||
/* disable print */
 | 
			
		||||
// #define NO_PRINT
 | 
			
		||||
 | 
			
		||||
/* disable action features */
 | 
			
		||||
//#define NO_ACTION_LAYER
 | 
			
		||||
//#define NO_ACTION_TAPPING
 | 
			
		||||
//#define NO_ACTION_ONESHOT
 | 
			
		||||
//#define NO_ACTION_MACRO
 | 
			
		||||
//#define NO_ACTION_FUNCTION
 | 
			
		||||
 | 
			
		||||
//#define PREVENT_STUCK_MODIFIERS
 | 
			
		||||
//#define TAPPING_TERM 150
 | 
			
		||||
//#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
//#define TAPPING_FORCE_HOLD
 | 
			
		||||
 | 
			
		||||
#define BOOTMAGIC_LITE_ROW 0
 | 
			
		||||
#define BOOTMAGIC_LITE_COLUMN 6
 | 
			
		||||
#define BOOTMAGIC_LITE_ROW_RIGHT 5
 | 
			
		||||
#define BOOTMAGIC_LITE_COLUMN_RIGHT 0
 | 
			
		||||
							
								
								
									
										119
									
								
								keyboards/handwired/brain/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								keyboards/handwired/brain/keymaps/default/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,119 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
			
		||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
 | 
			
		||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
 | 
			
		||||
// entirely and just use numbers.
 | 
			
		||||
 | 
			
		||||
enum layers {
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _ADJUST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  LOWER = SAFE_RANGE,
 | 
			
		||||
  RAISE,
 | 
			
		||||
  ADJUST,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[_QWERTY] = LAYOUT(
 | 
			
		||||
  //       |------------------------------------------.         ,---------------------------------------------,
 | 
			
		||||
              KC_Q,  KC_W,  KC_E,  KC_R,  KC_T,  KC_NO,           KC_NO, KC_Y,  KC_U,    KC_I,   KC_O,    KC_P,
 | 
			
		||||
  //|------+------+------+------+------+------+-------|         |------+------+------+-------+--------+-------+--------,
 | 
			
		||||
    KC_LCTL,  KC_A,  KC_S,  KC_D,  KC_F,  KC_G,  KC_NO,           KC_NO, KC_H,  KC_J,    KC_K,   KC_L, KC_SCLN, KC_QUOT,
 | 
			
		||||
  //|------+------+------+------+------+------+-------|         |------+------+------+-------+-------+--------+--------,
 | 
			
		||||
    KC_LSFT,  KC_Z,  KC_X,  KC_C,  KC_V,  KC_B,  KC_NO,           KC_NO, KC_N,  KC_M, KC_COMM, KC_DOT, KC_SLSH,  KC_ESC,
 | 
			
		||||
  //|------+------+------+------+------+------+-------|         |------+------+------+-------+-------+--------+--------|
 | 
			
		||||
             KC_NO, KC_NO,        KC_NO, LOWER, KC_SPC,          KC_ENT, RAISE, KC_NO,          KC_NO,   KC_NO,
 | 
			
		||||
         //|------+------|   //|-------+------+-------|         |------+------+------|       |-------+--------|
 | 
			
		||||
                                  KC_NO, KC_NO,  KC_NO,           KC_NO, KC_NO,  KC_NO
 | 
			
		||||
                             //`----------------------'         `--------------------'
 | 
			
		||||
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
[_LOWER] = LAYOUT(
 | 
			
		||||
  //       |-----------------------------------------------.         ,--------------------------------------------------------,
 | 
			
		||||
              KC_1,  KC_2,    KC_3,   KC_3,    KC_4, KC_ESC,              KC_5,    KC_6,    KC_7,     KC_8,     KC_9,     KC_0,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+---------+---------+---------+--------,
 | 
			
		||||
    KC_LCTL, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO, KC_LEFT, KC_DOWN,    KC_UP, KC_RIGHT,    KC_NO, KC_BSPC,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+---------+---------+---------+--------,
 | 
			
		||||
    KC_LSFT, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO,    KC_NO,    KC_NO,    KC_NO,   KC_NO,
 | 
			
		||||
  //|------+------+------+---+----+-------+------+---------|         |--------+--------+--------+---------+---------+---------+--------|
 | 
			
		||||
             KC_NO, KC_NO,         KC_LGUI,   LOWER, KC_SPC,            KC_ENT,   RAISE, KC_RALT,              KC_NO,    KC_NO,
 | 
			
		||||
         //|------+------|      //|------+------+----------|         |--------+------+----------|         |---------+---------|
 | 
			
		||||
                                     KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO
 | 
			
		||||
                                //`------------------------'         `--------------------------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
[_RAISE] = LAYOUT(
 | 
			
		||||
  //       |------------------------------------------------.         ,-----------------------------------------------------,
 | 
			
		||||
           KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_ESC,           KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------,
 | 
			
		||||
    KC_LCTL, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO, KC_MINS,  KC_EQL, KC_LCBR, KC_RCBR, KC_PIPE,  KC_GRV,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------,
 | 
			
		||||
    KC_LSFT, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO, KC_UNDS, KC_PLUS, KC_LBRC, KC_RBRC, KC_BSLS, KC_TILD,
 | 
			
		||||
  //|------+------+------+---+----+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------|
 | 
			
		||||
             KC_NO, KC_NO,         KC_LGUI,   LOWER, KC_SPC,            KC_ENT,   RAISE, KC_RALT,            KC_NO,   KC_NO,
 | 
			
		||||
         //|------+------|      //|------+------+----------|         |--------+------+----------|        |--------+--------|
 | 
			
		||||
                                     KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO
 | 
			
		||||
                                //`------------------------'         `--------------------------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[_ADJUST] = LAYOUT(
 | 
			
		||||
  //       |------------------------------------------------.         ,-----------------------------------------------------,
 | 
			
		||||
             KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------,
 | 
			
		||||
    KC_LCTL, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
 | 
			
		||||
  //|------+------+------+--------+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------,
 | 
			
		||||
    KC_LSFT, KC_NO, KC_NO,   KC_NO,  KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,
 | 
			
		||||
  //|------+------+------+---+----+-------+------+---------|         |--------+--------+--------+--------+--------+--------+--------|
 | 
			
		||||
             KC_NO, KC_NO,         KC_LGUI,   LOWER, KC_SPC,            KC_ENT,   RAISE, KC_RALT,            KC_NO,   KC_NO,
 | 
			
		||||
         //|------+------|      //|------+------+----------|         |--------+------+----------|        |--------+--------|
 | 
			
		||||
                                     KC_NO,   KC_NO,  KC_NO,             KC_NO,   KC_NO,   KC_NO
 | 
			
		||||
                                //`------------------------'         `--------------------------'
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case LOWER:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case RAISE:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case ADJUST:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										43
									
								
								keyboards/handwired/brain/keymaps/klackygears/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								keyboards/handwired/brain/keymaps/klackygears/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2020 James Smith <bronzegears@gmail.com>
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
//#define USE_SERIAL
 | 
			
		||||
 | 
			
		||||
#define PERMISSIVE_HOLD
 | 
			
		||||
#define TAPPING_TERM 150
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
 | 
			
		||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
			
		||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#undef RGBLIGHT_RAINBOW_SWIRL_RANGE
 | 
			
		||||
#define RGBLIGHT_RAINBOW_SWIRL_RANGE 75
 | 
			
		||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
#undef RGBLIGHT_EFFECT_SNAKE_LENGTH
 | 
			
		||||
#define RGBLIGHT_EFFECT_SNAKE_LENGTH 20
 | 
			
		||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#undef RGBLIGHT_EFFECT_KNIGHT_LENGTH
 | 
			
		||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 20
 | 
			
		||||
 | 
			
		||||
//   #define RGBLIGHT_EFFECT_CHRISTMAS
 | 
			
		||||
//   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
//   #define RGBLIGHT_EFFECT_RGB_TEST
 | 
			
		||||
//   #define RGBLIGHT_EFFECT_ALTERNATING
 | 
			
		||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#define RGBLIGHT_EFFECT_TWINKLE_PROBABILITY 1 / 127
 | 
			
		||||
							
								
								
									
										99
									
								
								keyboards/handwired/brain/keymaps/klackygears/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								keyboards/handwired/brain/keymaps/klackygears/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,99 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
#include "klackygears.h"
 | 
			
		||||
 | 
			
		||||
//For an explanation of what's going on here with the keymap wrappers, check out drashna's user folder.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_WINBASE] = LAYOUT_wrapper(
 | 
			
		||||
             _______________DVORAK_L1___________________, KC_ESC,       KC_GAMER, _______________DVORAK_R1___________________,
 | 
			
		||||
    RGB_TOG, _______________DVORAK_L2___________________, _______,      KC_GAMR1, _______________DVORAK_R2___________________, RGB_TOG,
 | 
			
		||||
    RGB_MOD, _______________WINDVK_L3___________________, _______,      KC_GAMR2, _______________WINDVK_R3___________________, RGB_MOD,
 | 
			
		||||
             _______, _______,          __________________WIN_THUMB_CLUSTER_V2______________     ,          _______, _______,
 | 
			
		||||
                                        KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_NO,   KC_NO
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_MACBASE] = LAYOUT_wrapper(
 | 
			
		||||
             _______________DVORAK_L1___________________, KC_ESC,       _______, _______________DVORAK_R1___________________,
 | 
			
		||||
    RGB_TOG, _______________DVORAK_L2___________________, _______,      _______, _______________DVORAK_R2___________________, RGB_TOG,
 | 
			
		||||
    RGB_MOD, _______________MACDVK_L3___________________, _______,      _______, _______________MACDVK_R3___________________, RGB_MOD,
 | 
			
		||||
             _______, _______,            __________________MAC_THUMB_CLUSTER_V2______________    ,         _______, _______,
 | 
			
		||||
                                        KC_NO,   KC_NO,   KC_NO,        KC_NO,   KC_NO,   KC_NO
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  [_QWERTY] = LAYOUT_wrapper(
 | 
			
		||||
             _________________QWERTY_L1_________________, KC_ESC,       _______, _________________QWERTY_R1_________________,
 | 
			
		||||
    KC_CAPS, _________________QWERTY_L2_________________, _______,      _______, _________________QWERTY_R2_________________, KC_ENT,
 | 
			
		||||
    KC_LSFT, _________________QWERTY_L3_________________, _______,      _______, _________________QWERTY_R3_________________, KC_RSFT,
 | 
			
		||||
             KC_LCTL, KC_LALT,      KC_LGUI, MO(_MNMB), MO(_SYMB),      MO(_SYMB), MO(_MNMB), KC_RGUI,  MO(_MDIA), MO(_FUNC),
 | 
			
		||||
                                         KC_LSFT, KC_SPC,  KC_SPC,      KC_SPC,  KC_SPC,  KC_RSFT
 | 
			
		||||
  ),
 | 
			
		||||
  //Jedi - Fallen Order
 | 
			
		||||
  [_GAMER] = LAYOUT_wrapper(
 | 
			
		||||
             KC_R,    KC_Q,    KC_W,    KC_E,    KC_1,      KC_ESC,        KC_WINBASE, _________________RGB_1_____________________,
 | 
			
		||||
    KC_TAB,  KC_F,    KC_A,    KC_S,    KC_D,    KC_2, LSFT(KC_F2),        KC_GAMR1, _________________RGB_2_____________________, RGB_TOG,
 | 
			
		||||
    KC_TAB,  KC_TAB,  KC_X,    KC_Z,    KC_C,    KC_3,        KC_M,        KC_GAMR2, _________________MEDIA_____________________, RGB_MOD,
 | 
			
		||||
             KC_LCTL, KC_LALT,       KC_LCTL,    KC_LSFT,   KC_SPC,        _______, KC_UP,   _______,           _______, _______,
 | 
			
		||||
                                     KC_NO,      KC_LSFT,  KC_LSFT,        KC_LEFT, KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
  //Borderlands
 | 
			
		||||
  [_GAMR1] = LAYOUT_wrapper(
 | 
			
		||||
             KC_R,    KC_G,    KC_W,    KC_E,    KC_1,      KC_ESC,        KC_WINBASE, _________________RGB_1_____________________,
 | 
			
		||||
    KC_TAB,  KC_V,    KC_A,    KC_S,    KC_D,    KC_2,        KC_L,        KC_GAMR1, _________________RGB_2_____________________, RGB_TOG,
 | 
			
		||||
    KC_T,    KC_I,    KC_F,    KC_Q,    KC_4,    KC_3,        KC_M,        KC_GAMR2, _________________MEDIA_____________________, RGB_MOD,
 | 
			
		||||
             KC_X,    KC_K,             KC_C,    KC_LSFT,   KC_SPC,        _______, KC_UP,   _______,           _______, _______,
 | 
			
		||||
                                        KC_Z,    KC_LSFT,  KC_LSFT,        KC_LEFT, KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
  //Witcher
 | 
			
		||||
  [_GAMR2] = LAYOUT_wrapper(
 | 
			
		||||
             KC_R,    KC_Q,    KC_W,    KC_E,    KC_1,      KC_ESC,        KC_WINBASE, _________________RGB_1_____________________,
 | 
			
		||||
    KC_TAB,  KC_LALT,  KC_A,    KC_S,    KC_D,    KC_2,        KC_J,        KC_GAMR1, _________________RGB_2_____________________, RGB_TOG,
 | 
			
		||||
    KC_X,    KC_I,    KC_F,    KC_C,    KC_V,    KC_3,        KC_M,        KC_GAMR2, _________________MEDIA_____________________, RGB_MOD,
 | 
			
		||||
             KC_LCTL, KC_V,          KC_HOME,    KC_LSFT,   KC_SPC,        _______, KC_UP,   _______,           _______, _______,
 | 
			
		||||
                                     KC_ENT,     KC_LCTL,  KC_LSFT,        KC_LEFT, KC_DOWN, KC_RIGHT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_SYMB] = LAYOUT_wrapper(
 | 
			
		||||
             _________________PUNC_L1_ALT_______________, _______,      _______, _________________PUNC_R1___________________,
 | 
			
		||||
    _______, _________________PUNC_L3___________________, _______,      _______, _________________PUNC_R2___________________, _______,
 | 
			
		||||
    RGB_MOD, _________________PUNC_L3_ALT_______________, _______,      _______, _________________PUNC_R3___________________, _______,
 | 
			
		||||
             _______, _______,          _______, _______, KC_DEL,       KC_CAPS, _______, _______,          _______, _______,
 | 
			
		||||
                                        _______, _______, KC_DEL,       KC_CAPS, _______, _______
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_FUNC] = LAYOUT_wrapper(
 | 
			
		||||
             _____________FUNC_L1_______________________,    _______,      _______, _______, _____________FUNC_1_______________,
 | 
			
		||||
    _______, ________MAC_MISSION_CTRL__________, LGUI(KC_L), _______,      _______, _______, _____________FUNC_2_______________, _______,
 | 
			
		||||
    RGB_MOD, _____________FUNC_L3_______________________,    _______,      _______, _______, _____________FUNC_3_______________, _______,
 | 
			
		||||
             _______, _______,          _______, _______,    _______,      KC_CAPS, _______, _______,          _______, _______,
 | 
			
		||||
                                        _______, _______,    _______,      KC_CAPS, _______, _______
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_MNMB] = LAYOUT_wrapper(
 | 
			
		||||
             _________________MACNAV_L1_________________, _______,      _______, _________________NUMB_R1___________________,
 | 
			
		||||
    _______, _________________MACNAV_L2_________________, _______,      _______, _________________NUMB_R2___________________, _______,
 | 
			
		||||
    RGB_MOD, _________________MACNAV_L3_________________, _______,      _______, _________________NUMB_R3_MAC_______________, _______,
 | 
			
		||||
             _______, _______,          _______, _______, _______,      _______, RSFT_T(KC_ENT), KC_RSFT,   _______, _______,
 | 
			
		||||
                                        _______, _______, _______,      _______, RSFT_T(KC_ENT), KC_RSFT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  [_NUMB] = LAYOUT_wrapper(
 | 
			
		||||
             _________________WINNAV_L1_________________, _______,      _______, _________________NUMB_R1___________________,
 | 
			
		||||
    _______, _________________WINNAV_L2_________________, _______,      _______, _________________NUMB_R2___________________, _______,
 | 
			
		||||
    RGB_MOD, _________________WINNAV_L3_________________, _______,      _______, _________________NUMB_R3_WIN_______________, _______,
 | 
			
		||||
             _______, _______,          _______, _______, _______,      _______, RSFT_T(KC_ENT), KC_RSFT,   _______, _______,
 | 
			
		||||
                                        _______, _______, _______,      _______, RSFT_T(KC_ENT), KC_RSFT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
   [_MDIA] = LAYOUT_wrapper(
 | 
			
		||||
             _________________LYOUT_____________________, _______,      RGB_TOG, _________________RGB_1_____________________,
 | 
			
		||||
    _______, _________________KC_BLANK__________________, _______,      _______, _________________RGB_2_____________________, _______,
 | 
			
		||||
    RGB_MOD, _________________KC_BLANK__________________, _______,      _______, _________________MEDIA_____________________, _______,
 | 
			
		||||
             _______, _______,          _______, _______, _______,      _______, _______, _______,          _______, _______,
 | 
			
		||||
                                        _______, _______, _______,      _______, _______, _______
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
							
								
								
									
										3
									
								
								keyboards/handwired/brain/keymaps/klackygears/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/handwired/brain/keymaps/klackygears/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
 | 
			
		||||
RGBLIGHT_ENABLE = yes #Enable WS2812 RGB underlight.
 | 
			
		||||
TAP_DANCE_ENABLE = yes
 | 
			
		||||
							
								
								
									
										1
									
								
								keyboards/handwired/brain/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/handwired/brain/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
#The Brain is a tented ergo split handwired keyboard with a sculped shell that can be changed out for other options.
 | 
			
		||||
							
								
								
									
										24
									
								
								keyboards/handwired/brain/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/handwired/brain/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
# MCU name
 | 
			
		||||
MCU = atmega32u4
 | 
			
		||||
 | 
			
		||||
# Bootloader selection
 | 
			
		||||
BOOTLOADER = atmel-dfu
 | 
			
		||||
 | 
			
		||||
# Build Options
 | 
			
		||||
#   change yes to no to disable
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
 | 
			
		||||
MOUSEKEY_ENABLE = no        # Mouse keys
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug
 | 
			
		||||
COMMAND_ENABLE = no         # Commands for debug and configuration
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE.it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
			
		||||
NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
			
		||||
MIDI_ENABLE = no            # MIDI controls
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
AUDIO_ENABLE = no           # Audio output on port C6
 | 
			
		||||
 | 
			
		||||
SPLIT_KEYBOARD = yes
 | 
			
		||||
							
								
								
									
										75
									
								
								users/klackygears/klackygears.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								users/klackygears/klackygears.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
#include "klackygears.h"
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    /*
 | 
			
		||||
     if (!process_record_dynamic_macro(keycode, record)) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
    */
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case KC_MACBASE:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_MACBASE);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_QWERTY:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_QWERTY);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_WINBASE:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_WINBASE);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_GAMER:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_GAMER);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_GAMR1:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_GAMR1);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case KC_GAMR2:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                set_single_persistent_default_layer(_GAMR2);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
        case RGBRST:
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                eeconfig_update_rgblight_default();
 | 
			
		||||
                rgblight_enable();
 | 
			
		||||
            }
 | 
			
		||||
#endif
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case MAKEK:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP);
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case MAKEKF:
 | 
			
		||||
            if (!record->event.pressed) {
 | 
			
		||||
                SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP ":flash");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
        case SHRUG:
 | 
			
		||||
            if (record->event.pressed) {
 | 
			
		||||
                SEND_STRING(":Shrug:");
 | 
			
		||||
            }
 | 
			
		||||
            break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										72
									
								
								users/klackygears/klackygears.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								users/klackygears/klackygears.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,72 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
#include "wrappers.h"
 | 
			
		||||
#include "eeprom.h"
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
  #include "tap_dances.h"
 | 
			
		||||
#endif // TAP_DANCE_ENABLE
 | 
			
		||||
 | 
			
		||||
enum layer_number {
 | 
			
		||||
    _WINBASE = 0,
 | 
			
		||||
    _MACBASE,
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _GAMER,
 | 
			
		||||
    _GAMR1,
 | 
			
		||||
    _GAMR2,
 | 
			
		||||
    _NGMR,
 | 
			
		||||
    _NUMB,
 | 
			
		||||
    _MNMB,
 | 
			
		||||
    _SYMB,
 | 
			
		||||
    _FUNC,
 | 
			
		||||
    _MDIA,
 | 
			
		||||
    _MEME
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum userspace_custom_keycodes {
 | 
			
		||||
  KC_MACBASE = SAFE_RANGE,
 | 
			
		||||
  KC_QWERTY,
 | 
			
		||||
  KC_WINBASE,
 | 
			
		||||
  KC_GAMER,
 | 
			
		||||
  KC_GAMR1,
 | 
			
		||||
  KC_GAMR2,
 | 
			
		||||
  NUMB,
 | 
			
		||||
  MNMB,
 | 
			
		||||
  SYMB,
 | 
			
		||||
  FUNC,
 | 
			
		||||
  MDIA,
 | 
			
		||||
  RGBRST,
 | 
			
		||||
  MAKEK,
 | 
			
		||||
  MAKEKF,
 | 
			
		||||
  SHRUG,
 | 
			
		||||
  //DYNAMIC_MACRO_RANGE,
 | 
			
		||||
  SAFE_RANGE_KEYMAP
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#ifdef UNICODEMAP_ENABLE
 | 
			
		||||
enum unicode_names {
 | 
			
		||||
  BANG,
 | 
			
		||||
  IRONY,
 | 
			
		||||
  SNEK,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint32_t PROGMEM unicode_map[] = {
 | 
			
		||||
  [BANG]  = 0x203D,  // ‽
 | 
			
		||||
  [IRONY] = 0x2E2E,  // ⸮
 | 
			
		||||
  [SNEK]  = 0x1F40D, // 🐍
 | 
			
		||||
};
 | 
			
		||||
#endif // UNICODEMAP_ENABLE
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
//#include "dynamic_macro.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if RGBLIGHT_ENABLE
 | 
			
		||||
uint8_t RGB_current_mode;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										15
									
								
								users/klackygears/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								users/klackygears/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
Copyright<2019><James Smith><bronzegears@gmail.com> @klackygears
 | 
			
		||||
 | 
			
		||||
This program is free software : you can redistribute it and /or modify it under 
 | 
			
		||||
the terms of the GNU General Public License as published by the Free Software Foundation,
 | 
			
		||||
either version 2 of the License, or (at your option) any later version.
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Most of what I have here was copied and modified from drashna. If it looks a bit messy it's because I'm a total noob and trying to push myself to learn new things.
 | 
			
		||||
							
								
								
									
										6
									
								
								users/klackygears/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								users/klackygears/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
SRC += klackygears.c
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
 | 
			
		||||
  SRC += tap_dances.c
 | 
			
		||||
endif
 | 
			
		||||
							
								
								
									
										184
									
								
								users/klackygears/tap_dances.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								users/klackygears/tap_dances.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,184 @@
 | 
			
		|||
#include "tap_dances.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
void macroTogKey(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
  keyrecord_t kr;
 | 
			
		||||
 | 
			
		||||
  if (state->count == 1)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = false;
 | 
			
		||||
    process_record_dynamic_macro( DYN_MACRO_PLAY1, &kr );
 | 
			
		||||
  }
 | 
			
		||||
  else if (state->count == 2)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = true;
 | 
			
		||||
    process_record_dynamic_macro( DYN_REC_STOP, &kr );
 | 
			
		||||
  }
 | 
			
		||||
  else if (state->count == 3)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = false;
 | 
			
		||||
    process_record_dynamic_macro( DYN_REC_START1, &kr );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void macroTogKey2(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
  keyrecord_t kr;
 | 
			
		||||
 | 
			
		||||
  if (state->count == 1)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = false;
 | 
			
		||||
    process_record_dynamic_macro( DYN_MACRO_PLAY2, &kr );
 | 
			
		||||
  }
 | 
			
		||||
  else if (state->count == 2)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = true;
 | 
			
		||||
    process_record_dynamic_macro( DYN_REC_STOP, &kr );
 | 
			
		||||
  }
 | 
			
		||||
  else if (state->count == 3)
 | 
			
		||||
  {
 | 
			
		||||
    kr.event.pressed = false;
 | 
			
		||||
    process_record_dynamic_macro( DYN_REC_START2, &kr );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
void pstinsrt(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        register_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_I);
 | 
			
		||||
        tap_code(KC_E);
 | 
			
		||||
        unregister_code(KC_LALT);
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(C(KC_V));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ccopy(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(C(KC_X));
 | 
			
		||||
 | 
			
		||||
        // SEND_STRING( SS_DOWN(KC_LCTL) SS_TAP(KC_X) SS_UP(KC_LCTL));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(C(KC_C));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void pstspecial(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        register_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_E);
 | 
			
		||||
        tap_code(KC_S);
 | 
			
		||||
        unregister_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_V);
 | 
			
		||||
    } else {
 | 
			
		||||
        register_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_E);
 | 
			
		||||
        tap_code(KC_S);
 | 
			
		||||
        unregister_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_T);
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void deldel(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        register_code(KC_LALT);
 | 
			
		||||
        tap_code(KC_E);
 | 
			
		||||
        tap_code(KC_D);
 | 
			
		||||
        unregister_code(KC_LALT);
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code(KC_DEL);
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void findreplace(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(C(KC_H));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(C(KC_F));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void cyclawin(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(C(S(KC_F6)));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(C(KC_F6));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void SCRNSNP(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(A(KC_PSCR));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code(KC_LGUI);
 | 
			
		||||
        tap_code(KC_S);
 | 
			
		||||
        tap_code(KC_N);
 | 
			
		||||
        tap_code16(C(KC_N));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void mcccpy(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(G(KC_X));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(G(KC_C));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void mcpstin(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code16(G(KC_I));
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code16(G(KC_V));
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void enttab(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
    if (state->count > 1) {
 | 
			
		||||
        tap_code(KC_ENT);
 | 
			
		||||
    } else {
 | 
			
		||||
        tap_code(KC_TAB);
 | 
			
		||||
    }
 | 
			
		||||
    reset_tap_dance(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void rgb_toggle(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
#ifdef RGBLIGHT_ENABLE
 | 
			
		||||
    if (state->count == 1) {
 | 
			
		||||
        rgblight_step();
 | 
			
		||||
    } else {
 | 
			
		||||
        rgblight_increase_hue();
 | 
			
		||||
    }
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Tap Dance Definitions
 | 
			
		||||
qk_tap_dance_action_t tap_dance_actions[] = {
 | 
			
		||||
    [TD_PSTI] = ACTION_TAP_DANCE_FN(pstinsrt),
 | 
			
		||||
    [TD_PTSP] = ACTION_TAP_DANCE_FN(pstspecial),
 | 
			
		||||
    [TD_FNDR] = ACTION_TAP_DANCE_FN(findreplace),
 | 
			
		||||
    [TD_CCPY] = ACTION_TAP_DANCE_FN(ccopy),
 | 
			
		||||
    [TD_DDEL] = ACTION_TAP_DANCE_FN(deldel),
 | 
			
		||||
    [TD_ACCW] = ACTION_TAP_DANCE_FN(cyclawin),
 | 
			
		||||
    [TD_CAPESC] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
 | 
			
		||||
    [TD_DTEX] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EXLM),
 | 
			
		||||
    [TD_COMQUES] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, KC_QUES),
 | 
			
		||||
    [TD_MINPLS] = ACTION_TAP_DANCE_DOUBLE(KC_PMNS, KC_PPLS),
 | 
			
		||||
    [TD_DIVMLT] = ACTION_TAP_DANCE_DOUBLE(KC_PSLS, KC_PAST),
 | 
			
		||||
    [TD_DOTEQL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_EQL),
 | 
			
		||||
    [TD_SCNSP] = ACTION_TAP_DANCE_FN(SCRNSNP),
 | 
			
		||||
    [TD_MCCCPY] = ACTION_TAP_DANCE_FN(mcccpy),
 | 
			
		||||
    [TD_MCPSTIN] = ACTION_TAP_DANCE_FN(mcpstin),
 | 
			
		||||
    [TD_ENTAB] = ACTION_TAP_DANCE_FN(enttab),
 | 
			
		||||
    [TD_XSPC] = ACTION_TAP_DANCE_DOUBLE(KC_SPACE, KC_X),
 | 
			
		||||
    [TD_RGB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rgb_toggle, NULL)
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										37
									
								
								users/klackygears/tap_dances.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								users/klackygears/tap_dances.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
#include "klackygears.h"
 | 
			
		||||
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
enum {
 | 
			
		||||
    // TD_MCROTOG,
 | 
			
		||||
    // TD_MCROTG2,
 | 
			
		||||
    TD_BTK,
 | 
			
		||||
    TD_TDE,
 | 
			
		||||
    TD_LPRN,
 | 
			
		||||
    TD_RPRN,
 | 
			
		||||
    TD_MIN,
 | 
			
		||||
    TD_USC,
 | 
			
		||||
    TD_CMWN,
 | 
			
		||||
    TD_ATSH,
 | 
			
		||||
    TD_PSTI,
 | 
			
		||||
    TD_PTSP,
 | 
			
		||||
    TD_FNDR,
 | 
			
		||||
    TD_CCPY,
 | 
			
		||||
    TD_DDEL,
 | 
			
		||||
    TD_ACCW,
 | 
			
		||||
    TD_CAPESC,
 | 
			
		||||
    TD_DTEX,
 | 
			
		||||
    TD_COMQUES,
 | 
			
		||||
    TD_MINPLS,
 | 
			
		||||
    TD_DIVMLT,
 | 
			
		||||
    TD_DOTEQL,
 | 
			
		||||
    TD_LSHSYM,
 | 
			
		||||
    TD_RSHSYM,
 | 
			
		||||
    TD_SCNSP,
 | 
			
		||||
    TD_MCCCPY,
 | 
			
		||||
    TD_MCPSTIN,
 | 
			
		||||
    TD_ENTAB,
 | 
			
		||||
    TD_XSPC,
 | 
			
		||||
    TD_RGB,
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										220
									
								
								users/klackygears/wrappers.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										220
									
								
								users/klackygears/wrappers.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,220 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
#include "klackygears.h"
 | 
			
		||||
/*
 | 
			
		||||
Most of this is copied from drashna. I added and changed a few things but, it's all based off of his user folder.
 | 
			
		||||
*/
 | 
			
		||||
#if (!defined(LAYOUT) && defined(KEYMAP))
 | 
			
		||||
#define LAYOUT KEYMAP
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//Added other layout options
 | 
			
		||||
#define LAYOUT_ergodox_wrapper(...)          LAYOUT_ergodox(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_ergodox_pretty_wrapper(...)   LAYOUT_ergodox_pretty(__VA_ARGS__)
 | 
			
		||||
#define KEYMAP_wrapper(...)                  LAYOUT(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_wrapper(...)                  LAYOUT(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_ortho_4x12_wrapper(...)       LAYOUT_ortho_4x12(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_ortho_5x10_wrapper(...)       LAYOUT_ortho_5x10(__VA_ARGS__)
 | 
			
		||||
#define LAYOUT_ortho_5x5_wrapper(...)        LAYOUT_ortho_5x5(__VA_ARGS__)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
NOTE: If you do a search/replace
 | 
			
		||||
  then you need to add/remove underscores to keep the
 | 
			
		||||
  lengths consistent.
 | 
			
		||||
*/
 | 
			
		||||
//keymaps for tap dance and without
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
  #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_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,    TD(TD_COMQUES), TD(TD_DTEX), LT(_MDIA,KC_SLASH)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  #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
 | 
			
		||||
  #define _________________COLEMAK_L3________________        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B
 | 
			
		||||
 | 
			
		||||
  #define _________________COLEMAK_R1________________        KC_J,    KC_L,    KC_U,           KC_Y,        KC_SCLN
 | 
			
		||||
  #define _________________COLEMAK_R2________________        KC_H,    KC_N,    KC_E,           KC_I,        KC_O
 | 
			
		||||
  #define _________________COLEMAK_R3________________        KC_K,    KC_M,    TD(TD_COMQUES), TD(TD_DTEX), KC_SLASH
 | 
			
		||||
/*
 | 
			
		||||
  #define ______________COLEMAK_MOD_DH_L1____________        KC_Q,    KC_W,    KC_F,    KC_P,    KC_B
 | 
			
		||||
  #define ______________COLEMAK_MOD_DH_L2____________        KC_A,    KC_R,    KC_S,    KC_T,    KC_G
 | 
			
		||||
  #define ______________COLEMAK_MOD_DH_L3____________        KC_Z,    KC_X,    KC_C,    KC_D,    KC_V
 | 
			
		||||
 | 
			
		||||
  #define ______________COLEMAK_MOD_DH_R1____________        KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN
 | 
			
		||||
  #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,              TD(TD_COMQUES),    TD(TD_DTEX),        KC_P, KC_Y
 | 
			
		||||
  #define _______________DVORAK_L2___________________        KC_A,                 KC_O,              KC_E,               KC_U, KC_I
 | 
			
		||||
  #define _______________MACDVK_L3___________________        MT(MOD_LCTL,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LGUI, KC_J), KC_K, KC_X
 | 
			
		||||
  #define _______________WINDVK_L3___________________        MT(MOD_LGUI,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LCTL, 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 _______________MACDVK_R3___________________        KC_B,       KC_M,       MT(MOD_LGUI,KC_W), MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
  #define _______________WINDVK_R3___________________        KC_B,       KC_M,       MT(MOD_LCTL,KC_W), MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
 | 
			
		||||
  #define __________c39__MACDVK_L3___________________        MT(MOD_LCTL,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LGUI, KC_J), LT(_SYMB,KC_K), TD(TD_XSPC)
 | 
			
		||||
  #define __________c39__WINDVK_L3___________________        MT(MOD_LGUI,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LCTL, KC_J), LT(_SYMB,KC_K), TD(TD_XSPC)
 | 
			
		||||
  #define __________c39__MACDVK_R3___________________        LT(_MNMB,KC_B),       LT(_SYMB,KC_M),    MT(MOD_LGUI,KC_W),  MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
  #define __________c39__WINDVK_R3___________________        LT(_NUMB,KC_B),       LT(_SYMB,KC_M),    MT(MOD_LCTL,KC_W),  MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
#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_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, LT(_MDIA,KC_SLASH)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  #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
 | 
			
		||||
  #define _________________COLEMAK_L3________________        KC_Z,    KC_X,    KC_C,    KC_V,    KC_B
 | 
			
		||||
 | 
			
		||||
  #define _________________COLEMAK_R1________________        KC_J,    KC_L,    KC_U,           KC_Y,        KC_SCLN
 | 
			
		||||
  #define _________________COLEMAK_R2________________        KC_H,    KC_N,    KC_E,           KC_I,        KC_O
 | 
			
		||||
  #define _________________COLEMAK_R3________________        KC_K,    KC_M,    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 _______________MACDVK_L3___________________        MT(MOD_LCTL,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LGUI, KC_J), KC_K, KC_X
 | 
			
		||||
  #define _______________WINDVK_L3___________________        MT(MOD_LGUI,KC_SCLN), MT(MOD_LALT,KC_Q), MT(MOD_LCTL, 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 _______________MACDVK_R3___________________        KC_B,       KC_M,       MT(MOD_LGUI,KC_W), MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
  #define _______________WINDVK_R3___________________        KC_B,       KC_M,       MT(MOD_LCTL,KC_W), MT(MOD_LALT,KC_V), LT(_MDIA,KC_Z)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#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
 | 
			
		||||
#define _________________WORKMAN_L3________________        KC_Z,    KC_X,    KC_M,   KC_C,     KC_V
 | 
			
		||||
 | 
			
		||||
#define _________________WORKMAN_R1________________        KC_J,    KC_F,    KC_U,           KC_P,        KC_SCLN
 | 
			
		||||
#define _________________WORKMAN_R2________________        KC_Y,    KC_N,    KC_E,           KC_O,        KC_I
 | 
			
		||||
#define _________________WORKMAN_R3________________        KC_K,    KC_L,    TD(TD_COMQUES), TD(TD_DTEX), 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
 | 
			
		||||
 | 
			
		||||
#define _________________NORMAN_R1_________________       KC_J,    KC_U,    KC_R,    KC_L,    KC_SCLN
 | 
			
		||||
#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
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// thumb key layouts
 | 
			
		||||
#define ________WIN_THUMB_CLUSTER_________                LT(_SYMB,KC_SPC), LT(_NUMB,KC_BSPC), LT(_NUMB,KC_TAB), LT(_SYMB,KC_ENT)
 | 
			
		||||
#define ________MAC_THUMB_CLUSTER_________                LT(_SYMB,KC_SPC), LT(_MNMB,KC_BSPC), LT(_MNMB,KC_TAB), LT(_SYMB,KC_ENT)
 | 
			
		||||
 | 
			
		||||
#define __________________WIN_THUMB_CLUSTER_V2______________ LT(_FUNC,KC_ENT), LT(_NUMB,KC_BSPC), MT(MOD_LSFT,KC_SPC), LT(_NUMB,KC_TAB), LT(_SYMB,KC_ENT), KC_RSFT
 | 
			
		||||
#define __________________MAC_THUMB_CLUSTER_V2______________ LT(_FUNC,KC_ENT), LT(_MNMB,KC_BSPC), MT(MOD_LSFT,KC_SPC), LT(_MNMB,KC_TAB), LT(_SYMB,KC_ENT), KC_RSFT
 | 
			
		||||
#define ________MAC_THUMB_L______                            LT(_FUNC,KC_ENT), LT(_MNMB,KC_BSPC), MT(MOD_LSFT,KC_SPC)
 | 
			
		||||
#define ________MAC_THUMB_R______                            LT(_MNMB,KC_TAB), LT(_SYMB,KC_ENT),    LT(_MDIA,KC_ENT)
 | 
			
		||||
#define ________WIN_THUMB_L______                            LT(_FUNC,KC_ENT), LT(_NUMB,KC_BSPC), MT(MOD_LSFT,KC_SPC)
 | 
			
		||||
#define ________WIN_THUMB_R______                            LT(_NUMB,KC_TAB), LT(_SYMB,KC_ENT),    LT(_MDIA,KC_ENT)
 | 
			
		||||
 | 
			
		||||
// Mission Control Commands
 | 
			
		||||
#define ________MAC_MISSION_CTRL__________                LCTL(KC_LEFT),    LCTL(KC_UP),       LCTL(KC_DOWN),    LCTL(KC_RGHT)
 | 
			
		||||
 | 
			
		||||
//Number Row
 | 
			
		||||
#define _________________NUMBER_L__________________       KC_1,    KC_2,    KC_3,    KC_4,    KC_5
 | 
			
		||||
#define _________________NUMBER_R__________________       KC_6,    KC_7,    KC_8,    KC_9,    KC_0
 | 
			
		||||
 | 
			
		||||
//keymaps for tap dance and without
 | 
			
		||||
#ifdef TAP_DANCE_ENABLE
 | 
			
		||||
//Arrow keys and copy-paste shortcuts for MAC OS
 | 
			
		||||
  #define _________________MACNAV_L1_________________       KC_PGUP,    KC_PGDN,    KC_HOME,       KC_END,         _______
 | 
			
		||||
  #define _________________MACNAV_L2_________________       KC_LEFT,    KC_UP,      KC_DOWN,       KC_RIGHT,       _______
 | 
			
		||||
  #define _________________MACNAV_L3_________________       _______,    LGUI(KC_A), TD(TD_MCCCPY), TD(TD_MCPSTIN), KC_DEL
 | 
			
		||||
 | 
			
		||||
//Arrow keys and copy-paste shortcuts for Windows and Microsoft Access & Excel
 | 
			
		||||
  #define _________________WINNAV_L1_________________       KC_PGUP,     KC_PGDN,    KC_HOME,     KC_END,      TD(TD_FNDR)
 | 
			
		||||
  #define _________________WINNAV_L2_________________       KC_LEFT,     KC_UP,      KC_DOWN,     KC_RIGHT,    TD(TD_PTSP)
 | 
			
		||||
  #define _________________WINNAV_L3_________________       TD(TD_ACCW), LCTL(KC_A), TD(TD_CCPY), TD(TD_PSTI), TD(TD_DDEL)
 | 
			
		||||
 | 
			
		||||
//Numpad layout with different mod-tap keys for MAC OS and Windows
 | 
			
		||||
  #define _________________NUMB_R1___________________       TD(TD_MINPLS), KC_7, KC_8,              KC_9,              KC_COLN
 | 
			
		||||
  #define _________________NUMB_R2___________________       TD(TD_DIVMLT), KC_4, KC_5,              KC_6,              C_S_T(KC_COLN)
 | 
			
		||||
  #define _________________NUMB_R3_MAC_______________       TD(TD_DOTEQL), KC_1, MT(MOD_LGUI,KC_2), MT(MOD_LALT,KC_3), MT(MOD_LCTL,KC_0)
 | 
			
		||||
  #define _________________NUMB_R3_WIN_______________       TD(TD_DOTEQL), KC_1, MT(MOD_LCTL,KC_2), MT(MOD_LALT,KC_3), MT(MOD_LGUI,KC_0)
 | 
			
		||||
  #define _________________NUMB_R4___________________       KC_LSFT,       KC_0, KC_0,              _______,           _______
 | 
			
		||||
#else
 | 
			
		||||
//Arrow keys and copy-paste shortcuts for MAC OS
 | 
			
		||||
  #define _________________MACNAV_L1_________________       KC_PGUP,    KC_PGDN,    KC_HOME,       KC_END,         _______
 | 
			
		||||
  #define _________________MACNAV_L2_________________       KC_LEFT,    KC_UP,      KC_DOWN,       KC_RIGHT,       _______
 | 
			
		||||
  #define _________________MACNAV_L3_________________       _______,    LGUI(KC_A), _______,       _______, KC_DEL
 | 
			
		||||
 | 
			
		||||
//Arrow keys and copy-paste shortcuts for Windows and Microsoft Access & Excel
 | 
			
		||||
  #define _________________WINNAV_L1_________________       KC_PGUP,     KC_PGDN,    KC_HOME,     KC_END,      _______
 | 
			
		||||
  #define _________________WINNAV_L2_________________       KC_LEFT,     KC_UP,      KC_DOWN,     KC_RIGHT,    _______
 | 
			
		||||
  #define _________________WINNAV_L3_________________       _______,     _______,    _______,     _______,     _______
 | 
			
		||||
  #define _________________NUMB_R1___________________       KC_PMNS,       KC_7, KC_8,              KC_9,              KC_PPLS
 | 
			
		||||
  #define _________________NUMB_R2___________________       KC_PSLS,       KC_4, KC_5,              KC_6,              KC_PAST
 | 
			
		||||
  #define _________________NUMB_R3_MAC_______________       KC_DOT,        KC_1, MT(MOD_LGUI,KC_2), MT(MOD_LALT,KC_3), MT(MOD_LCTL,KC_0)
 | 
			
		||||
  #define _________________NUMB_R3_WIN_______________       KC_DOT,        KC_1, MT(MOD_LCTL,KC_2), MT(MOD_LALT,KC_3), MT(MOD_LGUI,KC_0)
 | 
			
		||||
  #define _________________NUMB_R4___________________       KC_LSFT,       KC_0, KC_0,              _______,           _______
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//Function Row
 | 
			
		||||
/*
 | 
			
		||||
#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
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
//Function keys as macropad
 | 
			
		||||
#define _____________FUNC_1_______________                KC_F9,      KC_F10,     KC_F11,     KC_F12
 | 
			
		||||
#define _____________FUNC_2_______________                KC_F5,      KC_F6,      KC_F7,      KC_F8
 | 
			
		||||
#define _____________FUNC_3_______________                KC_F1,      KC_F2,      KC_F3,      KC_F4
 | 
			
		||||
 | 
			
		||||
//RGB keys
 | 
			
		||||
#if defined RGBLIGHT_ENABLE || defined RGB_MATRIX_ENABLE
 | 
			
		||||
#define _________________RGB_1_____________________       RGBRST,     RGB_HUI,    RGB_SAI,    RGB_VAI,    RGB_SPI
 | 
			
		||||
#define _________________RGB_2_____________________       RGB_MOD,    RGB_HUD,    RGB_SAD,    RGB_VAD,    RGB_SPD
 | 
			
		||||
#else
 | 
			
		||||
#define _________________RGB_1_____________________       _______,    _______,    _______,    _______,    _______
 | 
			
		||||
#define _________________RGB_2_____________________       _______,    _______,    _______,    _______,    _______
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//Audio keys
 | 
			
		||||
#define _________________MEDIA_____________________       KC_MPLY,    KC_MUTE,     KC_VOLD,      KC_VOLU,     _______
 | 
			
		||||
#define _________________MEDIA_V2__________________       KC_EJCT,    KC_MRWD,     KC_MPLY,      KC_MFFD,     _______
 | 
			
		||||
 | 
			
		||||
//Base layer keys
 | 
			
		||||
#define _________________LYOUT_____________________       _______,    KC_QWERTY,   KC_MACBASE,   KC_WINBASE,  _______
 | 
			
		||||
 | 
			
		||||
//Punctuation keys
 | 
			
		||||
#define _________________PUNC_L1___________________       KC_BSLS,    KC_AT,      KC_HASH,    KC_DLR,     KC_PERC
 | 
			
		||||
#define _________________PUNC_L1_ALT_______________       KC_DQT,     KC_AT,      KC_HASH,    KC_DLR,     KC_PERC
 | 
			
		||||
#define _________________PUNC_L2___________________       KC_PLUS,    KC_MINS,    KC_ASTR,    KC_SLSH,    KC_EQL
 | 
			
		||||
#define _________________PUNC_L3___________________       KC_LBRC,    KC_RBRC,    KC_LPRN,    KC_RPRN,    KC_AMPR
 | 
			
		||||
#define _________________PUNC_L3_ALT_______________       _______,    _______,    KC_TILD,    KC_CIRC,    KC_GRV
 | 
			
		||||
#define _________________PUNC_R1___________________       _______, KC_DQT,  KC_EQL,  _______, _______
 | 
			
		||||
#define _________________PUNC_R2___________________       _______, KC_ASTR, KC_SLSH, KC_PLUS, KC_MINS
 | 
			
		||||
#define _________________PUNC_R3___________________       _______, KC_EQL,  KC_BSLS, _______, _______
 | 
			
		||||
 | 
			
		||||
//Make Shortcuts and window switching
 | 
			
		||||
#define _____________FUNC_L1_______________________       MAKEKF,   MAKEK,   _______, KC_ESC,  LCTL(LALT(KC_DEL))
 | 
			
		||||
#define _____________FUNC_L3_______________________       KC_LGUI, KC_RALT, KC_LCTL, KC_TAB,  _______
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _________________KC_BLANK__________________       _______, _______, _______, _______, _______
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue