forked from mirrors/qmk_userspace
		
	[Keymap Removal] keebio/iris and related keymaps. (#22690)
This commit is contained in:
		
					parent
					
						
							
								54200b7b82
							
						
					
				
			
			
				commit
				
					
						990895f03f
					
				
			
		
					 230 changed files with 0 additions and 12906 deletions
				
			
		| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
#ifndef CONFIG_USER_H
 | 
					 | 
				
			||||||
#define CONFIG_USER_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "../../config.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,50 +0,0 @@
 | 
				
			||||||
// Personal keymap of khitsule
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layers {
 | 
					 | 
				
			||||||
    ALPH,
 | 
					 | 
				
			||||||
    GAME,
 | 
					 | 
				
			||||||
    LOWR,
 | 
					 | 
				
			||||||
    RAIS,
 | 
					 | 
				
			||||||
    ADJS
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// define any macros here to keep keymap clean and readable
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KM_DLEFT LGUI(LCTL(KC_LEFT))
 | 
					 | 
				
			||||||
#define KM_DRIGHT LGUI(LCTL(KC_RIGHT))
 | 
					 | 
				
			||||||
#define TSKMGR LCTL(LSFT(KC_ESC))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
  [ALPH] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_Q,    KC_W,     KC_E,     KC_R,           KC_T,                                               KC_Y,              KC_U,     KC_I,     KC_O,     KC_P,
 | 
					 | 
				
			||||||
    KC_A,    KC_S,     KC_D,     KC_F,           KC_G,                                               KC_H,              KC_J,     KC_K,     KC_L,     KC_SCLN,
 | 
					 | 
				
			||||||
    KC_Z,    KC_X,     KC_C,     KC_V,           KC_B,                                               KC_N,              KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,
 | 
					 | 
				
			||||||
    KC_ESC,  KC_TRNS,  KC_TRNS,  ALT_T(KC_ENT),  LT(LOWR, KC_TAB),  CTL_T(KC_SPC),  SFT_T(KC_BSPC),  LT(RAIS, KC_DEL),  KC_LGUI,  TO(GAME),  KC_QUOT,  KC_MINUS
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [GAME] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_Q,    KC_W,     KC_E,     KC_R,      KC_T,                        KC_Y,    KC_U,     KC_I,     KC_O,     KC_P,
 | 
					 | 
				
			||||||
    KC_A,    KC_S,     KC_D,     KC_F,      KC_G,                           KC_H,    KC_J,     KC_K,     KC_L,     KC_SCLN,
 | 
					 | 
				
			||||||
    KC_Z,    KC_X,     KC_C,     KC_V,      KC_B,                                  KC_N,    KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,
 | 
					 | 
				
			||||||
    KC_ESC,  KC_TRNS,  KC_ENT,   KC_LALT,   KC_TAB,  KC_LCTL,  KC_LSFT,  KC_DEL,  KC_LGUI,  TO(ALPH),  KC_QUOT,  KC_MINUS
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [LOWR] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_PSCR,   KC_HOME,    KC_UP,         KC_END,   KC_TRNS,                      KC_LPRN,        KC_F7,    KC_F8,    KC_F9,    KC_RPRN,
 | 
					 | 
				
			||||||
    KC_VOLU,   KC_LEFT,    KC_DOWN,       KC_RIGHT, KC_PGUP,                      KC_LBRC,        KC_F4,    KC_F5,    KC_F6,    KC_RBRC,
 | 
					 | 
				
			||||||
    KC_VOLD,   KC_MPRV,    KC_MPLY,       KC_MNXT,  KC_PGDN,                      LSFT(KC_LBRC),  KC_F1,    KC_F2,    KC_F3,    LSFT(KC_RBRC),
 | 
					 | 
				
			||||||
    KM_DLEFT,  KM_DRIGHT,  LALT(KC_TAB),  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(ADJS),        KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [RAIS] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,     KC_PERC,                        KC_TRNS,   KC_7,     KC_8,  KC_9,    KC_TRNS,
 | 
					 | 
				
			||||||
    KC_CIRC,  KC_AMPR,  KC_GRV,   KC_TILD,    KC_PIPE,                        KC_PLUS,   KC_4,     KC_5,  KC_6,    KC_ASTR,
 | 
					 | 
				
			||||||
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,    KC_BSLS,                        KC_MINUS,  KC_1,     KC_2,  KC_3,    KC_SLASH,
 | 
					 | 
				
			||||||
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  MO(ADJS),  KC_TRNS,  KC_TRNS,     KC_TRNS,   KC_TRNS,  KC_0,  KC_DOT,  KC_EQL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [ADJS] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,                        KC_F6,    KC_F7,     KC_F8,     KC_F9,   KC_F10,
 | 
					 | 
				
			||||||
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                      TSKMGR,   KC_TRNS,   KC_TRNS,   KC_F11,  KC_F12,
 | 
					 | 
				
			||||||
    KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,                      KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS, KC_TRNS,
 | 
					 | 
				
			||||||
    QK_BOOT,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS, KC_TRNS
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
# Atreus Layout by Khitsule
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[KLE link](http://www.keyboard-layout-editor.com/#/gists/35ed66c55456699fd8f5d06750984a07)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Layers
 | 
					 | 
				
			||||||
| Layer | Legend |
 | 
					 | 
				
			||||||
| ----- | ------ |
 | 
					 | 
				
			||||||
| Base  |  Top left (black) |
 | 
					 | 
				
			||||||
| Lower | Top right (purple) |
 | 
					 | 
				
			||||||
| Raise | Bottom right (pink) |
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Features
 | 
					 | 
				
			||||||
* Raise/lower layers focus first on one-handed use
 | 
					 | 
				
			||||||
* Numpad on right hand with raise layer
 | 
					 | 
				
			||||||
* Navigation on left hand with lower layer (ESDF)
 | 
					 | 
				
			||||||
    * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
 | 
					 | 
				
			||||||
* Heavy use of hold/tap dual function keys
 | 
					 | 
				
			||||||
    * Ctrl/Space
 | 
					 | 
				
			||||||
    * Shift/Backspace
 | 
					 | 
				
			||||||
    * Alt/Enter
 | 
					 | 
				
			||||||
    * Lower/Tab
 | 
					 | 
				
			||||||
    * Raise/Delete
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef DEBOUNCE
 | 
					 | 
				
			||||||
#define DEBOUNCE 6
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,106 +0,0 @@
 | 
				
			||||||
// This is the personal keymap of Ian Sterling (@xyverz). It is based on the keymap by
 | 
					 | 
				
			||||||
// Chris Gerber (@gerbercj), with the addition of persistent layers like the Planck and
 | 
					 | 
				
			||||||
// Preonic keyboards by Jack Humbert.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#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 layer_names {
 | 
					 | 
				
			||||||
  _DVORAK,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _RAISE,
 | 
					 | 
				
			||||||
  _ADJUST
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum planck_keycodes {
 | 
					 | 
				
			||||||
  LOWER = SAFE_RANGE,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Adding macros to make the keymaps below much easier to read.
 | 
					 | 
				
			||||||
#define SFTSCLN SFT_T(KC_SCLN)
 | 
					 | 
				
			||||||
#define SFTZED SFT_T(KC_Z)
 | 
					 | 
				
			||||||
#define ALTENT ALT_T(KC_ENT)
 | 
					 | 
				
			||||||
#define DELGUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define ESCTRL CTL_T(KC_ESC)
 | 
					 | 
				
			||||||
#define TABALT ALT_T(KC_TAB)
 | 
					 | 
				
			||||||
#define ADJUST MO(_ADJUST)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q))
 | 
					 | 
				
			||||||
#define WINLOCK LGUI(KC_L)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
  /* Dvorak Layer
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   '  |   ,  |   .  |   P  |   Y  |              |   F  |   G  |   C  |   R  |   L  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   A  |   O  |   E  |   U  |   I  |              |   D  |   H  |   T  |   N  |   S  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|SFT/ ;|   Q  |   J  |   K  |   X  |Delete||Enter |   B  |   M  |   W  |   V  |SFT/ Z|
 | 
					 | 
				
			||||||
	|------+------+------+------+------| / GUI|| / ALT|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  Esc |  Tab |  GUI | LOWER| BkSp |------'`------|  Spc | RAISE|   -  |   /  |   \  |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------' */
 | 
					 | 
				
			||||||
  [_DVORAK] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                      KC_F,    KC_G,    KC_C,    KC_R,    KC_L   ,
 | 
					 | 
				
			||||||
    KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                      KC_D,    KC_H,    KC_T,    KC_N,    KC_S   ,
 | 
					 | 
				
			||||||
    SFTSCLN, KC_Q,    KC_J,    KC_K,    KC_X,                      KC_B,    KC_M,    KC_W,    KC_V,    SFTZED ,
 | 
					 | 
				
			||||||
    ESCTRL,  TABALT,  KC_LGUI, LOWER,   KC_BSPC, DELGUI, ALTENT,  KC_SPC,  RAISE,   KC_MINS, KC_SLSH, KC_BSLS
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* LOWER Layer
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   !  |   @  |   #  |   $  |   %  |              |   ^  |   &  |   *  |   (  |   )  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	| CAPS |      |  UP  |      | Home |              | PgDn |      |   +  |   {  |   }  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      | Left | Down | Right| End  |      ||      | PgUp | Mute | Vol- | Vol+ |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||      |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   ~  |      |      |      | Del  |------'`------| Ins  |      |      |      |      |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'*/
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                   KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_UP,   _______, KC_HOME,                   KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR,
 | 
					 | 
				
			||||||
    _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,                    KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______,
 | 
					 | 
				
			||||||
    KC_TILD, _______, _______, _______, KC_DEL,  _______, _______, KC_INS,  ADJUST,  _______, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* RAISE Layer
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	| CAPS |      |  UP  |      | Home |              | PgDn |      |   =  |   [  |   ]  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      | Left | Down | Right| End  |      ||      | PgUp | Prev | Play | Next |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||      |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   `  |      |      |      | Del  |------'`------| Ins  |      |      |      |      |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'*/
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0   ,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_UP,   _______, KC_HOME,                   KC_PGUP, _______, KC_EQL,  KC_LBRC, KC_RBRC,
 | 
					 | 
				
			||||||
    _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,                    KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, _______,
 | 
					 | 
				
			||||||
    KC_GRV,  _______, _______, ADJUST,  KC_DEL,  _______, _______, KC_INS,  _______, _______, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* ADJUST Layer
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|  F1  |  F2  |  F3  |  F4  |  F5  |              |  F6  |  F7  |  F8  |  F9  | F10  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  F11 |      |      |      |      |              |      | PrSc | ScLk | Paus | F12  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      ||      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|MACLCK||WINLCK|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |------'`------|      |      |      |      |QKBOOT|
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'*/
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10 ,
 | 
					 | 
				
			||||||
    KC_F11,  _______, _______, _______, _______,                   _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_F12 ,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, MACLOCK, WINLOCK, _______, _______, _______, _______, QK_BOOT  
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,107 +0,0 @@
 | 
				
			||||||
# Xyverz's Atreus Keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## About this keymap:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is the second iteration of my Atreus keymap. The first one was as close to the planck as I could get at the
 | 
					 | 
				
			||||||
time, but still very much like the original Atreus keymap. I've managed to get things working better now and have
 | 
					 | 
				
			||||||
implemented (more like copied) the RAISE/LOWER/ADJUST layers. This is a work in progress, but I think I'm closer
 | 
					 | 
				
			||||||
to a final go with this.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
I'm using MOD_TAP quite a bit in this keymap. On all layers, R4 pinky keys use mod-tap and are SHIFT when held
 | 
					 | 
				
			||||||
and their normal keys when tapped. In addition, ESC and TAB are also set as Ctrl and ALT respectively when held,
 | 
					 | 
				
			||||||
and Enter/ALT on the right thumb key for all alpha layers.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Recently added: Documentation, Formatting, and another Dvorak layer that has Command on the left thumb, instead of
 | 
					 | 
				
			||||||
Control.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Still to do:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 * Enjoy this revision; figure out new things later.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 0: Dvorak layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   '  |   ,  |   .  |   P  |   Y  |              |   F  |   G  |   C  |   R  |   L  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   A  |   O  |   E  |   U  |   I  |              |   D  |   H  |   T  |   N  |   S  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|Shft ;|   Q  |   J  |   K  |   X  | CTRL ||Alt / |   B  |   M  |   W  |   V  |Shft Z|
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||Enter |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  Esc |  Tab |  GUI | LOWER| BkSp |------'`------|  Spc | RAISE|   -  |   /  |   \  |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 1: QWERTY layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   Q  |   W  |   E  |   R  |   T  |              |   Y  |   U  |   I  |   O  |   P  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   A  |   S  |   D  |   F  |   G  |              |   H  |   J  |   K  |   L  |   ;  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|Shft Z|   X  |   C  |   V  |   B  | CTRL ||Alt / |   N  |   M  |   ,  |   .  |Shft /|
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||Enter |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  Esc |  Tab |  GUI | LOWER| BkSp |------'`------|  Spc | RAISE|   -  |   '  |   \  |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
	 
 | 
					 | 
				
			||||||
### Layer 2: Colemak layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   Q  |   W  |   F  |   P  |   G  |              |   J  |   L  |   U  |   Y  |   L  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   A  |   R  |   S  |   T  |   D  |              |   H  |   N  |   E  |   I  |   S  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|Shft Z|   X  |   C  |   V  |   B  | CTRL ||Alt / |   K  |   M  |   ,  |   .  |Shft /|
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||Enter |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  Esc |  Tab |  GUI | LOWER| BkSp |------'`------|  Spc | RAISE|   -  |   '  |   \  |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 3: Dvorak for Mac layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   '  |   ,  |   .  |   P  |   Y  |              |   F  |   G  |   C  |   R  |   L  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   A  |   O  |   E  |   U  |   I  |              |   D  |   H  |   T  |   N  |   S  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|SFT/ ;|   Q  |   J  |   K  |   X  | CMD  ||Alt / |   B  |   M  |   W  |   V  |SFT/ Z|
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||Enter |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  Esc |  Tab |  GUI | LOWER| BkSp |------'`------|  Spc | RAISE|   -  |   /  |   \  |
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 4: LOWER layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   !  |   @  |   #  |   $  |   %  |              |   ^  |   &  |   *  |   (  |   )  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	| CAPS |      |  UP  |      | Home |              | PgDn |      |   +  |   {  |   }  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      | Left | Down | Right| End  |      ||      | PgUp | Mute | Vol- | Vol+ |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||      |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   ~  |      |      |      | Del  |------'`------| Ins  |      |      |      |MACLCK|
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 5: RAISE layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	| CAPS |      |  UP  |      | Home |              | PgDn |      |   =  |   [  |   ]  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      | Left | Down | Right| End  |      ||      | PgUp | Prev | Play | Next |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||      |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|   `  |      |      |      | Del  |------'`------| Ins  |      |      |      |MACLCK|
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 6: ADJUST layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,----------------------------------.              ,----------------------------------.
 | 
					 | 
				
			||||||
	|  F1  |  F2  |  F3  |  F4  |  F5  |              |  F6  |  F7  |  F8  |  F9  | F10  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|              |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|  F11 |      |      |      |      |              |      | PScr | SLck | Paus | F12  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|------.,------|------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |QWERTY|COLEMK|DVORAK|DVORMC|      ||      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------|      ||      |------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |------'`------|      |      |      |      | RESET|
 | 
					 | 
				
			||||||
	`----------------------------------'              `----------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,155 +0,0 @@
 | 
				
			||||||
/* This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk
 | 
					 | 
				
			||||||
   I've blatantly stolen what works for me from the Planck and Preonic
 | 
					 | 
				
			||||||
   layouts and modified this file to fit me. Initial credet goes to
 | 
					 | 
				
			||||||
   u/profet23 for the doing all the work and adding this keyboard to
 | 
					 | 
				
			||||||
   QMK in the first place.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   I've got Dvorak, Qwerty, and Colemak layouts at this time, with the
 | 
					 | 
				
			||||||
   possibility of adding more in the future.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   The bottom row is fairly Kinesis-ish since the Contour and Advantage
 | 
					 | 
				
			||||||
   keyboards have been my daily drivers for the last 17 years. I hope
 | 
					 | 
				
			||||||
   You can get some enjoyment out of this layout should you chose it!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
CHANGELOG:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 0.1 - Initial commit. Based off of Profet's default keymap.
 | 
					 | 
				
			||||||
 0.2 - Converted to a more Planck/Preonic keymap style file with
 | 
					 | 
				
			||||||
       persistent layers enabled. Renamed layers to reflect OLKB maps.
 | 
					 | 
				
			||||||
       Added a TODO list.
 | 
					 | 
				
			||||||
 0.3 - Moved location of media & volume keys. Added Print Screen,
 | 
					 | 
				
			||||||
       Scroll Lock and Pause keys. Added a WOW gaming layer that
 | 
					 | 
				
			||||||
       changes the location of Ctrl & Alt to the thumb keys. Added
 | 
					 | 
				
			||||||
       readme.
 | 
					 | 
				
			||||||
 0.4 - After more useage, I realized that the ESC key was in the way
 | 
					 | 
				
			||||||
       of my muscle memory (gee, thanks, Planck!) so I moved it to
 | 
					 | 
				
			||||||
       the normal Caps Lock position, and moved Caps Lock to the same
 | 
					 | 
				
			||||||
       position on the RAISE and LOWER layers. Added code to turn off
 | 
					 | 
				
			||||||
       the Pro Micro LEDs after flashing.
 | 
					 | 
				
			||||||
 0.5 - Converted keymap to LAYOUT standard.
 | 
					 | 
				
			||||||
 0.6 - Swapped ESC and GRV in all layers.
 | 
					 | 
				
			||||||
 0.7 - Brought code up to current standards.
 | 
					 | 
				
			||||||
 0.8 - Added MACLOCK macro.
 | 
					 | 
				
			||||||
 0.9 - Updated code to correspond to new setPinInput behaviour
 | 
					 | 
				
			||||||
 0.10 - Re-ordered the layers (swapped Destiny & WoW layers in the
 | 
					 | 
				
			||||||
       list). Removed duplicated keys from RAISE and LOWER layers.
 | 
					 | 
				
			||||||
       Updated readme.md and fixed an aesthetic typo in keymap.c.
 | 
					 | 
				
			||||||
 0.11 - Added DEL_GUI macro. Removed WOW layer since I'm no longer
 | 
					 | 
				
			||||||
       supporting Blizzard in any way.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
TODO:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 * Make the layout more efficient, even if it means changing the RAISE
 | 
					 | 
				
			||||||
   and LOWER functionality.
 | 
					 | 
				
			||||||
 * Add legends in comments for each layer. Maybe.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// this is the style you want to emulate.
 | 
					 | 
				
			||||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names { _DVORAK, _QWERTY, _COLEMAK, _DESTINY, _LOWER, _RAISE, _ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum atreus62_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK, DESTINY, LOWER, RAISE, ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Aliases to make the keymap clearer.
 | 
					 | 
				
			||||||
#define CTL_ENT CTL_T(KC_ENT)
 | 
					 | 
				
			||||||
#define DEL_GUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define ADJUST MO(_ADJUST)
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// clang-format off
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
  [_DVORAK] = LAYOUT ( /* dvorak */
 | 
					 | 
				
			||||||
    KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                      KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
    KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                      KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,                      KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, DEL_GUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT ( /* qwerty */
 | 
					 | 
				
			||||||
    KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
    KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL,
 | 
					 | 
				
			||||||
    KC_GRV,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      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_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_LGUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_COLEMAK] = LAYOUT ( /* colemak */
 | 
					 | 
				
			||||||
    KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,                      KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_DEL,
 | 
					 | 
				
			||||||
    KC_GRV,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,                      KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_LGUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_DESTINY] = LAYOUT ( /* Dvorak with minor modifications for playing Destiny 2 and other FPS Looters */
 | 
					 | 
				
			||||||
    KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                      KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                      KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
    KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                      KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,                      KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_DEL,  KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT (
 | 
					 | 
				
			||||||
    KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,                   _______, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,                   _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_HOME, KC_END,  _______, KC_DEL,  MACLOCK, _______, KC_INS,  _______, KC_PGUP, KC_PGDN, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT (
 | 
					 | 
				
			||||||
    KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                     KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______,                   _______, _______, KC_EQL,  KC_LBRC, KC_RBRC, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______,                   _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_HOME, KC_END,  _______, KC_DEL,  MACLOCK, _______, KC_INS,  _______, KC_PGUP, KC_PGDN, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT (
 | 
					 | 
				
			||||||
    _______, _______, _______, KC_F13,  KC_F14,  KC_F15,                    _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, QK_BOOT, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______,                   _______, QWERTY,  COLEMAK, DVORAK,  DESTINY, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
//clang-format on
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void matrix_init_user(void) {
 | 
					 | 
				
			||||||
#ifdef BOOTLOADER_CATERINA
 | 
					 | 
				
			||||||
   // This will disable the red LEDs on the ProMicros
 | 
					 | 
				
			||||||
   setPinInput(D5);
 | 
					 | 
				
			||||||
   setPinInput(B0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
					 | 
				
			||||||
  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  if (record->event.pressed) {
 | 
					 | 
				
			||||||
   switch (keycode) {
 | 
					 | 
				
			||||||
    case DVORAK:
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_DVORAK);
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    case QWERTY:
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_QWERTY);
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    case COLEMAK:
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_COLEMAK);
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    case DESTINY:
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_DESTINY);
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
    case WOW:
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_WOW);
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
   }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,146 +0,0 @@
 | 
				
			||||||
# Xyverz's Atreus62 Keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## About this keymap:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk. I've blatantly stolen what works for me from the Planck and Preonic layouts and modified this file to fit me. Initial credet goes to u/profet23 for the doing all the work and adding this keyboard to QMK in the first place.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
I've got Dvorak, Qwerty, and Colemak layouts at this time, with the possibility of adding more in the future.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards have been my daily drivers for the last 17 years. I hope You can get some enjoyment out of this layout should you chose it!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### CHANGELOG:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 0.1
 | 
					 | 
				
			||||||
 *  Initial commit. Based off of Profet's default keymap.
 | 
					 | 
				
			||||||
#### 0.2
 | 
					 | 
				
			||||||
 * Converted to a more Planck/Preonic keymap style file with persistent layers enabled. Renamed layers to reflect OLKB maps.
 | 
					 | 
				
			||||||
 * Added a TODO list.
 | 
					 | 
				
			||||||
#### 0.3
 | 
					 | 
				
			||||||
 * Moved location of media & volume keys. Added Print Screen, Scroll Lock and Pause keys.
 | 
					 | 
				
			||||||
 * Added a WOW gaming layer that changes the location of Ctrl & Alt to the thumb keys. Right thumb is Ctrl when held, Enter when tapped.
 | 
					 | 
				
			||||||
 * Added readme.
 | 
					 | 
				
			||||||
#### 0.4
 | 
					 | 
				
			||||||
 * Moved location of Escape key to Caps Lock position. Moved Caps Lock to same position on Raise/Lower Layers.
 | 
					 | 
				
			||||||
 * Put Tilde/Grave in the upper-left corner
 | 
					 | 
				
			||||||
 * Added code to turn off the red LEDs on the Pro Micro after flashing. They were annoying me.
 | 
					 | 
				
			||||||
### 0.5
 | 
					 | 
				
			||||||
 * Converted keymap to LAYOUT standard.
 | 
					 | 
				
			||||||
### 0.6
 | 
					 | 
				
			||||||
 * Swapped ESC and GRV in all layers.
 | 
					 | 
				
			||||||
### 0.7
 | 
					 | 
				
			||||||
 * Brought code up to new standards (as of 27 June 2019).
 | 
					 | 
				
			||||||
 * Updated this readme file.
 | 
					 | 
				
			||||||
### 0.8
 | 
					 | 
				
			||||||
 * Added MACLOCK macro.
 | 
					 | 
				
			||||||
### 0.9
 | 
					 | 
				
			||||||
 * Updated code to correspond to new setPinInput behaviour.
 | 
					 | 
				
			||||||
### 0.10
 | 
					 | 
				
			||||||
 * Re-ordered the layers (swapped Destiny & WoW layers in the list).
 | 
					 | 
				
			||||||
 * Removed duplicated keys from RAISE and LOWER layers.
 | 
					 | 
				
			||||||
 * Updated readme.md and fixed an aesthetic typo in keymap.c.
 | 
					 | 
				
			||||||
### 0.11
 | 
					 | 
				
			||||||
 * Added DEL_GUI macro.
 | 
					 | 
				
			||||||
 * Removed WOW layer since I'm no longer supporting Blizzard in any way.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### TODO:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 * Enjoy this revision; figure out new things later.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 0: Dvorak layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| Esc  |   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |   \  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Tab  |   '  |   ,  |   .  |   P  |   Y  |              |   F  |   G  |   C  |   R  |   L  |   /  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Grv  |   A  |   O  |   E  |   U  |   I  |              |   D  |   H  |   T  |   N  |   S  |   -  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Shft |   ;  |   Q  |   J  |   K  |   X  | Del/ ||Enter |   B  |   M  |   W  |   V  |   Z  | Shft |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------| Gui  ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Ctrl |  Alt | Left | Rght | LOWER| BkSp |------'`------|  Spc | RAISE|  Up  | Down |  Gui | Ctrl |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 1: QWERTY layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| Esc  |   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |   -  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Tab  |   Q  |   W  |   E  |   R  |   T  |              |   Y  |   U  |   I  |   O  |   P  | Del  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Grv  |   A  |   S  |   D  |   F  |   G  |              |   D  |   H  |   T  |   N  |   S  |   '  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Shft |   Z  |   X  |   C  |   V  |   B  | Gui  ||Enter |   N  |   M  |   ,  |   .  |   /  | Shft |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Ctrl |  Alt | Left | Rght | LOWER| BkSp |------'`------|  Spc | RAISE|  Up  | Down |  Gui | Ctrl |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
	 
 | 
					 | 
				
			||||||
### Layer 2: Colemak layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| Esc  |   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |   -  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Tab  |   Q  |   W  |   F  |   P  |   G  |              |   J  |   U  |   U  |   Y  |   ;  | Del  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Grv  |   A  |   R  |   S  |   T  |   D  |              |   H  |   N  |   E  |   I  |   O  |   '  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Shft |   Z  |   X  |   C  |   V  |   B  | Gui  ||Enter |   K  |   M  |   ,  |   .  |   /  | Shft |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Ctrl |  Alt | Left | Rght | LOWER| BkSp |------'`------|  Spc | RAISE|  Up  | Down |  Gui | Ctrl |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 3: Destiny layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| Esc  |   1  |   2  |   3  |   4  |   5  |              |   6  |   7  |   8  |   9  |   0  |   \  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Tab  |   '  |   ,  |   .  |   P  |   Y  |              |   F  |   G  |   C  |   R  |   L  |   /  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Grv  |   A  |   O  |   E  |   U  |   I  |              |   D  |   H  |   T  |   N  |   S  |   -  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Shft |   ;  |   Q  |   J  |   K  |   X  | Del  ||Enter |   B  |   M  |   W  |   V  |   Z  | Shft |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Ctrl |  Alt | Left | Rght | LOWER| BkSp |------'`------|  Spc | RAISE|  Up  | Down |  Gui | Ctrl |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 4: LOWER layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| F11  |  F1  |  F2  |  F3  |  F4  |  F5  |              |  F6  |  F7  |  F8  |  F9  | F10  | F12  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |              |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Caps |      | Mute | Vol- | Vol+ |      |              |      |      |   +  |   {  |   }  |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      | Prev | Play | Next |      |      ||      |      |      | PScr | ScLk | Pause|      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      | Home | End  |      | Del  |------'`------|  Ins |      | PgUp | PgDn |      |      |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 5: RAISE layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	| F11  |  F1  |  F2  |  F3  |  F4  |  F5  |              |  F6  |  F7  |  F8  |  F9  | F10  | F12  |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |              |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	| Caps |      | Mute | Vol- | Vol+ |      |              |      |      |   =  |   [  |   ]  |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      | Prev | Play | Next |      |      ||      |      |      | PScr | ScLk | Pause|      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      | Home | End  |      | Del  |------'`------|  Ins |      | PgUp | PgDn |      |      |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Layer 6: ADJUST layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	,-----------------------------------------.              ,-----------------------------------------.
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |              |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |RESET |      |      |      |      |              |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|              |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |              |      |Qwerty|Colemk|Dvorak|Destny|      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|------.,------|------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |      ||      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	|------+------+------+------+------+------|      ||      |------+------+------+------+------+------|
 | 
					 | 
				
			||||||
	|      |      |      |      |      |      |------'`------|      |      |      |      |      |      |
 | 
					 | 
				
			||||||
	`-----------------------------------------'              `-----------------------------------------'
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,32 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
This is the c configuration file for the keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
					 | 
				
			||||||
Copyright 2015 Jack Humbert
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
// #define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define QUICK_TAP_TERM 0
 | 
					 | 
				
			||||||
#define TAPPING_TERM 300
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
#define LEADER_PER_KEY_TIMING
 | 
					 | 
				
			||||||
#define LEADER_TIMEOUT 300
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,100 +0,0 @@
 | 
				
			||||||
/* 
 | 
					 | 
				
			||||||
 * Copyright 2021 Ian Sterling <xyverz on Github.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/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Aliases to keep the keymap tidy
 | 
					 | 
				
			||||||
#define GUIBSPC GUI_T(KC_BSPC)  // GUI when held, BSPC when tapped.
 | 
					 | 
				
			||||||
#define RGB_SWR RGB_M_SW        // Swirl Animation alias
 | 
					 | 
				
			||||||
#define RGB_SNK RGB_M_SN        // Snake Animation alias
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
#define WINLOCK LGUI(KC_L)      // Lock my PC!
 | 
					 | 
				
			||||||
#define DELGUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_WINDOWS] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, KC_DEL,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_MAC] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, DELGUI,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_LOWER] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  QK_BOOT, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_RAISE] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  _______, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_EQL,  KC_LBRC, KC_RBRC, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_ADJUST] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, QK_BOOT, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, WINDOWS, MAC,     _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
                             _______, _______, _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      _______, _______,     _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->event.pressed) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case WINDOWS:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_WINDOWS);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case MAC:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_MAC);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,32 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
This is the c configuration file for the keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
					 | 
				
			||||||
Copyright 2015 Jack Humbert
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
// #define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define QUICK_TAP_TERM 0
 | 
					 | 
				
			||||||
#define TAPPING_TERM 300
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
#define LEADER_PER_KEY_TIMING
 | 
					 | 
				
			||||||
#define LEADER_TIMEOUT 300
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,100 +0,0 @@
 | 
				
			||||||
/* 
 | 
					 | 
				
			||||||
 * Copyright 2021 Ian Sterling <xyverz on Github.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/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Aliases to keep the keymap tidy
 | 
					 | 
				
			||||||
#define GUIBSPC GUI_T(KC_BSPC)  // GUI when held, BSPC when tapped.
 | 
					 | 
				
			||||||
#define RGB_SWR RGB_M_SW        // Swirl Animation alias
 | 
					 | 
				
			||||||
#define RGB_SNK RGB_M_SN        // Snake Animation alias
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
#define WINLOCK LGUI(KC_L)      // Lock my PC!
 | 
					 | 
				
			||||||
#define DELGUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_WINDOWS] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, KC_DEL,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_MAC] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, DELGUI,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_LOWER] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  QK_BOOT, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_RAISE] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  _______, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_EQL,  KC_LBRC, KC_RBRC, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_ADJUST] = LAYOUT_split_4x6_5(
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, QK_BOOT, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, WINDOWS, MAC,     _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
                             _______, _______, _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      _______, _______,     _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->event.pressed) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case WINDOWS:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_WINDOWS);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case MAC:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_MAC);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
# The Bastard Keyboard
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A split ergonomic keyboard.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
 | 
					 | 
				
			||||||
* Hardware Supported: elite-C V4
 | 
					 | 
				
			||||||
* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Make example for this keyboard (after setting up your build environment):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    make bastardkb/tbk:default
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See the [keyboard build instructions](https://docs.bastardkb.com)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Important information regarding the reset
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,62 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
This is the c configuration file for the keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
					 | 
				
			||||||
Copyright 2015 Jack Humbert
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_MATRIX_I2C
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define QUICK_TAP_TERM 0
 | 
					 | 
				
			||||||
#define TAPPING_TERM 300
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
#define LEADER_PER_KEY_TIMING
 | 
					 | 
				
			||||||
#define LEADER_TIMEOUT 300
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGBLIGHT_ENABLE
 | 
					 | 
				
			||||||
    #undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
    #define RGBLED_NUM 27
 | 
					 | 
				
			||||||
    #define RGBLIGHT_LIMIT_VAL 120
 | 
					 | 
				
			||||||
    #define RGBLIGHT_HUE_STEP 10
 | 
					 | 
				
			||||||
    #define RGBLIGHT_SAT_STEP 17
 | 
					 | 
				
			||||||
    #define RGBLIGHT_VAL_STEP 17
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
    #define RGBLED_NUM 54  // Number of LEDs
 | 
					 | 
				
			||||||
    #define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,206 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2019 @foostan
 | 
					 | 
				
			||||||
Copyright 2020 Drashna Jaelre <@drashna>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
#include <stdio.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names {
 | 
					 | 
				
			||||||
  _DVORAK,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _RAISE,
 | 
					 | 
				
			||||||
  _ADJUST
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum planck_keycodes {
 | 
					 | 
				
			||||||
  DVORAK = SAFE_RANGE,
 | 
					 | 
				
			||||||
  LOWER,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Adding macros to make the keymaps below much easier to read.
 | 
					 | 
				
			||||||
#define DELGUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define ALTENT ALT_T(KC_ENT)
 | 
					 | 
				
			||||||
#define SCLNCTL CTL_T(KC_SCLN)
 | 
					 | 
				
			||||||
#define QUEALT ALT_T(KC_Q)
 | 
					 | 
				
			||||||
#define VEEALT ALT_T(KC_V)
 | 
					 | 
				
			||||||
#define ZEDCTL CTL_T(KC_Z)
 | 
					 | 
				
			||||||
#define ADJUST MO(_ADJUST)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
  [_DVORAK] = LAYOUT_split_3x6_3(
 | 
					 | 
				
			||||||
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
 | 
					 | 
				
			||||||
       KC_TAB, KC_SCLN, KC_COMM,  KC_DOT,    KC_P,    KC_Y,                         KC_F,    KC_G,    KC_C,    KC_R,    KC_L, KC_SLSH,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
       KC_ESC,    KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                         KC_D,    KC_H,    KC_T,    KC_N,    KC_S, KC_MINS,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      KC_LSFT, SCLNCTL,  QUEALT,    KC_J,    KC_K,    KC_X,                         KC_B,    KC_M,    KC_W,  VEEALT,  ZEDCTL, KC_RSFT,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
                                            LOWER, KC_BSPC,  DELGUI,     KC_ENT,  KC_SPC,   RAISE
 | 
					 | 
				
			||||||
                                      //`--------------------------'  `--------------------------'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT_split_3x6_3(
 | 
					 | 
				
			||||||
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
 | 
					 | 
				
			||||||
       KC_GRV, KC_EXLM,   KC_AT, KC_HASH,  KC_DLR, KC_PERC,                      KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      XXXXXXX, XXXXXXX, XXXXXXX,   KC_UP, XXXXXXX, KC_HOME,                      KC_PGUP, XXXXXXX, KC_PLUS, KC_LCBR, KC_RCBR, XXXXXXX,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT,  KC_END,                      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
                                          _______,  KC_DEL, MACLOCK,    _______,  KC_INS, _______
 | 
					 | 
				
			||||||
                                      //`--------------------------'  `--------------------------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT_split_3x6_3(
 | 
					 | 
				
			||||||
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
 | 
					 | 
				
			||||||
      KC_TILD,    KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                         KC_6,    KC_7,    KC_8,    KC_9,    KC_0, KC_PIPE,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      XXXXXXX, XXXXXXX, XXXXXXX,   KC_UP, XXXXXXX, KC_HOME,                      KC_PGUP, XXXXXXX,  KC_EQL, KC_LBRC, KC_RBRC, XXXXXXX,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT,  KC_END,                      KC_PGDN, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
                                          _______,  KC_DEL, MACLOCK,    _______,  KC_INS, _______
 | 
					 | 
				
			||||||
                                      //`--------------------------'  `--------------------------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT_split_3x6_3(
 | 
					 | 
				
			||||||
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
 | 
					 | 
				
			||||||
       KC_F11,   KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                        KC_F6,   KC_F7,   KC_F8,   KC_F9,  KC_F10,  KC_F12,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,   QK_BOOT,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------+--------|  |--------+--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
                                          _______, _______, _______,    _______, _______, _______
 | 
					 | 
				
			||||||
                                      //`--------------------------'  `--------------------------'
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
					 | 
				
			||||||
  return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef OLED_ENABLE
 | 
					 | 
				
			||||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
 | 
					 | 
				
			||||||
  if (!is_keyboard_master()) {
 | 
					 | 
				
			||||||
    return OLED_ROTATION_180;  // flips the display 180 degrees if offhand
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return rotation;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define L_BASE 0
 | 
					 | 
				
			||||||
#define L_LOWER 2
 | 
					 | 
				
			||||||
#define L_RAISE 4
 | 
					 | 
				
			||||||
#define L_ADJUST 8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void oled_render_layer_state(void) {
 | 
					 | 
				
			||||||
    oled_write_P(PSTR("Layer: "), false);
 | 
					 | 
				
			||||||
    switch (layer_state) {
 | 
					 | 
				
			||||||
        case L_BASE:
 | 
					 | 
				
			||||||
            oled_write_ln_P(PSTR("Default"), false);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case L_LOWER:
 | 
					 | 
				
			||||||
            oled_write_ln_P(PSTR("Lower"), false);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case L_RAISE:
 | 
					 | 
				
			||||||
            oled_write_ln_P(PSTR("Raise"), false);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case L_ADJUST:
 | 
					 | 
				
			||||||
        case L_ADJUST|L_LOWER:
 | 
					 | 
				
			||||||
        case L_ADJUST|L_RAISE:
 | 
					 | 
				
			||||||
        case L_ADJUST|L_LOWER|L_RAISE:
 | 
					 | 
				
			||||||
            oled_write_ln_P(PSTR("Adjust"), false);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
char keylog_str[24] = {};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const char code_to_name[60] = {
 | 
					 | 
				
			||||||
    ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
 | 
					 | 
				
			||||||
    'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
 | 
					 | 
				
			||||||
    'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
 | 
					 | 
				
			||||||
    '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
 | 
					 | 
				
			||||||
    'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
 | 
					 | 
				
			||||||
    '#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  char name = ' ';
 | 
					 | 
				
			||||||
    if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
 | 
					 | 
				
			||||||
        (keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
 | 
					 | 
				
			||||||
  if (keycode < 60) {
 | 
					 | 
				
			||||||
    name = code_to_name[keycode];
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // update keylog
 | 
					 | 
				
			||||||
  snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
 | 
					 | 
				
			||||||
           record->event.key.row, record->event.key.col,
 | 
					 | 
				
			||||||
           keycode, name);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void oled_render_keylog(void) {
 | 
					 | 
				
			||||||
    oled_write(keylog_str, false);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void render_bootmagic_status(bool status) {
 | 
					 | 
				
			||||||
    /* Show Ctrl-Gui Swap options */
 | 
					 | 
				
			||||||
    static const char PROGMEM logo[][2][3] = {
 | 
					 | 
				
			||||||
        {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
 | 
					 | 
				
			||||||
        {{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    if (status) {
 | 
					 | 
				
			||||||
        oled_write_ln_P(logo[0][0], false);
 | 
					 | 
				
			||||||
        oled_write_ln_P(logo[0][1], false);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        oled_write_ln_P(logo[1][0], false);
 | 
					 | 
				
			||||||
        oled_write_ln_P(logo[1][1], false);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void oled_render_logo(void) {
 | 
					 | 
				
			||||||
    static const char PROGMEM crkbd_logo[] = {
 | 
					 | 
				
			||||||
        0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
 | 
					 | 
				
			||||||
        0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
 | 
					 | 
				
			||||||
        0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
 | 
					 | 
				
			||||||
        0};
 | 
					 | 
				
			||||||
    oled_write_P(crkbd_logo, false);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool oled_task_user(void) {
 | 
					 | 
				
			||||||
    if (is_keyboard_master()) {
 | 
					 | 
				
			||||||
        oled_render_layer_state();
 | 
					 | 
				
			||||||
        oled_render_keylog();
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        oled_render_logo();
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  if (record->event.pressed) {
 | 
					 | 
				
			||||||
    set_keylog(keycode, record);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#endif // OLED_ENABLE
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
OLED_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
#define USB_MAX_POWER_CONSUMPTION 100
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,18 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	LAYOUT(
 | 
					 | 
				
			||||||
		KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
 | 
					 | 
				
			||||||
		KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
 | 
					 | 
				
			||||||
		KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
 | 
					 | 
				
			||||||
		KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
 | 
					 | 
				
			||||||
		KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_APP, KC_RCTL),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	LAYOUT(
 | 
					 | 
				
			||||||
		KC_GRV,  KC_F1,   KC_F2, 	 KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11, KC_F12, KC_INS, KC_DEL,
 | 
					 | 
				
			||||||
		KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP,  _______, QK_BOOT,
 | 
					 | 
				
			||||||
		_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
 | 
					 | 
				
			||||||
		_______, KC_NO, 	_______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END,  KC_PGDN, KC_DOWN, _______, _______,
 | 
					 | 
				
			||||||
		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +0,0 @@
 | 
				
			||||||
# Build Options
 | 
					 | 
				
			||||||
#   comment out to disable the options.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes	# Mouse keys(+4700)
 | 
					 | 
				
			||||||
EXTRAKEY_ENABLE = yes	# Audio control and System control(+450)
 | 
					 | 
				
			||||||
CONSOLE_ENABLE = no	# Console for debug(+400)
 | 
					 | 
				
			||||||
COMMAND_ENABLE = no    # Commands for debug and configuration
 | 
					 | 
				
			||||||
SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
 | 
					 | 
				
			||||||
NKRO_ENABLE = yes		# USB 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
 | 
					 | 
				
			||||||
AUDIO_ENABLE = no
 | 
					 | 
				
			||||||
RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LAYOUTS = 60_ansi
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,156 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names { _QWERTY, _COLEMAK, _DVORAK, _LOWER, _RAISE, _ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes { QWERTY = SAFE_RANGE, COLEMAK, DVORAK, LOWER, RAISE, ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Aliases to keep the keymap tidy
 | 
					 | 
				
			||||||
#define GUIBSPC GUI_T(KC_BSPC)  // GUI when held, BSPC when tapped.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// clang-format off
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Qwerty
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * | Tab  |   Q  |   W  |   E  |   R  |   T  |      |      |   Y  |   U  |   I  |   O  |   P  | Bksp |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Esc  |   A  |   S  |   D  |   F  |   G  |      |      |   H  |   J  |   K  |   L  |   ;  |  "   |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Shift|   Z  |   X  |   C  |   V  |   B  |      |      |   N  |   M  |   ,  |   .  |   /  |Shift |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Ctrl | Alt  | Left |Right |Lower | Bksp |  GUI |Enter |Space |Raise |  Up  | Down |  GUI |Enter |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_TAB,  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_BSPC,
 | 
					 | 
				
			||||||
    KC_ESC,  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_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_LGUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_ENT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Colemak
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * | Tab  |   Q  |   W  |   F  |   P  |   G  |      |      |   J  |   L  |   U  |   Y  |   ;  | Bksp |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Esc  |   A  |   R  |   S  |   T  |   D  |      |      |   H  |   N  |   E  |   I  |   O  |  "   |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Shift|   Z  |   X  |   C  |   V  |   B  |      |      |   N  |   M  |   ,  |   .  |   /  |Shift |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Ctrl | Alt  | Left |Right |Lower | Bksp |  GUI |Enter |Space |Raise |  Up  | Down |  GUI |Enter |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_COLEMAK] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_NO,   KC_NO,   KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_BSPC,
 | 
					 | 
				
			||||||
    KC_ESC,  KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_NO,   KC_NO,   KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_NO,   KC_NO,   KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_LGUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_ENT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Dvorak
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * | Tab  |   "  |   ,  |   .  |   P  |   Y  |      |      |   F  |   G  |   C  |   R  |   L  |  /   |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Esc  |   A  |   O  |   E  |   U  |   I  |      |      |   D  |   H  |   T  |   N  |   S  |  -   |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Shift|   ;  |   Q  |   J  |   K  |   X  |      |      |   B  |   M  |   W  |   V  |   Z  | Shift|
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Ctrl | Alt  | Left |Right |Lower | Bksp |  GUI |Enter |Space |Raise |  Up  | Down |  GUI |Enter |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_DVORAK] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_NO,   KC_NO,   KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
    KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_NO,   KC_NO,   KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_NO,   KC_NO,   KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_LALT, KC_LEFT, KC_RGHT, LOWER,   KC_BSPC, KC_LGUI, KC_ENT,  KC_SPC,  RAISE,   KC_UP,   KC_DOWN, KC_RGUI, KC_ENT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Lower
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |   ~  |   !  |   @  |   #  |   $  |   %  |      |      |   ^  |   &  |   *  |   (  |   )  |      |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Caps |      | Mute | Vol- | Vol+ |      |      |      |  F6  |  F7  |  F8  |  F9  | F10  | F11  |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |      | Prev | Play | Next |      |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * | Brite|      | Home |  End |      |  Del |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_NO,   KC_NO,   KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_NO,   KC_NO,   _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
 | 
					 | 
				
			||||||
    _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NO,   KC_NO,   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_HOME, KC_END,  _______, KC_DEL,  _______, _______, KC_INS,  _______, KC_PGUP, KC_PGDN, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Raise
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |      |   1  |   2  |   3  |   4  |   5  |      |      |   6  |   7  |   8  |   9  |   0  |   -  |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |  F1  |  F2  |  F3  |  F4  |  F5  |      |      |  F6  |  F7  |  F8  |  F9  | F10  | F11  |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_NO,   KC_NO,   KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_NO,   KC_NO,   _______, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS,
 | 
					 | 
				
			||||||
    _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_NO,   KC_NO,   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_HOME, KC_END,  _______, KC_DEL,  _______, _______, KC_INS,  _______, KC_PGUP, KC_PGDN, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /* Adjust
 | 
					 | 
				
			||||||
   * ,-------------------------------------------------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |  F11 |  F1  |  F2  |  F3  |  F4  |  F5  |      |      |  F6  |  F7  |  F8  |  F9  |  F10 |  F12 |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      | Reset|      |      |      |      |      |      |      |Qwerty|Colemk|Dvorak|      |      |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * |------+------+------+------+------+------+------|------+------+------+------+------+------+------|
 | 
					 | 
				
			||||||
   * |      |      |      |      |      |      |      |      |      |      |      |      |      |      |
 | 
					 | 
				
			||||||
   * `-------------------------------------------------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_NO,   KC_NO,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12 ,
 | 
					 | 
				
			||||||
    _______, QK_BOOT, _______, _______, _______, _______, KC_NO,   KC_NO,   _______, QWERTY,  COLEMAK, DVORAK,  _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______, KC_NO,   KC_NO,   _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
// clang-format on
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
 | 
					 | 
				
			||||||
float tone_dvorak[][2]     = SONG(DVORAK_SOUND);
 | 
					 | 
				
			||||||
float tone_colemak[][2]    = SONG(COLEMAK_SOUND);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void matrix_init_user(void) {
 | 
					 | 
				
			||||||
#ifdef BOOTLOADER_CATERINA
 | 
					 | 
				
			||||||
    // This will disable the red LEDs on the ProMicros
 | 
					 | 
				
			||||||
    setPinInput(D5);
 | 
					 | 
				
			||||||
    setPinInput(B0);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->event.pressed) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case QWERTY:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_QWERTY);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case COLEMAK:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_COLEMAK);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case DVORAK:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_DVORAK);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
# ECO Default Layout by u/That-Canadian
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
KLE here : http://www.keyboard-layout-editor.com/#/gists/0733eca6b4cb88ff9d7de746803f4039
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,21 +0,0 @@
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Build Options
 | 
					 | 
				
			||||||
#   change to "no" to disable the options, or define them in the Makefile in 
 | 
					 | 
				
			||||||
#   the appropriate keymap folder that will get included automatically
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
 | 
					 | 
				
			||||||
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
					 | 
				
			||||||
CONSOLE_ENABLE = no         # Console for debug(+400)
 | 
					 | 
				
			||||||
COMMAND_ENABLE = no        # Commands for debug and configuration
 | 
					 | 
				
			||||||
NKRO_ENABLE = yes            # 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
 | 
					 | 
				
			||||||
MIDI_ENABLE = no            # MIDI controls
 | 
					 | 
				
			||||||
AUDIO_ENABLE = no          # Audio output on port C6
 | 
					 | 
				
			||||||
UNICODE_ENABLE = no         # Unicode
 | 
					 | 
				
			||||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
					 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight. 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
					 | 
				
			||||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@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 MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
//#define EE_HANDS
 | 
					 | 
				
			||||||
// Rows are doubled-up
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,53 +0,0 @@
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* A QWERTY 3 Layer layout for the Dactyl Manuform 5x6 Keyboard */ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
     KC_ESC , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                         KC_6  , KC_7  , KC_8  , KC_9  , KC_0  ,KC_BSPC,
 | 
					 | 
				
			||||||
     KC_TAB , KC_Q  , KC_W  , KC_E  , KC_R  , KC_T  ,                         KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_MINS,
 | 
					 | 
				
			||||||
     KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                         KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,                         KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS,
 | 
					 | 
				
			||||||
                      KC_LBRC,KC_RBRC,                                                       KC_PLUS, KC_EQL,
 | 
					 | 
				
			||||||
                                      RAISE,KC_SPC,                           KC_ENT, LOWER,
 | 
					 | 
				
			||||||
                                      KC_TAB,KC_HOME,                         KC_END,  KC_DEL,
 | 
					 | 
				
			||||||
                                      KC_BSPC,KC_GRV,                         KC_LGUI, KC_LALT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
     KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,                        KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_LBRC,                        KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
 | 
					 | 
				
			||||||
     _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN,                        KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,                        _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
 | 
					 | 
				
			||||||
                                             _______,KC_PSCR,            _______, KC_P0,
 | 
					 | 
				
			||||||
                                             _______,_______,            _______,_______,
 | 
					 | 
				
			||||||
                                             _______,_______,            _______,_______,
 | 
					 | 
				
			||||||
                                             _______,_______,            _______,_______
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
     KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,                         KC_F6  , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_LBRC,                         KC_RBRC,_______,KC_NUM,KC_INS ,KC_SCRL,KC_MUTE,
 | 
					 | 
				
			||||||
     _______,KC_LEFT,KC_UP  ,KC_DOWN,KC_RGHT,KC_LPRN,                         KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,                         _______,_______,_______,_______,_______,KC_VOLD,
 | 
					 | 
				
			||||||
                                     _______,_______,                         KC_EQL ,_______,
 | 
					 | 
				
			||||||
                                     _______,_______,                         _______,_______,
 | 
					 | 
				
			||||||
                                     _______,_______,                         _______,_______,
 | 
					 | 
				
			||||||
                                     _______,_______,                         _______,_______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,50 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2021 Tyler Tolley <thattolleyguy@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 MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
// Rows are doubled-up
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef WS2812_DI_PIN
 | 
					 | 
				
			||||||
#define WS2812_DI_PIN F5
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef SOFT_SERIAL_PIN
 | 
					 | 
				
			||||||
#define SOFT_SERIAL_PIN D0
 | 
					 | 
				
			||||||
// #define RGB_MATRIX_LED_COUNT 32
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_KEYPRESSES
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLED_NUM       64 // Number of LEDs
 | 
					 | 
				
			||||||
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGB_MATRIX_SPLIT \
 | 
					 | 
				
			||||||
        { 32, 32  }
 | 
					 | 
				
			||||||
#define SPLIT_TRANSPORT_MIRROR
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP // Sets the default mode, if none has been set
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
 | 
					 | 
				
			||||||
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,178 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2021 Tyler Tolley <thattolleyguy@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/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum dactyl_layers {
 | 
					 | 
				
			||||||
  _QWERTY,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _RAISE,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_CBP LCTL(KC_F11) //Clipboard previous
 | 
					 | 
				
			||||||
#define KC_CBN LCTL(KC_F12) //Clipboard previous
 | 
					 | 
				
			||||||
#define KC_DSKD LCA(KC_DOWN)
 | 
					 | 
				
			||||||
#define KC_DSKU LCA(KC_UP)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               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_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
  //└────────┴────────┼────────┼────────┼────────┼────────┘                          └────────┴────────┼────────┼────────┼────────┼────────┘
 | 
					 | 
				
			||||||
                       KC_DSKU, KC_DSKD,                                                                KC_PGUP, KC_PGDN,
 | 
					 | 
				
			||||||
  //                  └────────┴────────┘        ┌────────┬────────┐        ┌────────┬────────┐        └────────┴────────┘
 | 
					 | 
				
			||||||
                                                  LOWER,   KC_ENT,           KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  KC_LGUI, KC_GRV,           KC_DEL,  KC_RALT,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  KC_CBP,  KC_CBN,           KC_APP,  KC_RCTL
 | 
					 | 
				
			||||||
  //                                             └────────┴────────┘        └────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     XXXXXXX, KC_VOLU, KC_MPRV, KC_MPLY, KC_MSTP, KC_MNXT,                            XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_MUTE, KC_VOLD, RGB_M_SW,RGB_TOG, XXXXXXX, XXXXXXX,                            XXXXXXX, KC_P7,   KC_P8,   KC_P9,   KC_PPLS, XXXXXXX,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, XXXXXXX,                            XXXXXXX, KC_P4,   KC_P5,   KC_P6,   KC_EQL,  KC_PSCR,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ┌────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,XXXXXXX,                            XXXXXXX, KC_P1,   KC_P2,   KC_P3,   KC_PDOT, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┼────────┼────────┼────────┼────────┘                          └────────┴────────┼────────┼────────┼────────┼────────┘
 | 
					 | 
				
			||||||
                       KC_PGUP, KC_PGDN,                                                                KC_P0,   Debug,
 | 
					 | 
				
			||||||
  //                  └────────┴────────┘        ┌────────┬────────┐        ┌────────┬────────┐        └────────┴────────┘
 | 
					 | 
				
			||||||
                                                  _______, _______,          _______,  _______,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  _______, _______,          _______,  _______,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  _______, QK_BOOT,          _______, _______
 | 
					 | 
				
			||||||
  //                                             └────────┴────────┘        └────────┴────────┘
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT_5x6(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     XXXXXXX, _______, XXXXXXX, KC_UP,   XXXXXXX, XXXXXXX,                            XXXXXXX, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_UNDS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP,                            KC_INS,  KC_HOME, KC_PPLS, KC_MINS, KC_TILD, KC_EQL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ┌────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN,                            KC_DEL,  KC_END,  XXXXXXX, XXXXXXX, XXXXXXX, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┼────────┼────────┼────────┼────────┘                          └────────┴────────┼────────┼────────┼────────┼────────┘
 | 
					 | 
				
			||||||
                       DM_REC1, DM_REC2,                                                                DM_PLY1, DM_PLY2,
 | 
					 | 
				
			||||||
  //                  └────────┴────────┘        ┌────────┬────────┐        ┌────────┬────────┐        └────────┴────────┘
 | 
					 | 
				
			||||||
                                                  LOWER,   KC_ENT,           KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  KC_LGUI, KC_GRV,           KC_DEL,  KC_RALT,
 | 
					 | 
				
			||||||
  //                                             ├────────┼────────┤        ├────────┼────────┤
 | 
					 | 
				
			||||||
                                                  XXXXXXX, XXXXXXX,          QK_BOOT, XXXXXXX
 | 
					 | 
				
			||||||
  //                                             └────────┴────────┘        └────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGB_MATRIX_ENABLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // Logical Layout
 | 
					 | 
				
			||||||
  // Columns
 | 
					 | 
				
			||||||
  // Left
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5
 | 
					 | 
				
			||||||
  //                   ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10   0
 | 
					 | 
				
			||||||
  //    03    02    01
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09   1
 | 
					 | 
				
			||||||
  //    04    05    06
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08   2
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  //          15 14 07   3
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  // Right
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5
 | 
					 | 
				
			||||||
  //                    ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10   4
 | 
					 | 
				
			||||||
  //    03    02    01
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09   5
 | 
					 | 
				
			||||||
  //    04    05    06
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08   6
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  //          15 14 07   7
 | 
					 | 
				
			||||||
  //
 | 
					 | 
				
			||||||
  // Physical Layout
 | 
					 | 
				
			||||||
  // Columns
 | 
					 | 
				
			||||||
  // 0  1  2  3  4  5  6  7  8  9  10 11 12 13
 | 
					 | 
				
			||||||
  //                                           ROWS
 | 
					 | 
				
			||||||
  // 25 24 19 18 11 10       10 11 18 19 24 25  0
 | 
					 | 
				
			||||||
  //    03    02    01       01    02    03
 | 
					 | 
				
			||||||
  // 26 23 20 17 12 09       09 12 17 20 23 26  1
 | 
					 | 
				
			||||||
  //    04                               04
 | 
					 | 
				
			||||||
  // 27 22 21 16 13 08       08 13 16 21 22 27  2
 | 
					 | 
				
			||||||
  //          05    06       06    05
 | 
					 | 
				
			||||||
  //           15 14 07     07 14 15              3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
led_config_t g_led_config = { {
 | 
					 | 
				
			||||||
    {      0,      1,  2,  3,      4,      5 },
 | 
					 | 
				
			||||||
    {     11,     10,  9,  8,      7,      6 },
 | 
					 | 
				
			||||||
    {     12,     13, 14, 15,     16,     17 },
 | 
					 | 
				
			||||||
    {     23,     22, 21, 20,     19,     18 },
 | 
					 | 
				
			||||||
    { NO_LED, NO_LED, 24, 25,     26,     27 },
 | 
					 | 
				
			||||||
    { NO_LED, NO_LED, 30, 31,     28,     29 },
 | 
					 | 
				
			||||||
    {     37,     36, 35, 34,     33,     32 },
 | 
					 | 
				
			||||||
    {     43,     42, 41, 40,     39,     38 },
 | 
					 | 
				
			||||||
    {     49,     48, 47, 46,     45,     44 },
 | 
					 | 
				
			||||||
    {     55,     54, 53, 52,     51,     50 },
 | 
					 | 
				
			||||||
    // {     NO_LED,     NO_LED, 57, 56, NO_LED, NO_LED},
 | 
					 | 
				
			||||||
    // {     NO_LED,     NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
 | 
					 | 
				
			||||||
    {     59,     58, 57, 56, NO_LED, NO_LED},
 | 
					 | 
				
			||||||
    {     61,     60, 62, 63, NO_LED, NO_LED }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    {  0,  0 }, {  17,  0 }, {  34,  0 }, {  52,  0 }, {  69,  0 }, {  86,  0 }, {  86,  9 }, {  69,  9 },
 | 
					 | 
				
			||||||
    {  52,  9 }, {  34,   9 }, {  17,   9 }, {  0,  9 }, {  0,  18 }, {  17,  18 }, {  34,  18 }, {  52,  18 },
 | 
					 | 
				
			||||||
     {  60,  18 }, {  86,   18 }, {  86,   27 }, {  69,  27 }, {  52,  27 }, {  34,  27 }, {  17,  27 }, {  0,   27 },
 | 
					 | 
				
			||||||
      {  34,   37 }, {   52,  37 }, {   69,  45 }, { 86,  45 }, { 103,  55 }, { 103,  64 }, { 86,  55 }, { 86,  64 },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    { 224,  0 }, { 207,  0 }, { 190,  0 }, { 172,  0 }, { 155,   0 }, { 138,   0 }, { 224,  9 }, { 207,  9 },
 | 
					 | 
				
			||||||
    { 190,  9 }, { 172,  9 }, { 155,  9 }, { 138,  9 }, { 224,  18 }, { 207,  18 }, { 190,  18 },{ 172,  18 },
 | 
					 | 
				
			||||||
    { 155,   18 }, { 138,   18 }, { 224,  27 }, { 207,  27 }, { 190,  27}, { 172,  27 },{ 155,  27 }, { 138,  27 },
 | 
					 | 
				
			||||||
    { 190,  37 }, { 172,  37 }, { 155,  45}, { 138,  45 }, { 121,  55 }, { 121,  64 },  { 138,  64 }, { 138,  55 }
 | 
					 | 
				
			||||||
}, {
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2,
 | 
					 | 
				
			||||||
    2, 2, 2, 2, 2, 2, 2, 2
 | 
					 | 
				
			||||||
} };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
RGB_MATRIX_ENABLE = yes
 | 
					 | 
				
			||||||
RGB_MATRIX_DRIVER = ws2812
 | 
					 | 
				
			||||||
DYNAMIC_MACRO_ENABLE = yes
 | 
					 | 
				
			||||||
# CONSOLE_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = no
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@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 MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
//#define EE_HANDS
 | 
					 | 
				
			||||||
// Rows are doubled-up
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,47 +0,0 @@
 | 
				
			||||||
 | 
					 | 
				
			||||||
/* A QWERTY 3 Layer layout for the Dactyl Manuform 6x6 Keyboard */ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT_6x6(
 | 
					 | 
				
			||||||
     KC_ESC  ,  KC_1  , KC_2  , KC_3  ,  KC_4  , KC_5  ,      KC_6  , KC_7   , KC_8   , KC_9   , KC_0  ,KC_BSPC,
 | 
					 | 
				
			||||||
     KC_TAB  ,  KC_Q  , KC_W  , KC_E  ,  KC_R  , KC_T  ,      KC_Y  , KC_U   , KC_I   , KC_O   , KC_P  ,KC_MINS,
 | 
					 | 
				
			||||||
     KC_LSFT ,  KC_A  , KC_S  , KC_D  ,  KC_F  , KC_G  ,      KC_H  , KC_J   , KC_K   , KC_L   ,KC_SCLN,KC_QUOT,
 | 
					 | 
				
			||||||
     KC_LCTL ,  KC_Z  , KC_X  , KC_C  ,  KC_V  , KC_B  ,      KC_N  , KC_M   ,KC_COMM , KC_DOT ,KC_SLSH,KC_BSLS,
 | 
					 | 
				
			||||||
     KC_PLUS , KC_LEFT,KC_UP  ,KC_DOWN, KC_RGHT, RAISE ,      LOWER , KC_HOME, KC_PGUP, KC_PGDN,KC_END ,KC_EQL,
 | 
					 | 
				
			||||||
               _______,KC_LALT,KC_PSCR, KC_LGUI, KC_SPC,      KC_ENT,KC_GRAVE, KC_AT  ,KC_PSCR ,_______
 | 
					 | 
				
			||||||
                                                             
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT_6x6(
 | 
					 | 
				
			||||||
     KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,         KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_LBRC,         KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
 | 
					 | 
				
			||||||
     _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN,         KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_PSCR,         KC_P0  , KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,         _______,_______,_______,_______,_______,_______,             
 | 
					 | 
				
			||||||
             _______,_______,_______,_______,_______,         _______,_______,_______,_______,_______
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT_6x6(
 | 
					 | 
				
			||||||
     KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,         KC_F6  , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_LBRC,         KC_RBRC,_______,KC_NUM ,KC_INS ,KC_SCRL,KC_MUTE,
 | 
					 | 
				
			||||||
     _______,KC_LEFT,KC_UP  ,KC_DOWN,KC_RGHT,KC_LPRN,         KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,         _______,_______,_______,_______,_______,KC_VOLD,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,         _______,_______,_______,_______,_______,_______,
 | 
					 | 
				
			||||||
             _______,_______,_______,_______,_______,         _______,_______,_______,_______,_______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
#define USB_MAX_POWER_CONSUMPTION 100
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,56 +0,0 @@
 | 
				
			||||||
/*  -*-  eval: (turn-on-orgtbl); -*-
 | 
					 | 
				
			||||||
 * default HHKB Layout
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define BASE 0
 | 
					 | 
				
			||||||
#define HHKB 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* BASE Level: Default Layer
 | 
					 | 
				
			||||||
     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
 | 
					 | 
				
			||||||
     | Esc   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | -     | =   | \     | ` |
 | 
					 | 
				
			||||||
     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
 | 
					 | 
				
			||||||
     | Tab   | Q | W | E | R | T | Y | U | I | O | P | [     | ]   | Backs |   |
 | 
					 | 
				
			||||||
     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
 | 
					 | 
				
			||||||
     | Cont  | A | S | D | F | G | H | J | K | L | ; | '     | Ent |       |   |
 | 
					 | 
				
			||||||
     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
 | 
					 | 
				
			||||||
     | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn0 |       |   |
 | 
					 | 
				
			||||||
     |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            |------+------+-----------------------+------+------|
 | 
					 | 
				
			||||||
            | LAlt | LGUI | ******* Space ******* | RGUI | RAlt |
 | 
					 | 
				
			||||||
            |------+------+-----------------------+------+------|
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [BASE] = LAYOUT( //  default layer
 | 
					 | 
				
			||||||
        KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
 | 
					 | 
				
			||||||
        KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
 | 
					 | 
				
			||||||
        KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
 | 
					 | 
				
			||||||
        KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
 | 
					 | 
				
			||||||
        KC_LALT, KC_LGUI, /*        */ KC_SPC, KC_RGUI, KC_RALT),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Layer HHKB: HHKB mode (HHKB Fn)
 | 
					 | 
				
			||||||
      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
 | 
					 | 
				
			||||||
      | Pwr  | F1  | F2  | F3  | F4 | F5 | F6 | F7 | F8  | F9  | F10 | F11 | F12   | Ins   | Del |
 | 
					 | 
				
			||||||
      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
 | 
					 | 
				
			||||||
      | Caps |     |     |     |    |    |    |    | Psc | Slk | Pus | Up  |       | Backs |     |
 | 
					 | 
				
			||||||
      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
 | 
					 | 
				
			||||||
      |      | VoD | VoU | Mut |    |    | *  | /  | Hom | PgU | Lef | Rig | Enter |       |     |
 | 
					 | 
				
			||||||
      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
 | 
					 | 
				
			||||||
      |      |     |     |     |    |    | +  | -  | End | PgD | Dow |     |       |       |     |
 | 
					 | 
				
			||||||
      |------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                 |------+------+----------------------+------+------+
 | 
					 | 
				
			||||||
                 | **** | **** | ******************** | **** | **** |
 | 
					 | 
				
			||||||
                 |------+------+----------------------+------+------+
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [HHKB] = LAYOUT(
 | 
					 | 
				
			||||||
        KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
 | 
					 | 
				
			||||||
        KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
 | 
					 | 
				
			||||||
        KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
 | 
					 | 
				
			||||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
 | 
					 | 
				
			||||||
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,137 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Xyverz's HHKB layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Rev 0.1, initial commit.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is my initial keymap for the HHKB with Hasu's alternate controller.
 | 
					 | 
				
			||||||
The default layer is Dvorak, with Qwerty and Colemak being optional.
 | 
					 | 
				
			||||||
Will probably add to it later, but for now I'm going to enjoy this as it is.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names {
 | 
					 | 
				
			||||||
    _QW,
 | 
					 | 
				
			||||||
    _DV,
 | 
					 | 
				
			||||||
    _CM,
 | 
					 | 
				
			||||||
    _FL,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum planck_keycodes { DVORAK = SAFE_RANGE, QWERTY, COLEMAK };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define FN_TAB  LT(_FL, KC_TAB) 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// clang-format off
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   *  _QW: Qwerty Layer
 | 
					 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |ESC | 1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =| \ |Del|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Fn/Tb|  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|BkSpc|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Control|  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '| Return|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /| Shift |Fn|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |        |Alt |Gui |      Space        |Gui |Alt |          |
 | 
					 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  /* Layer 0: Qwerty */
 | 
					 | 
				
			||||||
  [_QW] = LAYOUT(
 | 
					 | 
				
			||||||
    QK_GESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_DEL ,
 | 
					 | 
				
			||||||
    FN_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_ENT ,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, MO(_FL),
 | 
					 | 
				
			||||||
             KC_LALT, KC_LGUI,                   KC_SPC,                                      KC_RGUI, KC_RALT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   *  _DV: Dvorak Layer
 | 
					 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |ESC | 1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  [|  ]| \ |Del|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Fn/Tb|  '|  ,|  .|  P|  Y|  F|  G|  C|  R|  L|  /|  =|BkSpc|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Control|  A|  O|  E|  U|  I|  D|  H|  T|  N|  S|  -| Return|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Shift   |  ;|  Q|  J|  K|  X|  B|  M|  W|  V|  Z| Shift |Fn|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |        |Alt |Gui |      Space        |Gui |Alt |          |
 | 
					 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  /* Layer 1: Dvorak */
 | 
					 | 
				
			||||||
  [_DV] = LAYOUT(
 | 
					 | 
				
			||||||
    QK_GESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
 | 
					 | 
				
			||||||
    FN_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,    KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH, KC_EQL,  KC_BSPC,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_A,    KC_O,    KC_E,    KC_U,    KC_I,    KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,          KC_ENT,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,             KC_RSFT, MO(_FL),
 | 
					 | 
				
			||||||
             KC_LALT, KC_LGUI,                   KC_SPC,                                      KC_RGUI, KC_RALT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   *  _CM: Colemak Layer
 | 
					 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |ESC | 1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =| \ |Del|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Fn/Tb|  Q|  W|  F|  P|  G|  J|  L|  U|  Y|  ;|  [|  ]|BkSpc|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Control|  A|  R|  S|  T|  D|  H|  N|  E|  I|  O|  '| Return|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |Shift   |  Z|  X|  C|  V|  B|  K|  M|  ,|  .|  /| Shift |Fn|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |        |Alt |Gui |      Space        |Gui |Alt |          |
 | 
					 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  /* Layer 2: Colemak */
 | 
					 | 
				
			||||||
  [_CM] = LAYOUT(
 | 
					 | 
				
			||||||
    QK_GESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_DEL ,
 | 
					 | 
				
			||||||
    FN_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,    KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
 | 
					 | 
				
			||||||
    KC_LCTL, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,    KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,          KC_ENT,
 | 
					 | 
				
			||||||
    KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RSFT, MO(_FL),
 | 
					 | 
				
			||||||
             KC_LALT, KC_LGUI,                   KC_SPC,                                      KC_RGUI, KC_RALT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
   *  _FL: Function Layer
 | 
					 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
   * |Grv |F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   |RST|
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |     |   |_QW|_DV|_CM|   |   |PgU| Up|PgD|PSc|SLk|Pau|     |
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |       |   |MPr|MPl|MNx|   |Hom| Lt| Dn| Rt|   |   |       |
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |CAPS    |   |Mut|VlD|VlU|   |End|   |   |   |   |       |  |
 | 
					 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
   * |        |    |    |        Ins        |    |    |          |
 | 
					 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
   */
 | 
					 | 
				
			||||||
  /* Layer 3: Functions */
 | 
					 | 
				
			||||||
  [_FL] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  _______, QK_BOOT,
 | 
					 | 
				
			||||||
    _______, _______, QWERTY,  DVORAK,  COLEMAK, _______, _______, KC_PGUP, KC_UP,   KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, _______,
 | 
					 | 
				
			||||||
    KC_CAPS, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,          _______,
 | 
					 | 
				
			||||||
    _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, KC_END,  _______, _______, _______, _______,          _______, _______,
 | 
					 | 
				
			||||||
             _______, _______,                   _______,                                     _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
// clang-format on
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->event.pressed) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case DVORAK:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_DV);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case QWERTY:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_QW);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case COLEMAK:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_CM);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,32 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
This is the c configuration file for the keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
					 | 
				
			||||||
Copyright 2015 Jack Humbert
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
// #define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define QUICK_TAP_TERM 0
 | 
					 | 
				
			||||||
#define TAPPING_TERM 300
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
#define LEADER_PER_KEY_TIMING
 | 
					 | 
				
			||||||
#define LEADER_TIMEOUT 300
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,100 +0,0 @@
 | 
				
			||||||
/* 
 | 
					 | 
				
			||||||
 * Copyright 2021 Ian Sterling <xyverz on Github.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/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names { _WINDOWS, _MAC, _LOWER, _RAISE, _ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes { WINDOWS = SAFE_RANGE, MAC, ADJUST };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Aliases to keep the keymap tidy
 | 
					 | 
				
			||||||
#define GUIBSPC GUI_T(KC_BSPC)  // GUI when held, BSPC when tapped.
 | 
					 | 
				
			||||||
#define RGB_SWR RGB_M_SW        // Swirl Animation alias
 | 
					 | 
				
			||||||
#define RGB_SNK RGB_M_SN        // Snake Animation alias
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
#define WINLOCK LGUI(KC_L)      // Lock my PC!
 | 
					 | 
				
			||||||
#define DELGUI GUI_T(KC_DEL)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MACLOCK LGUI(LCTL(KC_Q)) // Lock my MacBook!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_WINDOWS] = LAYOUT(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, KC_DEL,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_MAC] = LAYOUT(
 | 
					 | 
				
			||||||
  KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,        KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,        KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
  KC_GRV,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,        KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
  KC_LSFT, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,        KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_RSFT,
 | 
					 | 
				
			||||||
                             LOWER,   KC_BSPC, DELGUI,      KC_ENT,  KC_SPC,  RAISE,
 | 
					 | 
				
			||||||
                                      KC_LCTL, KC_LALT,     KC_RGUI, KC_RCTL
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  QK_BOOT, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_PLUS, KC_LCBR, KC_RCBR, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  KC_F11,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,       KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F12, 
 | 
					 | 
				
			||||||
  _______, _______, _______, KC_UP,   _______, _______,     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, QK_BOOT,
 | 
					 | 
				
			||||||
  KC_CAPS, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME,     KC_PGUP, _______, KC_EQL,  KC_LBRC, KC_RBRC, _______,
 | 
					 | 
				
			||||||
  _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_END,      KC_PGDN, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
 | 
					 | 
				
			||||||
                             _______, KC_DEL,  _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      MACLOCK, _______,     _______, WINLOCK
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, QK_BOOT, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, WINDOWS, MAC,     _______, _______, _______,
 | 
					 | 
				
			||||||
  _______, _______, _______, _______, _______, _______,     _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
                             _______, _______, _______,     _______, _______, _______,
 | 
					 | 
				
			||||||
                                      _______, _______,     _______, _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    if (record->event.pressed) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case WINDOWS:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_WINDOWS);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            case MAC:
 | 
					 | 
				
			||||||
                set_single_persistent_default_layer(_MAC);
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
# Bastyl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A split ergonomic keyboard.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainer: [HID Technologies](https://github.com/HID-Technologies)
 | 
					 | 
				
			||||||
* Hardware Supported: elite-C V4
 | 
					 | 
				
			||||||
* Hardware Availability: [Hidtech.ca](https://www.hidtech.ca/)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Make example for this keyboard (after setting up your build environment):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    make hidtech/bastyl:default
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See the [keyboard build instructions](https://hid-technologies.github.io/Bastyl-DIY-instructions/)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Important information regarding the reset
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If you modify this firmware, make sure to always have a `QK_BOOT` key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,86 +0,0 @@
 | 
				
			||||||
/* Copyright 2019 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * 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/>.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _AUDACITY 0
 | 
					 | 
				
			||||||
#define _LIGHTS 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  AUDACITY = SAFE_RANGE,
 | 
					 | 
				
			||||||
  LIGHTS,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_ KC_TRNS
 | 
					 | 
				
			||||||
#define KC_AUD AUDACITY
 | 
					 | 
				
			||||||
#define KC_LITE LIGHTS
 | 
					 | 
				
			||||||
#define KC_ZNRM LCTL(KC_2) // zoom normal
 | 
					 | 
				
			||||||
#define KC_SAVE LCTL(KC_S) // save
 | 
					 | 
				
			||||||
#define KC_SYNC LALT(KC_S) // sync-lock tracks
 | 
					 | 
				
			||||||
#define KC_SLNC LCTL(KC_L) // silence selection
 | 
					 | 
				
			||||||
#define KC_BL_S BL_STEP
 | 
					 | 
				
			||||||
#define KC_RGBM RGB_MOD
 | 
					 | 
				
			||||||
#define KC_RGBT RGB_TOG
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
    /*
 | 
					 | 
				
			||||||
        | Knob 1: Vol Dn/Up |      | Knob 2: Page Dn/Up |
 | 
					 | 
				
			||||||
        | Press: Mute       | Home | Press: Play/Pause  |
 | 
					 | 
				
			||||||
        | Hold: Layer 2     | Up   | RGB Mode           |
 | 
					 | 
				
			||||||
        | Left              | Down | Right              |
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    [_AUDACITY] = LAYOUT(
 | 
					 | 
				
			||||||
    //,-------+-------+-------.
 | 
					 | 
				
			||||||
       KC_LITE,KC_SAVE,KC_ZNRM,
 | 
					 | 
				
			||||||
    //|-------+-------+-------|
 | 
					 | 
				
			||||||
       KC_SYNC,KC_SLNC,KC_BSPC,
 | 
					 | 
				
			||||||
    //|-------+-------+-------|
 | 
					 | 
				
			||||||
       KC_SPC , KC_F1 , KC_F2
 | 
					 | 
				
			||||||
    //`-------+-------+-------'
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
    /*
 | 
					 | 
				
			||||||
        | QK_BOOT          | N/A  | Media Stop |
 | 
					 | 
				
			||||||
        | Held: Layer 2  | Home | RGB Mode   |
 | 
					 | 
				
			||||||
        | Media Previous | End  | Media Next |
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    [_LIGHTS] = LAYOUT(
 | 
					 | 
				
			||||||
    //,-------+-------+-------.
 | 
					 | 
				
			||||||
         KC_  ,KC_BL_S,KC_STOP,
 | 
					 | 
				
			||||||
    //|-------+-------+-------|
 | 
					 | 
				
			||||||
       KC_RGBM,KC_HOME,KC_RGBT,
 | 
					 | 
				
			||||||
    //|-------+-------+-------|
 | 
					 | 
				
			||||||
       KC_MPRV,KC_END ,KC_MNXT
 | 
					 | 
				
			||||||
    //`-------+-------+-------'
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
					 | 
				
			||||||
    if (index == 0) {
 | 
					 | 
				
			||||||
        if (clockwise) {
 | 
					 | 
				
			||||||
            tap_code(KC_RGHT);
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    else if (index == 1) {
 | 
					 | 
				
			||||||
        if (clockwise) {
 | 
					 | 
				
			||||||
	    SEND_STRING(SS_LCTL("1")); // audacity zoom in
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
	    SEND_STRING(SS_LCTL("3")); // audacity zoom out
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,75 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _BASE 0
 | 
					 | 
				
			||||||
#define _FN1 1
 | 
					 | 
				
			||||||
#define _FN2 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_L1 LT(1, KC_P0)
 | 
					 | 
				
			||||||
#define KC_L2 LT(2, KC_SPC)
 | 
					 | 
				
			||||||
#define KC_MAC1 ADMIN
 | 
					 | 
				
			||||||
#define KC_MAC2 SMSPC
 | 
					 | 
				
			||||||
#define KC_M192 M192
 | 
					 | 
				
			||||||
#define KC_M255 M255
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  NUMPAD = SAFE_RANGE,
 | 
					 | 
				
			||||||
  ADMIN,
 | 
					 | 
				
			||||||
  SMSPC,
 | 
					 | 
				
			||||||
  M192,
 | 
					 | 
				
			||||||
  M255
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_BASE] = LAYOUT_ortho_4x4(
 | 
					 | 
				
			||||||
    KC_P7,   KC_P8,   KC_P9,   KC_BSPC,
 | 
					 | 
				
			||||||
    KC_P4,   KC_P5,   KC_P6,   KC_TAB ,
 | 
					 | 
				
			||||||
    KC_P1,   KC_P2,   KC_P3,   KC_PENT,
 | 
					 | 
				
			||||||
    KC_L1,   KC_L2,   KC_PDOT, KC_PSLS
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_FN1] = LAYOUT_ortho_4x4(
 | 
					 | 
				
			||||||
    KC_ESC,  KC_MAC1, KC_MAC2, KC_DEL ,
 | 
					 | 
				
			||||||
    KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT,
 | 
					 | 
				
			||||||
    KC_M192, KC_M255, XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
    _______, XXXXXXX, _______, XXXXXXX
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_FN2] = LAYOUT_ortho_4x4(
 | 
					 | 
				
			||||||
    QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
    RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
 | 
					 | 
				
			||||||
    RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
 | 
					 | 
				
			||||||
    BL_STEP, _______, XXXXXXX, XXXXXXX
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  switch (keycode) {
 | 
					 | 
				
			||||||
    case ADMIN:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
	SEND_STRING("Administrator");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case SMSPC:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
	SEND_STRING("Simspace1!");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case M192:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
	SEND_STRING("192.168.");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case M255:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
	SEND_STRING("255");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,24 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2022 Adam Applegate
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
#define TAPPING_TOGGLE 3    //# of button presses needed to permanently toggle a layer
 | 
					 | 
				
			||||||
// #define TAPPING_TERM 150     //# of ms before another input is accepted for tap dancing
 | 
					 | 
				
			||||||
// #define RGBLIGHT_LAYERS 4   //# of layer of rgb (max of 8)ASDASDASDASDFASDF
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,82 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
  Copyright (c) 2022 Adam Applegate
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
					 | 
				
			||||||
  of this software and associated documentation files (the "Software"), to deal
 | 
					 | 
				
			||||||
  in the Software without restriction, including without limitation the rights
 | 
					 | 
				
			||||||
  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
					 | 
				
			||||||
  copies of the Software, and to permit persons to whom the Software is
 | 
					 | 
				
			||||||
  furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  The above copyright notice and this permission notice shall be included in all
 | 
					 | 
				
			||||||
  copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
					 | 
				
			||||||
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
					 | 
				
			||||||
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
					 | 
				
			||||||
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
					 | 
				
			||||||
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
					 | 
				
			||||||
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | 
					 | 
				
			||||||
  THE SOFTWARE.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_layers {
 | 
					 | 
				
			||||||
  _QWERTY,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _GAMING,
 | 
					 | 
				
			||||||
  _RISE,
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*****************
 | 
					 | 
				
			||||||
*** TAPDANCES ***
 | 
					 | 
				
			||||||
*****************/
 | 
					 | 
				
			||||||
enum custom_tapdances {
 | 
					 | 
				
			||||||
   TD_SHFT_CAPS = 0,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tap_dance_action_t tap_dance_actions[] = {
 | 
					 | 
				
			||||||
  [TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), //shift if pressed 1x, caps lock if pressed 2x
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*****************
 | 
					 | 
				
			||||||
***  KEYMAPS  ***
 | 
					 | 
				
			||||||
*****************/
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   // layout for everyday use
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_EQL,
 | 
					 | 
				
			||||||
     TD(TD_SHFT_CAPS), KC_A,    KC_S,    KC_D,    KC_F,  KC_G,                        KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,  KC_DEL,              KC_ENT, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_BSLS,
 | 
					 | 
				
			||||||
                                        KC_RALT, KC_LGUI, KC_BSPC,         KC_SPC, TT(_LOWER), _______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
     KC_GRAVE, KC_F1,  KC_F2,  KC_F3,  KC_F4,   KC_F5,                               KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_PEQL,
 | 
					 | 
				
			||||||
     KC_F11,  KC_F12,  KC_UP,  _______, _______, KC_LPRN,                            KC_RPRN,  KC_7,    KC_8,    KC_9,   KC_PSLS, KC_PAST,
 | 
					 | 
				
			||||||
     KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LCBR,                           KC_RCBR,  KC_4,    KC_5,    KC_6,   KC_PMNS, KC_PPLS,
 | 
					 | 
				
			||||||
     KC_LCTL, _______, _______, _______, _______, KC_LBRC, KC_DEL,            KC_ENT, KC_RBRC,  KC_1,    KC_2,    KC_3,   KC_PDOT, _______,
 | 
					 | 
				
			||||||
                                       _______, TO(_QWERTY), KC_BSPC,         KC_SPC, TG(_GAMING), KC_0
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //makes gaming easier, adding a space for jumping closer to the movement keys
 | 
					 | 
				
			||||||
  [_GAMING] = LAYOUT(
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_EQL,
 | 
					 | 
				
			||||||
     KC_LSFT, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,  KC_DEL,             KC_ENT,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_BSLS,
 | 
					 | 
				
			||||||
                                        KC_RALT, KC_SPC, KC_BSPC,           KC_SPC, TG(_RAISE), TO(_LOWER) 
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  //used for editing rgb settings, sound, and misc commands
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
     RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______,                            KC_MUTE, KC_VOLU, KC_MNXT, _______, KC_BRIU, KC_CALC,
 | 
					 | 
				
			||||||
    _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______,                            KC_MSTP, KC_VOLD, KC_MPRV, _______, KC_BRID, KC_MYCM,
 | 
					 | 
				
			||||||
     DM_REC1, DM_REC2, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, KC_WSCH,
 | 
					 | 
				
			||||||
     DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______,         _______, _______, _______,  _______, _______, _______, _______,
 | 
					 | 
				
			||||||
                                       DM_RSTP, TO(_GAMING), _______,        _______, _______, _______
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
TAP_DANCE_ENABLE = yes
 | 
					 | 
				
			||||||
# COMBO_ENABLE = yes
 | 
					 | 
				
			||||||
# RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Disable unnecessary things to save space
 | 
					 | 
				
			||||||
# LTO_ENABLE = yes  #link time optimization
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,45 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2019 Anton Lindström <lindzr@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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// #define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef RGBLIGHT_ENABLE
 | 
					 | 
				
			||||||
#define RGBLIGHT_SLEEP // Turn off RGB light when host is asleep.
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGBLED_NUM 12
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,62 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
#include "keymap_swedish.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_ KC_TRNS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGB
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_LOWR MO(_LOWER)
 | 
					 | 
				
			||||||
#define KC_RASE MO(_RAISE)
 | 
					 | 
				
			||||||
#define KC_RST QK_BOOT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_LBR SE_LBRC
 | 
					 | 
				
			||||||
#define KC_RBR SE_RBRC
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_ESC , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                     KC_6   , KC_7  , KC_8  , KC_9  , KC_0  ,KC_BSPC,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_TAB , KC_Q  , KC_W  , KC_E  , KC_R  , KC_T  ,                     KC_Y   , KC_U  , KC_I  , KC_O  , KC_P  ,SE_ARNG,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                     KC_H   , KC_J  , KC_K  , KC_L  ,SE_ODIA,SE_ADIA,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,KC_LBR ,     KC_RBR ,  KC_N , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_MINS,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+--+----+-------+-------+-------/    \-------+-------+-------+-------+-------+-------+-------'
 | 
					 | 
				
			||||||
                                   KC_LGUI,KC_LOWR,KC_SPC ,         KC_ENT ,KC_RASE,KC_LALT
 | 
					 | 
				
			||||||
  //                              `-------+-------+-------'        `-------+-------+-------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     SE_TILD,KC_EXLM,SE_AT  ,KC_HASH,SE_DLR ,KC_PERC,                     SE_CIRC,SE_AMPR,SE_ASTR,SE_SLSH,SE_LPRN,SE_RPRN,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     SE_ACUT,RGB_TOG,RGB_MOD,RGB_M_B,RGB_M_K,_______,                     _______,_______,_______,_______,_______,SE_ASTR,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,_______,SE_LABK,SE_RABK,SE_PIPE,SE_SLSH,                     SE_BSLS,SE_LCBR,SE_RCBR,SE_LBRC,SE_RBRC,SE_QUOT,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,KC_NUBS,_______,_______,_______,_______,SE_LCBR,     SE_RCBR,_______,_______,_______,_______,_______,_______,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+--+----+-------+-------+-------/    \-------+-------+-------+-------+-------+-------+-------'
 | 
					 | 
				
			||||||
                                   _______,_______,_______,         _______,_______,_______
 | 
					 | 
				
			||||||
  //                              `-------+-------+-------'        `-------+-------+-------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_F12 ,KC_F1  ,KC_F2  ,KC_F3  ,KC_F4  ,KC_F5  ,                     KC_F6  ,KC_F7  ,KC_F8  ,KC_F9  ,KC_F10 ,KC_F11 ,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     SE_GRV ,_______,_______,_______,_______,_______,                     _______,KC_PGUP,KC_UP  ,KC_PGDN,KC_PSCR,KC_PAUS,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,                     KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS ,KC_DEL ,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,KC_VOLU,     KC_VOLD,_______,_______,_______,_______,_______,_______,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+--+----+-------+-------+-------/    \-------+-------+-------+-------+-------+-------+-------'
 | 
					 | 
				
			||||||
                                   _______,_______,_______,         _______,_______,_______
 | 
					 | 
				
			||||||
  //                              `-------+-------+-------'        `-------+-------+-------'
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
# Iris rev3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Layout for Iris rev3 with a layer for programming and one for navigation. The
 | 
					 | 
				
			||||||
keymap is based on a swedish one and contains the åäö characters and the
 | 
					 | 
				
			||||||
swedish mappings.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,32 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 PREVENT_STUCK_MODIFIERS
 | 
					 | 
				
			||||||
#define TAPPING_TERM 150
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
//#define MASTER_LEFT
 | 
					 | 
				
			||||||
#define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*#undef RGBLED_NUMvbvbvbvbvbvbvtesting
 | 
					 | 
				
			||||||
#define RGBLED_NUM 1
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8*/
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,120 +0,0 @@
 | 
				
			||||||
/* Features of this keymap:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--Lots of functionality on left hand for conjunction with mouse or pen in right hand
 | 
					 | 
				
			||||||
--_COMMAND layer ESDF arrow keys
 | 
					 | 
				
			||||||
--_MEH layer ESDF is super handy for switching tabs (SF) and apps (ED)
 | 
					 | 
				
			||||||
--_MEH layer other keys are linked with my AutoHotKey script
 | 
					 | 
				
			||||||
--macro for handling parentheses is very nice (credit: u/drashna)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Some things are very non-standard, like position of number keys, etc.
 | 
					 | 
				
			||||||
Will require heavy modification for most people.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MODS_SHIFT_MASK (MOD_BIT(KC_LSFT)|MOD_BIT(KC_RSFT))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum my_layers {
 | 
					 | 
				
			||||||
  _QWERTY,
 | 
					 | 
				
			||||||
  _SYMBOL,
 | 
					 | 
				
			||||||
  _COMMAND,
 | 
					 | 
				
			||||||
  _MEH
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
    KC_MPRN = SAFE_RANGE,
 | 
					 | 
				
			||||||
    KC_MBRC,
 | 
					 | 
				
			||||||
    KC_MCBR,
 | 
					 | 
				
			||||||
    KC_MABK
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
   KC_ESC,  KC_GRV,  KC_AT, KC_BSLS,   KC_NO, TG(_SYMBOL),                     KC_NO, KC_LGUI, KC_MBRC, KC_RBRC,   KC_NO,  KC_DEL,
 | 
					 | 
				
			||||||
   KC_TAB,  KC_Q,    KC_W,     KC_E,    KC_R,    KC_T,                          KC_Y,    KC_U,    KC_I,    KC_O,    KC_P, KC_BSPC,
 | 
					 | 
				
			||||||
   KC_LCTL, KC_A,    KC_S,     KC_D,    KC_F,    KC_G,                          KC_H,    KC_J,    KC_K,    KC_L, KC_SCLN, MO(_SYMBOL),
 | 
					 | 
				
			||||||
   KC_LALT, KC_Z,    KC_X,     KC_C,    KC_V,    KC_B, MO(_MEH),       KC_QUOT, KC_N,    KC_M, KC_COMM,  KC_DOT, KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
                                 KC_NO,  KC_LSFT, MO(_COMMAND),            KC_ENT,  KC_SPC, KC_NO
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
[_SYMBOL] = LAYOUT(
 | 
					 | 
				
			||||||
   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS,  KC_EQL,    KC_9,    KC_8,    KC_7, KC_PLUS,                    KC_HASH, KC_UNDS, KC_MCBR, KC_RCBR, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS,    KC_0,    KC_6,    KC_5,    KC_4, KC_MINS,                    KC_CIRC, KC_AMPR, KC_MPRN, KC_RPRN, KC_RBRC, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS, KC_SLSH,    KC_3,    KC_2,    KC_1, KC_ASTR, KC_TRNS,  KC_TRNS, KC_EXLM, KC_DLR,  KC_MABK, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
                                 KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,  KC_TRNS,  KC_TRNS 
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
[_COMMAND] = LAYOUT(
 | 
					 | 
				
			||||||
    KC_APP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS, KC_PGUP, KC_HOME,   KC_UP,  KC_END, KC_VOLU,                    KC_SCRL,   KC_F9,  KC_F10,  KC_F11,  KC_F12, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD,                    KC_CAPS,   KC_F5,   KC_F6,   KC_F7,   KC_F8, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_MUTE, KC_TRNS,  KC_TRNS, KC_PAUS,   KC_F1,   KC_F2,   KC_F3,   KC_F4, KC_TRNS, 
 | 
					 | 
				
			||||||
                                 KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,  KC_TRNS,  KC_TRNS 
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
[_MEH] = LAYOUT(
 | 
					 | 
				
			||||||
   LALT(KC_F4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, 
 | 
					 | 
				
			||||||
   KC_TRNS, MEH(KC_Q), LCTL(KC_W), LSFT(KC_TAB), KC_DEL, MEH(KC_T),          KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS, MEH(KC_A),LSFT(LCTL(KC_TAB)),KC_TAB,LCTL(KC_TAB),MEH(KC_G),      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
   KC_TRNS,MEH(KC_Z),MEH(KC_X),MEH(KC_C),MEH(KC_V),MEH(KC_B),KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 
 | 
					 | 
				
			||||||
                                 KC_TRNS, KC_TRNS, KC_TRNS,           KC_TRNS,  KC_TRNS,  KC_TRNS 
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  static uint16_t code_timer;
 | 
					 | 
				
			||||||
  switch (keycode) {
 | 
					 | 
				
			||||||
  case KC_MCBR:                                  
 | 
					 | 
				
			||||||
    if(record->event.pressed){
 | 
					 | 
				
			||||||
      code_timer= timer_read();
 | 
					 | 
				
			||||||
      SEND_STRING("{");
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      if (timer_elapsed(code_timer) > TAPPING_TERM) {
 | 
					 | 
				
			||||||
        SEND_STRING("}" SS_TAP(X_LEFT));
 | 
					 | 
				
			||||||
      } 
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
    break;
 | 
					 | 
				
			||||||
  case KC_MBRC:                                  
 | 
					 | 
				
			||||||
    if(record->event.pressed){
 | 
					 | 
				
			||||||
      code_timer= timer_read();
 | 
					 | 
				
			||||||
      SEND_STRING("[");
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      if (timer_elapsed(code_timer) > TAPPING_TERM) {
 | 
					 | 
				
			||||||
        SEND_STRING("]" SS_TAP(X_LEFT));
 | 
					 | 
				
			||||||
      } 
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
    break;
 | 
					 | 
				
			||||||
  case KC_MPRN:                                  
 | 
					 | 
				
			||||||
    if(record->event.pressed){
 | 
					 | 
				
			||||||
      code_timer= timer_read();
 | 
					 | 
				
			||||||
      SEND_STRING("(");
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      if (timer_elapsed(code_timer) > TAPPING_TERM) {
 | 
					 | 
				
			||||||
        SEND_STRING(")" SS_TAP(X_LEFT));
 | 
					 | 
				
			||||||
      } 
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
    break;
 | 
					 | 
				
			||||||
  case KC_MABK:                                  
 | 
					 | 
				
			||||||
    if(record->event.pressed){
 | 
					 | 
				
			||||||
      code_timer= timer_read();
 | 
					 | 
				
			||||||
      if (get_mods() & MODS_SHIFT_MASK){
 | 
					 | 
				
			||||||
        SEND_STRING("<");
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        SEND_STRING(",");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      if (timer_elapsed(code_timer) > TAPPING_TERM) {
 | 
					 | 
				
			||||||
        if (get_mods()  & MODS_SHIFT_MASK){
 | 
					 | 
				
			||||||
          SEND_STRING(">" SS_TAP(X_LEFT));
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      } 
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return false;
 | 
					 | 
				
			||||||
    break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,44 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2019 Brian Luckenbill
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 AUDIO_PIN C6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef  RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLED_NUM                  12
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP           8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP           8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP           8
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MOUSEKEY_DELAY              300
 | 
					 | 
				
			||||||
#define MOUSEKEY_INTERVAL           50
 | 
					 | 
				
			||||||
#define MOUSEKEY_MAX_SPEED          10
 | 
					 | 
				
			||||||
#define MOUSEKEY_TIME_TO_MAX        20
 | 
					 | 
				
			||||||
#define MOUSEKEY_WHEEL_MAX_SPEED    8
 | 
					 | 
				
			||||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX  40
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,86 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names {
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _LAYER1,
 | 
					 | 
				
			||||||
    _LAYER2,
 | 
					 | 
				
			||||||
    _LAYER3
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define WM_0     LGUI(KC_ENT)
 | 
					 | 
				
			||||||
#define WM_1     LGUI(KC_BSPC)
 | 
					 | 
				
			||||||
#define WM_2     LGUI(KC_DEL)
 | 
					 | 
				
			||||||
#define WM_3     SGUI(KC_ENT)
 | 
					 | 
				
			||||||
#define WM_4     SGUI(KC_BSPC)
 | 
					 | 
				
			||||||
#define WM_5     SGUI(KC_DEL)
 | 
					 | 
				
			||||||
#define WM_6     SGUI(KC_TAB)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define LAYER1   TT(_LAYER1)
 | 
					 | 
				
			||||||
#define LAYER2   TT(_LAYER2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define CS_U     C(S(KC_UP))
 | 
					 | 
				
			||||||
#define CS_D     C(S(KC_DOWN))
 | 
					 | 
				
			||||||
#define CS_SPC   C(S(KC_SPC))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
      QK_GESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,   KC_EQL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
      KC_TAB,   KC_Q,     KC_W,   KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,   KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
      LAYER1,   KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               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_LGUI,         KC_RGUI,   KC_N,    KC_M,  KC_COMM,  KC_DOT, KC_SLSH,  LAYER2,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                     KC_LCTL, KC_LALT, KC_SPC,                    KC_ENT, KC_RGUI,  WM_0
 | 
					 | 
				
			||||||
  //                               └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LAYER1] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_CAPS,  KC_F1,    KC_F2,  KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_MINS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_SCRL,  KC_PSCR, KC_NO,   KC_NO,   KC_NO,    KC_NO,                             KC_PGUP, KC_PGDN, KC_HOME, KC_END,  KC_NO,   KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_NO,    KC_NO, C(KC_LEFT), KC_NO, C(KC_RGHT), KC_NO,                            KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_NO,   KC_INS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_RSFT,  KC_NO,    WM_5,    WM_4,    WM_3,    WM_2,   MU_TOGG,           AU_TOGG, KC_NO,  KC_NO,   KC_LBRC, KC_RBRC, KC_BSLS, KC_NO,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                      WM_1,  KC_LGUI,  KC_PIPE,                   KC_UNDS, KC_RCTL, KC_RALT
 | 
					 | 
				
			||||||
  //                               └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LAYER2] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
      KC_ESC,  KC_F11,  KC_F12,  KC_F13,  KC_F14,  KC_F15,                             KC_F16,  KC_F17,  KC_F18,  KC_F19,  KC_F20,  KC_NO,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
      KC_NO,   KC_NO,   KC_NO,   CS_SPC,   CS_U,  S(KC_PGUP),                         RGB_VAI, RGB_HUI, RGB_SAI, RGB_M_SW,RGB_M_R,  KC_NO,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
      KC_NO,   KC_NO,   KC_NO,   KC_NO,    CS_D,  S(KC_PGDN),                         RGB_VAD, RGB_HUD, RGB_SAD,  KC_NO,   KC_NO,   KC_NO,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_LSFT, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRID, KC_BRIU,  MU_NEXT,          AU_OFF,  KC_RCTL, KC_LCTL, KC_RALT, KC_LALT, KC_DEL,  KC_NO,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                      WM_6,  VK_TOGG, RGB_MOD,                   RGB_TOG, BL_TOGG,  BL_STEP
 | 
					 | 
				
			||||||
  //                               └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LAYER3] = 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_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_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_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
 | 
					 | 
				
			||||||
  //                               └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +0,0 @@
 | 
				
			||||||
# blucky's keymap for iris rev 2 w/ speaker, backlight and RGB and rev 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```shell
 | 
					 | 
				
			||||||
make keebio/iris/rev2:blucky
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
make keebio/iris/rev3:blucky
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE   = yes
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE  = yes
 | 
					 | 
				
			||||||
VELOCIKEY_ENABLE  = yes
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE   = yes
 | 
					 | 
				
			||||||
AUDIO_ENABLE      = no
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,42 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
#define RGBLED_NUM 14
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8
 | 
					 | 
				
			||||||
#define NO_ACTION_TAPPING
 | 
					 | 
				
			||||||
#define NO_ACTION_ONESHOT
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,114 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
#define _ADJUST 16
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  QWERTY = SAFE_RANGE,
 | 
					 | 
				
			||||||
  LOWER,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               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_SPC,           KC_SPC,  KC_N,    KC_M,    KC_COMM,  KC_DOT, KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LCTL, LOWER,   KC_SPC,                    KC_SPC,  LOWER,   RAISE
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_TILD, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,                            _______,   KC_P7,   KC_P8,   KC_P9, _______,  KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     QK_BOOT, _______,   KC_UP, _______, _______, _______,                            _______,   KC_P4,   KC_P5,   KC_P6, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LBRC,                            KC_RBRC,   KC_P1,   KC_P2,   KC_P3, KC_PLUS, KC_PIPE,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, KC_LCBR, _______,          _______, KC_RCBR,   KC_P0,   KC_P0, _______, KC_MINS, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
									_______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                              KC_F7,   KC_F8,   KC_F9,   KC_F10,   KC_F11,  KC_F12,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS,                            KC_EQL,  KC_HOME, _______, _______, _______, KC_BSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, _______,          _______, KC_PLUS, KC_END,  _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     RGB_TOG, RGB_RMOD, RGB_MOD, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, RGB_VAD, RGB_SAI, RGB_VAI,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  switch (keycode) {
 | 
					 | 
				
			||||||
    case QWERTY:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_QWERTY);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case ADJUST:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        layer_on(_ADJUST);
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        layer_off(_ADJUST);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
This is (what I consider to be) an improvement over the default Iris keymap.
 | 
					 | 
				
			||||||
It includes a QWERTY layer, a general system layer with arrows, volume control
 | 
					 | 
				
			||||||
and a numpad on the right board; a second raised layer with function keys and
 | 
					 | 
				
			||||||
more extensive media controls; and an adjust layer with controls for RGB
 | 
					 | 
				
			||||||
underlighting.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes 
 | 
					 | 
				
			||||||
EXTRAKEY_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
#define MASTER_LEFT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TAPPING_TERM 200
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,250 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
This is free and unencumbered software released into the public domain.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Anyone is free to copy, modify, publish, use, compile, sell, or
 | 
					 | 
				
			||||||
distribute this software, either in source code form or as a compiled
 | 
					 | 
				
			||||||
binary, for any purpose, commercial or non-commercial, and by any
 | 
					 | 
				
			||||||
means.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In jurisdictions that recognize copyright laws, the author or authors
 | 
					 | 
				
			||||||
of this software dedicate any and all copyright interest in the
 | 
					 | 
				
			||||||
software to the public domain. We make this dedication for the benefit
 | 
					 | 
				
			||||||
of the public at large and to the detriment of our heirs and
 | 
					 | 
				
			||||||
successors. We intend this dedication to be an overt act of
 | 
					 | 
				
			||||||
relinquishment in perpetuity of all present and future rights to this
 | 
					 | 
				
			||||||
software under copyright law.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 | 
					 | 
				
			||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 | 
					 | 
				
			||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 | 
					 | 
				
			||||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
 | 
					 | 
				
			||||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 | 
					 | 
				
			||||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 | 
					 | 
				
			||||||
OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
For more information, please refer to <http://unlicense.org/>
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layers {
 | 
					 | 
				
			||||||
    _DVORAK,
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _CODE,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// work in progress simulation of kakoune behavior
 | 
					 | 
				
			||||||
bool kak_mode = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum tapdances {
 | 
					 | 
				
			||||||
    _LCTLGUI,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum keycodes {
 | 
					 | 
				
			||||||
    KC_KAK = SAFE_RANGE,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tap_dance_action_t tap_dance_actions[] = {
 | 
					 | 
				
			||||||
    [_LCTLGUI] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, KC_LGUI),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Layers
 | 
					 | 
				
			||||||
#define DVORAK DF(_DVORAK)
 | 
					 | 
				
			||||||
#define QWERTY DF(_QWERTY)
 | 
					 | 
				
			||||||
#define CODE MO(_CODE)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Modifiers
 | 
					 | 
				
			||||||
#define COPY LCTL(KC_C)
 | 
					 | 
				
			||||||
#define PASTE LCTL(KC_V)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Tapdances
 | 
					 | 
				
			||||||
#define LCTLGUI TD(_LCTLGUI)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
  [_DVORAK] = LAYOUT(
 | 
					 | 
				
			||||||
//  ┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_PSCR, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    QWERTY,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_QUOT, KC_COMM, KC_DOT,  KC_P,    KC_Y,                               KC_F,    KC_G,    KC_C,    KC_R,    KC_L,    KC_SLSH,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_ESC,  KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                               KC_D,    KC_H,    KC_T,    KC_N,    KC_S,    KC_MINS,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_LGUI, KC_SCLN, KC_Q,    KC_J,    KC_K,    KC_X,    KC_PGUP,          KC_PGDN, KC_B,    KC_M,    KC_W,    KC_V,    KC_Z,    KC_ENT,
 | 
					 | 
				
			||||||
//  └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    LCTLGUI, KC_LALT, KC_LSFT,                   KC_BSPC, KC_SPC,  CODE
 | 
					 | 
				
			||||||
//                                 └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
//  ┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, DVORAK,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    _______,          _______, KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, _______,
 | 
					 | 
				
			||||||
//  └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
//                                 └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_CODE] = LAYOUT(
 | 
					 | 
				
			||||||
//  ┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_LABK, KC_LCBR, KC_LBRC, KC_LPRN, KC_AMPR,                            KC_AT,   KC_MINS, KC_SLSH, KC_DLR,  KC_EXLM, KC_BSLS,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_GRAVE,KC_RABK, KC_RCBR, KC_RBRC, KC_RPRN, KC_PIPE,                            KC_CIRC, KC_PLUS, KC_ASTR, KC_PERC, KC_UP,   KC_EQL,
 | 
					 | 
				
			||||||
//  ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     QK_BOOT, _______, _______, _______, _______, _______, KC_HOME,          KC_END,  KC_KAK,  COPY,    PASTE,   KC_LEFT, KC_DOWN, KC_RIGHT,
 | 
					 | 
				
			||||||
//  └────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   KC_DEL,  _______, _______
 | 
					 | 
				
			||||||
//                                 └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    switch (keycode) {
 | 
					 | 
				
			||||||
        case KC_KAK: {
 | 
					 | 
				
			||||||
            if (record->event.pressed) {
 | 
					 | 
				
			||||||
                kak_mode = !kak_mode;
 | 
					 | 
				
			||||||
                return false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        } break;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (kak_mode) {
 | 
					 | 
				
			||||||
        switch (keycode) {
 | 
					 | 
				
			||||||
            case KC_ESC: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    kak_mode = false;
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_I: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    kak_mode = false;
 | 
					 | 
				
			||||||
                    tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_A: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    kak_mode = false;
 | 
					 | 
				
			||||||
                    tap_code(KC_RIGHT);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_W: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    uint8_t mods = get_mods();
 | 
					 | 
				
			||||||
                    if ((mods & MOD_MASK_SHIFT) == 0)
 | 
					 | 
				
			||||||
                        tap_code(KC_RIGHT);
 | 
					 | 
				
			||||||
                    set_mods(MOD_MASK_CS);
 | 
					 | 
				
			||||||
                    tap_code(KC_RIGHT);
 | 
					 | 
				
			||||||
                    set_mods(mods);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_B: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    uint8_t mods = get_mods();
 | 
					 | 
				
			||||||
                    if ((mods & MOD_MASK_SHIFT) == 0)
 | 
					 | 
				
			||||||
                        tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                    set_mods(MOD_MASK_CS);
 | 
					 | 
				
			||||||
                    tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                    set_mods(mods);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_H: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    if ((get_mods() & MOD_MASK_ALT) == 0)
 | 
					 | 
				
			||||||
                        tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                        tap_code(KC_HOME);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_J: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code(KC_DOWN);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_K: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code(KC_UP);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_L: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    if ((get_mods() & MOD_MASK_ALT) == 0)
 | 
					 | 
				
			||||||
                        tap_code(KC_RIGHT);
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                        tap_code(KC_END);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_X: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    uint8_t mods = get_mods();
 | 
					 | 
				
			||||||
                    tap_code(KC_HOME);
 | 
					 | 
				
			||||||
                    set_mods(MOD_MASK_SHIFT);
 | 
					 | 
				
			||||||
                    tap_code(KC_END);
 | 
					 | 
				
			||||||
                    set_mods(mods);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_Y: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code16(KC_COPY);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_D: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code16(KC_COPY);
 | 
					 | 
				
			||||||
                    tap_code(KC_BSPC);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_C: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code(KC_BSPC);
 | 
					 | 
				
			||||||
                    kak_mode = false;
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_P: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    if ((get_mods() & MOD_MASK_SHIFT) == 0)
 | 
					 | 
				
			||||||
                        tap_code(KC_RIGHT);
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                        tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                    tap_code16(KC_PSTE);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_R: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    tap_code16(KC_PSTE);
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
            case KC_U: {
 | 
					 | 
				
			||||||
                if (record->event.pressed) {
 | 
					 | 
				
			||||||
                    if ((get_mods() & MOD_MASK_SHIFT) == 0)
 | 
					 | 
				
			||||||
                        tap_code16(LCTL(KC_Z));
 | 
					 | 
				
			||||||
                    else
 | 
					 | 
				
			||||||
                        tap_code16(LCTL(KC_Y));
 | 
					 | 
				
			||||||
                    return false;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
TAP_DANCE_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,21 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,149 +0,0 @@
 | 
				
			||||||
 /* Copyright 2021 Romeet Chhabra 
 | 
					 | 
				
			||||||
  * 
 | 
					 | 
				
			||||||
  * 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/>. 
 | 
					 | 
				
			||||||
  */ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_layers {
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _LOWER,
 | 
					 | 
				
			||||||
    _RAISE,
 | 
					 | 
				
			||||||
    _ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  QWERTY = SAFE_RANGE,
 | 
					 | 
				
			||||||
  LOWER,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     LALT_T(KC_ESC), KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     SC_LSPO, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_MUTE,           KC_PSCR,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, SC_RSPC,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LGUI, LOWER,   KC_SPC,                    KC_ENT,  RAISE,   KC_LCTL
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     RGB_TOG, _______, KC_BTN3,   _______, KC_LBRC,  KC_RBRC,                            KC_EQL, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_BTN4, KC_BTN1, KC_MS_U, KC_BTN2, KC_LCBR, KC_RCBR,                            KC_PLUS,  KC_P4,   KC_P5,   KC_P6,  KC_PAST,  _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_BTN5,  KC_MS_L, KC_MS_D, KC_MS_R, KC_LT,   KC_GT,                            KC_MINS, KC_P1,   KC_P2,   KC_P3,   KC_PMNS, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______, _______,          _______, KC_UNDS, KC_P0,   KC_PDOT,   KC_PENT,   KC_PPLS, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                    _______,  MO(_ADJUST), _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______,   _______, _______,  _______,                            KC_LBRC, KC_LCBR, KC_LT, KC_GT, KC_RCBR, KC_RBRC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            KC_PGUP,  KC_MINS, KC_UNDS, KC_EQL, KC_PLUS, KC_PGDN,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______, _______,          _______, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_END,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, MO(_ADJUST), _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     RGB_TOG, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS,                            KC_EQL,  KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, QK_BOOT,          EE_CLR,  KC_PLUS, KC_END,  RGB_HUD, RGB_SAD, RGB_VAD, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
  switch (keycode) {
 | 
					 | 
				
			||||||
    case QWERTY:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        set_single_persistent_default_layer(_QWERTY);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case ADJUST:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        layer_on(_ADJUST);
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        layer_off(_ADJUST);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
					 | 
				
			||||||
    if (index == 0) {
 | 
					 | 
				
			||||||
        if (clockwise) {
 | 
					 | 
				
			||||||
            tap_code(KC_VOLU);
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            tap_code(KC_VOLD);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    else if (index == 1) {
 | 
					 | 
				
			||||||
        if (clockwise) {
 | 
					 | 
				
			||||||
            tap_code(KC_WH_D);
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            tap_code(KC_WH_U);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
MOUSEKEY_ENABLE = yes        # Mouse keys
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2021 Mykyta Poturai <ddone@aruko.org>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD_PER_KEY
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,157 +0,0 @@
 | 
				
			||||||
/* Copyright 2021 Mykyta Poturai <ddone@aruko.org>
 | 
					 | 
				
			||||||
  *
 | 
					 | 
				
			||||||
  * 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/>.
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_layers {
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _LOWER,
 | 
					 | 
				
			||||||
    _RAISE,
 | 
					 | 
				
			||||||
    _ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define SPCFN1 LT(_LOWER, KC_SPC)
 | 
					 | 
				
			||||||
#define SFTESC LSFT_T(KC_ESC)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  LOWER = SAFE_RANGE,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     SFTESC, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, SC_SENT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    SPCFN1,           KC_DEL,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RCTL,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    LOWER   , KC_LWIN,SPCFN1,                    RAISE,  RAISE,   KC_RALT
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PGUP,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______,   KC_1,    KC_2,    KC_3,    KC_4,    KC_LT,                             KC_GT,    KC_7,    KC_8,    KC_9,    KC_0,    KC_PIPE,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______,  _______, _______, _______,_______, KC_LBRC,                            KC_RBRC, KC_4,    KC_5,     KC_6,   KC_PLUS, KC_MINS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, KC_LPRN, LOWER,          _______, KC_RPRN,   KC_1,    KC_2,   KC_3,     KC_PAST, KC_PSLS,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, LOWER,                    _______,  _______, KC_0
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, KC_BSLS, KC_EQUAL,KC_QUOTE,KC_UNDS,                            KC_LEFT,  KC_DOWN, KC_UP,   KC_RGHT, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, KC_MINS, LOWER,          _______, KC_PLUS, _______,  _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, LOWER,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, QK_BOOT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, RGB_VAD, RGB_VAI ,_______ ,                            KC_PSCR, KC_BTN1, KC_BTN2, KC_BTN3, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, RGB_RMOD,RGB_MOD, RGB_TOG ,                           KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, RGB_HUD, RGB_HUI, _______, LOWER,            _______, _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, LOWER,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case ADJUST:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        layer_on(_ADJUST);
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        layer_off(_ADJUST);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    switch (keycode) {
 | 
					 | 
				
			||||||
	case SFTESC:
 | 
					 | 
				
			||||||
	    return true;
 | 
					 | 
				
			||||||
	default:
 | 
					 | 
				
			||||||
	    return false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	switch (get_highest_layer(layer_state)) {
 | 
					 | 
				
			||||||
	    case _LOWER:
 | 
					 | 
				
			||||||
		if (clockwise) {
 | 
					 | 
				
			||||||
		    tap_code(KC_WH_D);
 | 
					 | 
				
			||||||
		} else {
 | 
					 | 
				
			||||||
		    tap_code(KC_WH_U);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		break;
 | 
					 | 
				
			||||||
	    default:
 | 
					 | 
				
			||||||
		if (clockwise) {
 | 
					 | 
				
			||||||
		    tap_code(KC_PGDN);
 | 
					 | 
				
			||||||
		} else {
 | 
					 | 
				
			||||||
		    tap_code(KC_PGUP);
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,8 +0,0 @@
 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Dddone's Iris keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
LTO_ENABLE = yes
 | 
					 | 
				
			||||||
COMMAND_ENABLE = no
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes
 | 
					 | 
				
			||||||
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,89 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef USE_I2C
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
#undef MASTER_LEFT
 | 
					 | 
				
			||||||
#undef MASTER_RIGHT
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable debugging features */
 | 
					 | 
				
			||||||
#ifndef NO_DEBUG
 | 
					 | 
				
			||||||
#define NO_DEBUG
 | 
					 | 
				
			||||||
#endif // #ifndef NO_DEBUG
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable printing features */
 | 
					 | 
				
			||||||
#ifndef NO_PRINT
 | 
					 | 
				
			||||||
#define NO_PRINT
 | 
					 | 
				
			||||||
#endif // #ifndef NO_PRINT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* force n-key rollover to be enabled every boot */
 | 
					 | 
				
			||||||
#undef FORCE_NKRO
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable tap dance and other tapping features */
 | 
					 | 
				
			||||||
#undef NO_ACTION_TAPPING
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* disable one-shot modifiers */
 | 
					 | 
				
			||||||
#undef NO_ACTION_ONESHOT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
 * when on: tap-hold keys are held when typed fast, so long as the modifier key
 | 
					 | 
				
			||||||
 *          is pressed before and released after the rodified key(s)
 | 
					 | 
				
			||||||
 * when off: tap-hold keys are both tapped when typed fast (within tapping term)
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#undef PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* TAPPING_TERM x (ms)
 | 
					 | 
				
			||||||
 * how long before a tap becomes a hold. if set above 500, a key tapped during
 | 
					 | 
				
			||||||
 * the tapping term will turn it into a hold too
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#define TAPPING_TERM 200
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* TAPPING_TOGGLE x (count)
 | 
					 | 
				
			||||||
 * If you hold a TT key down, layer is activated, and then is de-activated when
 | 
					 | 
				
			||||||
 * you let go (like MO()). If you repeatedly tap it, the layer will be toggled
 | 
					 | 
				
			||||||
 * on or off (like TG()). It needs 5 taps by default, but you can change this by
 | 
					 | 
				
			||||||
 * defining TAPPING_TOGGLE to another number.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
// #define TAPPING_TOGGLE 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* RETRO_TAPPING
 | 
					 | 
				
			||||||
 * tap anyway, even after TAPPING_TERM, if there was no other key interruption
 | 
					 | 
				
			||||||
 * between press and release
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#undef RETRO_TAPPING
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* ONESHOT_TIMEOUT x (ms)
 | 
					 | 
				
			||||||
 * how long before oneshot times out
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
// #define ONESHOT_TIMEOUT 2000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* TAP_CODE_DELAY x (ms)
 | 
					 | 
				
			||||||
 * how long tapped keycodes are held down for
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
// #define TAP_CODE_DELAY 100
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* NO_USB_STARTUP_CHECK
 | 
					 | 
				
			||||||
 * according to:
 | 
					 | 
				
			||||||
 * https://github.com/qmk/qmk_firmware/issues/12732
 | 
					 | 
				
			||||||
 * defining this can help with boards not being recognized by virtual keymapping
 | 
					 | 
				
			||||||
 * software
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#define NO_USB_STARTUP_CHECK
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,277 +0,0 @@
 | 
				
			||||||
/* Copyright 2022 elliotpatros
 | 
					 | 
				
			||||||
 * 
 | 
					 | 
				
			||||||
 * 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/>. 
 | 
					 | 
				
			||||||
 */ 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Layer definitions
 | 
					 | 
				
			||||||
enum custom_layers {
 | 
					 | 
				
			||||||
    _COLEMAK,
 | 
					 | 
				
			||||||
    _FUNCTION,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Custom keycodes, implemented later, in function: process_record_user()
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
    CTL_ESC = SAFE_RANGE,   // mod tap: left control / esc
 | 
					 | 
				
			||||||
    SFT_ENT,                // mod tap: left shift / enter
 | 
					 | 
				
			||||||
    LST_PRN,                // mod tap: left shift / left parenthesis
 | 
					 | 
				
			||||||
    RST_PRN,                // mod tap: right shift / right parenthesis
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Shorthand keycode definitions
 | 
					 | 
				
			||||||
#define OSM_CAG OSM(MOD_LCTL | MOD_LALT | MOD_LGUI)
 | 
					 | 
				
			||||||
#define LT_BSFN LT(_FUNCTION, KC_BSLS)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// The layout
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    // Default layer
 | 
					 | 
				
			||||||
    [_COLEMAK] = LAYOUT (
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐                  ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                       KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤                  ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    KC_TAB,  KC_Q,    KC_W,    KC_F,    KC_P,    KC_G,                       KC_J,    KC_L,    KC_U,    KC_Y,    KC_SCLN, KC_EQL,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤                  ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    CTL_ESC, KC_A,    KC_R,    KC_S,    KC_T,    KC_D,                       KC_H,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    LST_PRN, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_SPC,   KC_ENT,  KC_K,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, RST_PRN,
 | 
					 | 
				
			||||||
// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                        KC_LALT, KC_LGUI, SFT_ENT,  KC_SPC,  LT_BSFN, KC_BSPC
 | 
					 | 
				
			||||||
//                                     └────────┴────────┴────────┘└────────┴────────┴────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Function (and I guess also media & navigation) layer
 | 
					 | 
				
			||||||
    [_FUNCTION] = LAYOUT (
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// ┌────────┬────────┬────────┬────────┬────────┬────────┐                  ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
    _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                      KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  _______,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤                  ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    _______, KC_GRV,  KC_LPRN, KC_RPRN, KC_F11,  KC_F12,                     KC_INS,  KC_HOME, KC_UP,   KC_PGUP, _______, _______,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┤                  ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, OSM_CAG,                    KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, _______,
 | 
					 | 
				
			||||||
// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
    _______, _______, _______, _______, _______, KC_MUTE, _______,  _______, KC_VOLD, KC_DEL,  KC_END,  KC_PGDN, _______, _______,
 | 
					 | 
				
			||||||
// └────────┴────────┴────────┴────────┼────────┼────────┼────────┘└────────┼────────┴────────┴────────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                        _______, _______, _______,  _______, _______, _______
 | 
					 | 
				
			||||||
//                                     └────────┴────────┴────────┘└────────┴────────┴────────┘
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline bool dualfunckey_was_tapped(const uint16_t time_when_pressed) {
 | 
					 | 
				
			||||||
    return timer_elapsed(time_when_pressed) < TAPPING_TERM;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    // Static variables
 | 
					 | 
				
			||||||
    static uint16_t timer_control_escape = 0;
 | 
					 | 
				
			||||||
    static uint16_t timer_shift_enter = 0;
 | 
					 | 
				
			||||||
    static uint16_t timer_shift_lparen = 0;
 | 
					 | 
				
			||||||
    static uint16_t timer_shift_rparen = 0;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    static bool dualfunckey_pending = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    static bool shift_enter_is_pressed = false;
 | 
					 | 
				
			||||||
    static bool shift_lparen_is_pressed = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Was this function called to handle a keydown? If not, it was called by a 
 | 
					 | 
				
			||||||
    // key up.
 | 
					 | 
				
			||||||
    const bool pressed = record->event.pressed;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Any keydown (at all) spends a pending dual function key check. Why? If,
 | 
					 | 
				
			||||||
    // for example, you use shift to type a capital letter, and shift keys down
 | 
					 | 
				
			||||||
    // and up faster than the tapping term, did you mean to call shift's tapping
 | 
					 | 
				
			||||||
    // key? No. You just meant to call shift.
 | 
					 | 
				
			||||||
    if (pressed) {
 | 
					 | 
				
			||||||
        dualfunckey_pending = false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Only keycodes >= SAFE_RANGE are handled in this function
 | 
					 | 
				
			||||||
    if (keycode < SAFE_RANGE) {
 | 
					 | 
				
			||||||
        // This keypress was not handled
 | 
					 | 
				
			||||||
        return true;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Handle custom keypresses here
 | 
					 | 
				
			||||||
    switch (keycode) {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    // Dual function key (hold: left shift; tap: enter)
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    case SFT_ENT:
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        // There are multiple keys that are mapped to left shift. Keep track of
 | 
					 | 
				
			||||||
        // which are pressed
 | 
					 | 
				
			||||||
        shift_enter_is_pressed = pressed;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Handle keypress routine
 | 
					 | 
				
			||||||
        if (pressed) {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [left shift/enter] key was pressed
 | 
					 | 
				
			||||||
            register_code(KC_LSFT);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Save keydown time for checking hold/tap on keyup
 | 
					 | 
				
			||||||
            timer_shift_enter = timer_read();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Pressing a dual function key requires a hold/tap check on key up
 | 
					 | 
				
			||||||
            dualfunckey_pending = true;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [left shift/enter] key was unpressed
 | 
					 | 
				
			||||||
            // Note: unregister shift before pressing ENT so that ENT registers
 | 
					 | 
				
			||||||
            // correctly
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If no other left shift keys are currently pressed, unregister it
 | 
					 | 
				
			||||||
            if (! shift_lparen_is_pressed) {
 | 
					 | 
				
			||||||
                unregister_code(KC_LSFT);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If a pending dual function key hasn't been used yet, use it here
 | 
					 | 
				
			||||||
            if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_enter)) {
 | 
					 | 
				
			||||||
                tap_code(KC_ENT);
 | 
					 | 
				
			||||||
                dualfunckey_pending = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // This keypress was handled
 | 
					 | 
				
			||||||
        return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    // Dual function key (hold: left control; tap: escape)
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    case CTL_ESC:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Handle keypress routine
 | 
					 | 
				
			||||||
        if (pressed) {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // Control/escape key was pressed
 | 
					 | 
				
			||||||
            register_code(KC_LCTL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Save keydown time for checking hold/tap on keyup
 | 
					 | 
				
			||||||
            timer_control_escape = timer_read();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Pressing a dual function key requires a hold/tap check on key up
 | 
					 | 
				
			||||||
            dualfunckey_pending = true;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // Control/escape key was unpressed
 | 
					 | 
				
			||||||
            unregister_code(KC_LCTL);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If a pending dual function key hasn't been used yet, use it here
 | 
					 | 
				
			||||||
            if (dualfunckey_pending && dualfunckey_was_tapped(timer_control_escape)) {
 | 
					 | 
				
			||||||
                tap_code(KC_ESC);
 | 
					 | 
				
			||||||
                dualfunckey_pending = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // This keypress was handled
 | 
					 | 
				
			||||||
        return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    // Dual function key (hold: left shift; tap: left parenthesis)
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    case LST_PRN:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // There are multiple keys that are mapped to left shift. Keep track of
 | 
					 | 
				
			||||||
        // which are pressed
 | 
					 | 
				
			||||||
        shift_lparen_is_pressed = pressed;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Handle keypress routine
 | 
					 | 
				
			||||||
        if (pressed) {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [left shift/left parenthesis] key was pressed
 | 
					 | 
				
			||||||
            register_code(KC_LSFT);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Save keydown time for checking hold/tap on keyup
 | 
					 | 
				
			||||||
            timer_shift_lparen = timer_read();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Pressing a dual function key requires a hold/tap check on key up
 | 
					 | 
				
			||||||
            dualfunckey_pending = true;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [left shift/left parenthesis] key was unpressed
 | 
					 | 
				
			||||||
            // Note: unregister shift after tapping 9 so that left parenthesis
 | 
					 | 
				
			||||||
            // registers correctly
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If a pending dual function key hasn't been used yet, use it here
 | 
					 | 
				
			||||||
            if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_lparen)) {
 | 
					 | 
				
			||||||
                tap_code(KC_9);
 | 
					 | 
				
			||||||
                dualfunckey_pending = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If no other left shift keys are currently pressed, unregister it
 | 
					 | 
				
			||||||
            if (! shift_enter_is_pressed) {
 | 
					 | 
				
			||||||
                unregister_code(KC_LSFT);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // This keypress was handled
 | 
					 | 
				
			||||||
        return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    // Dual function key (hold: right shift; tap: right parenthesis)
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    case RST_PRN:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // Handle keypress routine
 | 
					 | 
				
			||||||
        if (pressed) {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [right shift/right parenthesis] key was pressed
 | 
					 | 
				
			||||||
            register_code(KC_RSFT);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Save keydown time for checking hold/tap on keyup
 | 
					 | 
				
			||||||
            timer_shift_rparen = timer_read();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Pressing a dual function key requires a hold/tap check on key up
 | 
					 | 
				
			||||||
            dualfunckey_pending = true;
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            
 | 
					 | 
				
			||||||
            // The [right shift/right parenthesis] key was unpressed
 | 
					 | 
				
			||||||
            // Note: unregister shift after tapping 0 so that right parenthesis
 | 
					 | 
				
			||||||
            // registers correctly
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // If a pending dual function key hasn't been used yet, use it here
 | 
					 | 
				
			||||||
            if (dualfunckey_pending && dualfunckey_was_tapped(timer_shift_rparen)) {
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
                // Space cadet shift: If the [left shift/left parenthesis] key
 | 
					 | 
				
			||||||
                // is currently pressed, then tap the sequence ()
 | 
					 | 
				
			||||||
                if (shift_lparen_is_pressed) {
 | 
					 | 
				
			||||||
                    tap_code(KC_9);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                tap_code(KC_0);
 | 
					 | 
				
			||||||
                dualfunckey_pending = false;
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            unregister_code(KC_RSFT);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        // This keypress was handled
 | 
					 | 
				
			||||||
        return false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    // Some other key was pressed (this shouldn't happen)
 | 
					 | 
				
			||||||
    // -------------------------------------------------------------------------
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
        // This keypress was not handled
 | 
					 | 
				
			||||||
        return true;        
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
#define TAPPING_TERM 175
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,85 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [0] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     QK_GESC, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     LCTL_T(KC_TAB), LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G,    KC_H,    RSFT_T(KC_J), RCTL_T(KC_K), LALT_T(KC_L), RGUI_T(KC_SCLN), KC_QUOT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,     KC_EQL,          TG(1),   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LGUI, LT(2,KC_ESC),KC_ENT,                KC_SPC,  LT(3, KC_BSPC), KC_RALT
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [1] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_A,    KC_S,    KC_D,    KC_F,    _______,                            _______, KC_J,    KC_K,    KC_L,    KC_SCLN, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LALT, _______, _______,                   _______, _______, KC_LGUI
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [2] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_TILD, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, KC_PSCR,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_LBRC,          KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [3] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_GRV,  _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, KC_MINUS,KC_UNDS, KC_LBRC,                            KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, KC_EQUAL,KC_PLUS, KC_RBRC, KC_LBRC,          KC_RBRC, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [4] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, QK_BOOT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_MUTE, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  RGB_TOG,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_VOLU, KC_BRIU, KC_MNXT, KC_MPLY, _______, _______,                            _______, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_VOLD, KC_BRID, KC_MPRV, KC_MSTP, _______, _______, _______,          _______, _______, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
					 | 
				
			||||||
    return update_tri_layer_state(state, 2, 3, 4);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void keyboard_post_init_user(void) {
 | 
					 | 
				
			||||||
    rgblight_disable_noeeprom();
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,17 +0,0 @@
 | 
				
			||||||
# Iris layout by fluffactually
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[KLE link](http://www.keyboard-layout-editor.com/#/gists/a6e67ca7177e7f5e4e44fbc1f09cdfae)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Basically:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Home row mods: ASDF is Super, Alt, Ctrl, Shift, JKL; is Shift, Ctrl, ALt,
 | 
					 | 
				
			||||||
  Super
 | 
					 | 
				
			||||||
* Turn off home row mods with a layer toggle (e.g. for gaming)
 | 
					 | 
				
			||||||
* Grave escape
 | 
					 | 
				
			||||||
* Tap Lower for escape
 | 
					 | 
				
			||||||
* Tap Raise for backspace
 | 
					 | 
				
			||||||
* Movement keys on both Raise and Lower layers
 | 
					 | 
				
			||||||
* Access Adjust layer by holding Raise and Lower
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,28 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2018 Grady Sigler <gradysigler@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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define AUTO_SHIFT_TIMEOUT 95
 | 
					 | 
				
			||||||
#define ONESHOT_TAP_TOGGLE 5  /* Tapping this number of times holds the key until tapped this number of times again. */
 | 
					 | 
				
			||||||
#define ONESHOT_TIMEOUT 5000  /* Time (in ms) before the one shot key is released */
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,74 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum iris_layers {
 | 
					 | 
				
			||||||
  _QWERTY,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _RAISE
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define LOWER MO(_LOWER)
 | 
					 | 
				
			||||||
#define RAISE MO(_RAISE)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
  //|   `/~  |   1    |   2    |   3    |    4   |    5   |                          |    6   |   7    |   8    |   9    |   0    |   _/-  |
 | 
					 | 
				
			||||||
      KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|  TAB   |   Q    |   W    |   E    |    R   |    T   |                          |    Y   |   U    |   I    |   O    |   P    |   +/=  |
 | 
					 | 
				
			||||||
     KC_TAB,   KC_Q,     KC_W,     KC_E,   KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_EQL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //| RAISE  |   A    |   S    |   D    |    F   |    G   |                          |    H   |   J    |   K    |   L    |   :/;  |   "/'  |
 | 
					 | 
				
			||||||
      RAISE,   KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,   KC_SCLN, KC_QUOT,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //| LOWER  |   Z    |   X    |   C    |    V   |    B   |   ESC  |        | ALT    |    N   |   M    |   </,  |  >/.   |  ?-/   |   |-\  |
 | 
					 | 
				
			||||||
      LOWER,   KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,   KC_ESC,            KC_LALT,  KC_N,    KC_M,  KC_COMM, KC_DOT,   KC_SLSH, KC_BSLS,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  //                               |  CTRL  | COMMAND| BKSPACE|                 | SPACE  |  ENTER | SHIFT  |
 | 
					 | 
				
			||||||
                                     KC_LCTL, KC_LGUI, KC_BSPC,                    KC_SPC,  KC_ENT,  KC_LSFT
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
//KC_LALT  ALT
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
  //|  `/~   |   F1   |   F2   |   F3   |    F4  |   F5   |                          |   F6   |   F7   |   F8   |   F9   |   F10  |   F11  |
 | 
					 | 
				
			||||||
     KC_TRNS,  KC_F1,    KC_F2,  KC_F3,   KC_F4,   KC_F5,                              KC_F6,    KC_F7,   KC_F8,  KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|  TAB   |    !   |    @   |   {    |   }    |    |   |                          |        |        |   ↑    |        |        |   F12  |
 | 
					 | 
				
			||||||
     KC_TRNS, KC_EXLM,   KC_AT,  KC_LCBR, KC_RCBR, KC_PIPE,                           XXXXXXX, XXXXXXX,  KC_UP,  XXXXXXX, XXXXXXX, KC_F12,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|  RAISE |    #   |    $   |   (    |   )    |    `   |                          |   ?    |    ←   |   ↓    |    →   |        |  VOLUP |
 | 
					 | 
				
			||||||
      KC_TRNS,  KC_HASH, KC_DLR, KC_LPRN, KC_RPRN,  KC_GRV,                            KC_QUES, KC_LEFT,KC_DOWN, KC_RGHT, XXXXXXX,  KC_VOLU,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|        |    %   |    ^   |   [    |   ]    |    ~   |  ESC            | ALT  |    &   |        |        |        |  MUTE  |  VOLDN |
 | 
					 | 
				
			||||||
     XXXXXXX, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD,  KC_TRNS,          KC_TRNS, KC_AMPR, XXXXXXX, XXXXXXX,XXXXXXX, KC_MUTE,KC_VOLD,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  //                               |  CTRL  | COMMAND| BKSPACE|                 | SPACE  |  ENTER | SHIFT|
 | 
					 | 
				
			||||||
                                    KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,  KC_TRNS, KC_TRNS
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
  //|        |        |        |        |        |        |                          |        |   7    |    8   |    9   |    *   |    /   |
 | 
					 | 
				
			||||||
     AS_UP,   AS_ON,   AS_RPT,   XXXXXXX, XXXXXXX, XXXXXXX,                           XXXXXXX,   KC_P7,   KC_P8,   KC_P9,  KC_PAST, KC_PSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|        |        |        |        |        |        |                          |        |    4   |    5   |    6   |    +   |    -    |
 | 
					 | 
				
			||||||
     AS_DOWN, AS_OFF,   XXXXXXX, XXXXXXX, XXXXXXX,  XXXXXXX,                            XXXXXXX,  KC_P4,   KC_P5,   KC_P6,  KC_PPLS, KC_PMNS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //|        |        |        |        |        |        |                          |        |    1   |    2   |    3   |        |        |
 | 
					 | 
				
			||||||
     XXXXXXX, AS_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                             XXXXXXX,  KC_P1,   KC_P2,   KC_P3,  XXXXXXX, XXXXXXX,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
  //| LOWER  |        |        |        |        |        |  ESC   |        | ALT    |        |   0    |    .   | ENTER  |   =    |        |
 | 
					 | 
				
			||||||
      KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS,         KC_TRNS,  XXXXXXX, KC_P0,   KC_PDOT, KC_PENT, KC_PEQL, XXXXXXX,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  //                               |  CTRL  | COMMAND| BKSPACE |                 | SPACE  | ENTER  | SHIFT  |
 | 
					 | 
				
			||||||
                                    KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS, KC_TRNS, KC_TRNS
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
AUTO_SHIFT_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,46 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TAPPING_TERM 150
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TAPPING_TOGGLE 2
 | 
					 | 
				
			||||||
#define PERMISSIVE_HOLD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
#define RGBLED_NUM 12
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,159 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names {
 | 
					 | 
				
			||||||
  _QWERTY,
 | 
					 | 
				
			||||||
  _LOWER,
 | 
					 | 
				
			||||||
  _RAISE,
 | 
					 | 
				
			||||||
  _ADJUST,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  LOWER = SAFE_RANGE,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  ADJUST,
 | 
					 | 
				
			||||||
  GUSR,
 | 
					 | 
				
			||||||
  HGRP,
 | 
					 | 
				
			||||||
  CHUS,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_CAPW LGUI(LSFT(KC_3))        // Capture whole screen
 | 
					 | 
				
			||||||
#define KC_CPYW LGUI(LSFT(LCTL(KC_3)))  // Copy whole screen
 | 
					 | 
				
			||||||
#define KC_CAPP LGUI(LSFT(KC_4))        // Capture portion of screen
 | 
					 | 
				
			||||||
#define KC_CPYP LGUI(LSFT(LCTL(KC_4)))  // Copy portion of screen
 | 
					 | 
				
			||||||
#define KC_ESCC MT(MOD_LCTL, KC_ESC)
 | 
					 | 
				
			||||||
#define KC_LOWR LOWER
 | 
					 | 
				
			||||||
#define KC_RASE RAISE
 | 
					 | 
				
			||||||
#define KC_RST QK_BOOT
 | 
					 | 
				
			||||||
#define KC_BL_S BL_STEP
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Left and right shift as mot-tap square braces
 | 
					 | 
				
			||||||
#define KC_LSBR MT(MOD_LSFT, KC_LBRC)
 | 
					 | 
				
			||||||
#define KC_RSBR MT(MOD_RSFT, KC_RBRC)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// mod-tap shift/minus
 | 
					 | 
				
			||||||
#define KC_SMIN MT(MOD_LSFT, KC_MINS)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Tap-toggle layers
 | 
					 | 
				
			||||||
#define KC_TT_L TT(1)
 | 
					 | 
				
			||||||
#define KC_TT_R TT(2)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_RGBM RGB_MOD
 | 
					 | 
				
			||||||
#define KC_RGBT RGB_TOG
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_SLOK LGUI(LCTL(KC_Q)) // mojave lock screen
 | 
					 | 
				
			||||||
#define KC_GUSR GUSR // "gam info user" macro
 | 
					 | 
				
			||||||
#define KC_HGRP HGRP // "history | grep" macro
 | 
					 | 
				
			||||||
#define KC_CHUS CHUS // "thisisunsafe" chrome browser macro
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_GRV , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                      KC_6  , KC_7  , KC_8  , KC_9  , KC_0  ,KC_BSPC,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_TAB , KC_Q  , KC_W  , KC_E  , KC_R  , KC_T  ,                      KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_BSLS,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_ESC , KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                      KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_LSBR, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,KC_TT_L,     KC_TT_R, KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSBR,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+---+---+-------+-------+-------/    \-------+-------+-------+---+---+-------+-------+-------'
 | 
					 | 
				
			||||||
                                 KC_LCTL,KC_SMIN,KC_LGUI,             KC_ENT ,KC_SPC ,KC_LALT
 | 
					 | 
				
			||||||
  //                            `-------+-------+-------'            `-------+-------+-------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,                     KC_CIRC,KC_AMPR,KC_ASTR,KC_MINS,KC_EQL ,_______,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,KC_SLOK,_______, KC_UP ,_______,KC_RGBT,                      KC_P7 , KC_P8 , KC_P9 , KC_E  , KC_F  ,KC_LPRN,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_DEL ,_______,KC_LEFT,KC_DOWN,KC_RGHT,KC_GUSR,                      KC_P4 , KC_P5 , KC_P6 , KC_C  , KC_D  ,KC_RPRN,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_BL_S,_______,_______,_______,KC_HGRP,KC_CHUS,_______,     _______, KC_P1 , KC_P2 , KC_P3 , KC_A  , KC_B  ,_______,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+---+---+-------+-------+-------/    \-------+-------+-------+---+---+-------+-------+-------'
 | 
					 | 
				
			||||||
				 _______,_______,_______,             KC_DOT , KC_P0 ,KC_COLN
 | 
					 | 
				
			||||||
  //                            `-------+-------+-------'            `-------+-------+-------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,                      KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,KC_RGBT,KC_RGBM,_______,_______,_______,                     _______,KC_AMPR,KC_MUTE,_______,_______,_______,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,KC_CAPW,KC_CPYW,KC_CAPP,KC_CPYP,KC_PGUP,                     KC_EQL ,KC_HOME,KC_VOLU,KC_MRWD,KC_MFFD,_______,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_PGDN,_______,     _______,KC_PLUS,KC_END ,KC_VOLD,KC_MPLY,KC_MSTP,_______,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+---+---+-------+-------+-------/    \-------+-------+-------+---+---+-------+-------+-------'
 | 
					 | 
				
			||||||
                                 _______,_______,_______,             _______,_______,_______
 | 
					 | 
				
			||||||
  //                            `-------+-------+-------'            `-------+-------+-------'
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
					 | 
				
			||||||
      _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      QK_BOOT, DB_TOGG, RGB_HUD, RGB_SAD, RGB_VAD, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
					 | 
				
			||||||
      _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
					 | 
				
			||||||
                                      _______, _______, _______,                  _______, _______, _______
 | 
					 | 
				
			||||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef AUDIO_ENABLE
 | 
					 | 
				
			||||||
float tone_qwerty[][2]     = SONG(QWERTY_SOUND);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    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;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case ADJUST:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        layer_on(_ADJUST);
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        layer_off(_ADJUST);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      return false;
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case GUSR:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        SEND_STRING("gam info user ");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case HGRP:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
        SEND_STRING("history|grep ");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
    case CHUS:
 | 
					 | 
				
			||||||
      if (record->event.pressed) {
 | 
					 | 
				
			||||||
	SEND_STRING("thisisunsafe");
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      break;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
# HBBisenieks' Iris Layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A modified Iris layout with toggle-tap layers and a hexidecimal
 | 
					 | 
				
			||||||
numpad. Other features include Space-Cadet-like shift keys that can do
 | 
					 | 
				
			||||||
square or curly braces and a home-row escape key.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Comment out for pro-micro board
 | 
					 | 
				
			||||||
BOOTLOADER = atmel-dfu
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,12 +0,0 @@
 | 
				
			||||||
## impstyle keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
the keymap is based on lewisriddens keymap but i changed some stuff.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
i removed:
 | 
					 | 
				
			||||||
>RGB backgoundlighting layer and functionallity
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
i added:
 | 
					 | 
				
			||||||
>mouse layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
the qwerty, lower and raise layer are more or less the same. here and there some keys are different.
 | 
					 | 
				
			||||||
take a look at the keymap.c
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,40 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef CONFIG_USER_H
 | 
					 | 
				
			||||||
#define CONFIG_USER_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define USE_I2C
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
#define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MOUSEKEY_DELAY             300
 | 
					 | 
				
			||||||
#define MOUSEKEY_INTERVAL          50
 | 
					 | 
				
			||||||
#define MOUSEKEY_MAX_SPEED         10
 | 
					 | 
				
			||||||
#define MOUSEKEY_TIME_TO_MAX       20
 | 
					 | 
				
			||||||
#define MOUSEKEY_WHEEL_MAX_SPEED   8
 | 
					 | 
				
			||||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define TAPPING_TOGGLE  2 // double tab
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "../../config.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,110 +0,0 @@
 | 
				
			||||||
// iris qwerty layout with mouse layer.
 | 
					 | 
				
			||||||
// double tab to toggle is not working atm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
#define _MOUSE 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  QWERTY = SAFE_RANGE,
 | 
					 | 
				
			||||||
  LOWER,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
  MOUSE,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define KC_ KC_TRNS
 | 
					 | 
				
			||||||
#define KC_LOWR MO(_LOWER) // Lower layer
 | 
					 | 
				
			||||||
#define KC_RASE MO(_RAISE) // Raise layer
 | 
					 | 
				
			||||||
#define KC_TGLW TG(_LOWER) // toggle lower
 | 
					 | 
				
			||||||
#define KC_TGRS TG(_RAISE) // toggle raise
 | 
					 | 
				
			||||||
#define KC_MOUS TT(_MOUSE) // double tab toggle mouse layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // QUERTY LAYER
 | 
					 | 
				
			||||||
  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
 | 
					 | 
				
			||||||
  //  ESC , 1  , 2  , 3  , 4  , 5  ,                6  , 7  , 8  , 9  , 0  ,BSPC,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  // TAB , Q  , W  , E  , R  , T  ,                Y  , U  , I  , O  , P  ,MINS ,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  // LSFT, A  , S  , D  , F  , G  ,                H  , J  , K  , L  ,SCLN,QUOT,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  // LCTL, Z  , X  , C  , V  , B  ,PLUS ,     MOUS , N  , M  ,COMM,DOT ,SLSH,BSLASH,
 | 
					 | 
				
			||||||
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
 | 
					 | 
				
			||||||
  //                   LGUI,RASE,SPC ,         ENT ,LOWR,LALT
 | 
					 | 
				
			||||||
  //                  `----+----+----'        `----+----+----'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
     KC_ESC , KC_1  , KC_2  , KC_3  , KC_4  , KC_5  ,                         KC_6  , KC_7  , KC_8  , KC_9  , KC_0  ,KC_BSPC,
 | 
					 | 
				
			||||||
     KC_TAB , KC_Q  , KC_W  ,KC_E  , KC_R  , KC_T  ,                          KC_Y  , KC_U  , KC_I  , KC_O  , KC_P  ,KC_MINS,
 | 
					 | 
				
			||||||
     KC_LSFT, KC_A  , KC_S  , KC_D  , KC_F  , KC_G  ,                         KC_H  , KC_J  , KC_K  , KC_L  ,KC_SCLN,KC_QUOT,
 | 
					 | 
				
			||||||
     KC_LCTL, KC_Z  , KC_X  , KC_C  , KC_V  , KC_B  ,KC_PLUS,         KC_MOUS,KC_N  , KC_M  ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS,
 | 
					 | 
				
			||||||
                                     KC_LGUI,KC_RASE,KC_SPC ,         KC_ENT ,KC_LOWR,KC_LALT
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  // LOWER Layer
 | 
					 | 
				
			||||||
   //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
 | 
					 | 
				
			||||||
  // TILD,EXLM, AT ,HASH,DLR ,PERC,               CIRC,AMPR,ASTR,LPRN,RPRN,BSPC,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,LBRC,               RBRC, P7 , P8 , P9 ,    ,PLUS,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,HOME,PGUP,PGDN,END,LPRN,               RPRN, P4 , P5 , P6 ,MINS,PIPE,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,    ,    ,         ,    , P1 , P2 , P3 ,EQL ,UNDS ,
 | 
					 | 
				
			||||||
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
 | 
					 | 
				
			||||||
  //                       ,    ,DEL ,        BSPC ,    , P0
 | 
					 | 
				
			||||||
  //                  `----+----+----'        `----+----+----'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
     KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC,                        KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,KC_LBRC,                        KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS,
 | 
					 | 
				
			||||||
     _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN,                        KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE,
 | 
					 | 
				
			||||||
     _______,_______,_______,_______,_______,_______,_______,        _______,_______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS ,
 | 
					 | 
				
			||||||
                                  _______ ,_______,KC_PSCR  ,        _______,_______, KC_P0
 | 
					 | 
				
			||||||
),
 | 
					 | 
				
			||||||
  // RAISE LAYER
 | 
					 | 
				
			||||||
  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
 | 
					 | 
				
			||||||
  // F12 , F1 , F2 , F3 , F4 , F5 ,                F6 , F7 , F8 , F9 ,F10 ,F11 ,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,LBRC,               RBRC,    ,NLCK,INS ,SLCK,MUTE,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,LEFT,UP  ,DOWN,RGHT,LPRN,               RPRN,MPRV,MPLY,MNXT,    ,VOLU,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,    ,    ,      PLUS ,    ,    ,    ,    ,    ,VOLD,
 | 
					 | 
				
			||||||
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
 | 
					 | 
				
			||||||
  //                       ,    ,    ,          EQL,    ,
 | 
					 | 
				
			||||||
  //                  `----+----+----'        `----+----+----'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
       KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 ,                        KC_F6  , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
 | 
					 | 
				
			||||||
       _______,_______,_______,_______,_______,KC_LBRC,                        KC_RBRC,_______,KC_NUM ,KC_INS ,KC_SCRL,KC_MUTE,
 | 
					 | 
				
			||||||
       _______,KC_LEFT,KC_UP  ,KC_DOWN,KC_RGHT,KC_LPRN,                        KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU,
 | 
					 | 
				
			||||||
       _______,_______,_______,_______,_______,_______,_______,        _______,_______,_______,_______,_______,_______,KC_VOLD,
 | 
					 | 
				
			||||||
                                      _______ ,_______,_______,        KC_EQL ,_______,_______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
  // MOUSE LAYER
 | 
					 | 
				
			||||||
  //,----+----+----+----+----+----.              ,----+----+----+----+----+----.
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,    ,                   ,    ,    ,    ,   ,   ,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,     ,   ,    ,    ,               MS_WH_UP,     ,    ,   ,   ,   ,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----|              |----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  // ,,MS_LEFT,MS_UP,MS_DOWN,MS_RGHT,,            MS_WH_DN,MS_BT1,MS_BT2,MS_BT3,  , ,
 | 
					 | 
				
			||||||
  //|----+----+----+----+----+----+----.    ,----|----+----+----+----+----+----|
 | 
					 | 
				
			||||||
  //     ,    ,    ,    ,    ,    ,    ,    ,    ,    ,    ,MS_ACC0,MS_ACC1MS_ACC2
 | 
					 | 
				
			||||||
  //`----+----+----+--+-+----+----+----/    \----+----+----+----+----+----+----'
 | 
					 | 
				
			||||||
  //                       ,    ,    ,          ,    ,
 | 
					 | 
				
			||||||
  //                  `----+----+----'        `----+----+----'
 | 
					 | 
				
			||||||
  [_MOUSE] = LAYOUT(
 | 
					 | 
				
			||||||
       _______,_______,_______,_______,_______,_______,                       _______,_______,_______,_______,_______,_______,
 | 
					 | 
				
			||||||
       _______,_______,_______,_______,_______,_______,                       KC_MS_WH_UP,_______,_______,_______,_______,_______,
 | 
					 | 
				
			||||||
       _______,KC_MS_LEFT,KC_MS_UP,KC_MS_DOWN,KC_MS_RIGHT,_______,            KC_MS_WH_DOWN,KC_MS_BTN1,KC_MS_BTN2,KC_MS_BTN3,_______,_______,
 | 
					 | 
				
			||||||
       _______,_______,_______,_______,_______,_______,_______,            _______,_______,_______,_______,KC_MS_ACCEL0,KC_MS_ACCEL1,KC_MS_ACCEL2,
 | 
					 | 
				
			||||||
                                       _______,_______,_______,            _______,_______,_______
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
TAP_DANCE_ENABLE = no
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,40 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Select hand configuration */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MASTER_LEFT
 | 
					 | 
				
			||||||
// #define MASTER_RIGHT
 | 
					 | 
				
			||||||
// #define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
#define RGBLED_NUM 12
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,42 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _RAISE 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
  QWERTY = SAFE_RANGE,
 | 
					 | 
				
			||||||
  RAISE,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_DEL,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_NUBS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               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_ENT,           KC_ENT,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LCTL, MO(_RAISE),KC_SPC,                  KC_SPC,  MO(_RAISE),KC_LALT
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     KC_F12,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_INS,  KC_HOME, KC_UP,   KC_END,  _______, KC_PGUP,                            KC_WH_U, KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_PGDN,                            KC_WH_D, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_NUHS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______,          _______, KC_LCTL, KC_LALT, KC_RALT, KC_RGUI, KC_RCTL, KC_GRV,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LGUI, _______, _______,                   _______, _______, KC_APP
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
# isolike keymap
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Modelled on the ISO keyboard layout. Key positions should feel quite familiar to
 | 
					 | 
				
			||||||
ISO layout users. There is only two layers. The space, enter and raise keys are
 | 
					 | 
				
			||||||
mirrored on both hands to make it easier to remember and type on.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,2 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 EE_HANDS
 | 
					 | 
				
			||||||
#define TAPPING_TERM 150
 | 
					 | 
				
			||||||
#define TAPPING_TOGGLE 2
 | 
					 | 
				
			||||||
#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,46 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extern keymap_config_t keymap_config;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Layers
 | 
					 | 
				
			||||||
#define _QWERTY 0 // Base layer
 | 
					 | 
				
			||||||
#define _NAVI   1 // Navigation layer
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Keys
 | 
					 | 
				
			||||||
#define KC_AGRV LALT_T(KC_GRAVE)
 | 
					 | 
				
			||||||
#define KC_AQUO RALT_T(KC_QUOTE)
 | 
					 | 
				
			||||||
#define KC_GUIE LGUI_T(KC_ESC)
 | 
					 | 
				
			||||||
#define KC_ECTL RCTL_T(KC_EQL)
 | 
					 | 
				
			||||||
#define KC_MCTL LCTL_T(KC_MINS)
 | 
					 | 
				
			||||||
#define KC_NAVI MO(_NAVI)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_GUIE, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,                        KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_DEL,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,   KC_W,   KC_F,   KC_P,   KC_B,                        KC_J,   KC_L,   KC_U,   KC_Y,  KC_SCLN,KC_BSPC,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_LALT, KC_A,   KC_R,   KC_S,   KC_T,   KC_G,                        KC_M,   KC_N,   KC_E,   KC_I,   KC_O,  KC_AQUO,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_D,   KC_V,  KC_GRV,      KC_BSLS, KC_K,   KC_H,  KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+--+----+-------+-------+-------/    \-------+-------+-------+-------+-------+-------+-------'
 | 
					 | 
				
			||||||
                                   KC_NAVI,KC_MCTL, KC_SPC,         KC_ENT, KC_ECTL,KC_NAVI
 | 
					 | 
				
			||||||
  //                              `-------+-------+-------'        `-------+-------+-------'
 | 
					 | 
				
			||||||
   ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_NAVI] = LAYOUT(
 | 
					 | 
				
			||||||
  //,-------+-------+-------+-------+-------+-------.                    ,-------+-------+-------+-------+-------+-------.
 | 
					 | 
				
			||||||
     KC_TRNS, KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,                       KC_F6,  KC_F7,  KC_F8,  KC_F9, KC_F10, KC_F11,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
      KC_NO, DM_RSTP,KC_MUTE,KC_VOLU, KC_NO,  KC_NO,                      KC_PGUP,KC_HOME, KC_UP, KC_END,  KC_NO, KC_F12,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------|                    |-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_TRNS,DM_REC1,KC_BRID,KC_VOLD,KC_BRIU,KC_TRNS,                     KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT, KC_NO, KC_TRNS,
 | 
					 | 
				
			||||||
  //|-------+-------+-------+-------+-------+-------+-------.    ,-------|-------+-------+-------+-------+-------+-------|
 | 
					 | 
				
			||||||
     KC_TRNS,DM_PLY1, KC_NO,  KC_NO,  KC_NO,  KC_NO, KC_INS,       KC_NO, KC_LCBR,KC_RCBR,KC_LBRC,KC_RBRC, KC_NO, KC_TRNS,
 | 
					 | 
				
			||||||
  //`-------+-------+-------+--+----+-------+-------+-------/    \-------+-------+-------+-------+-------+-------+-------'
 | 
					 | 
				
			||||||
                                    KC_NO, KC_TRNS, KC_NO,           KC_NO, KC_TRNS, KC_NO
 | 
					 | 
				
			||||||
  //                              `-------+-------+-------'        `-------+-------+-------'
 | 
					 | 
				
			||||||
     )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
# jasondunsmore's iris layout
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_QWERTY is the default layer, from which all letters, numbers, and
 | 
					 | 
				
			||||||
symbols (with the exception of the square brackets and curly braces)
 | 
					 | 
				
			||||||
can be accessed. The _NAVI layer contains navigation keys, some
 | 
					 | 
				
			||||||
hardware adjustment keys, and lock keys.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
COMMAND_ENABLE = no
 | 
					 | 
				
			||||||
CAPS_WORD_ENABLE = yes
 | 
					 | 
				
			||||||
SPLIT_KEYBOARD = yes
 | 
					 | 
				
			||||||
DYNAMIC_MACRO_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,25 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define RGBLED_NUM 12
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,44 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layer_names {
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _LOWER,
 | 
					 | 
				
			||||||
    _RAISE,
 | 
					 | 
				
			||||||
    _ADJUST
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     QK_GESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               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_LBRC,         KC_RBRC,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    KC_LALT, KC_LGUI,   KC_ENT,              MO(_LOWER),  KC_SPC,   KC_RALT
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, KC_UP, _______, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, KC_LCBR,                            KC_RCBR, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
 | 
					 | 
				
			||||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
					 | 
				
			||||||
     _______, _______, _______, _______, _______, KC_LPRN, _______,          _______, KC_RPRN, _______, _______, _______, _______, _______,
 | 
					 | 
				
			||||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
					 | 
				
			||||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
					 | 
				
			||||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,44 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2017 Danny Nguyen <danny@keeb.io>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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_I2C
 | 
					 | 
				
			||||||
#define EE_HANDS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef RGBLED_NUM
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_BREATHING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_SNAKE
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_KNIGHT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_RGB_TEST
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_ALTERNATING
 | 
					 | 
				
			||||||
#define RGBLIGHT_EFFECT_TWINKLE
 | 
					 | 
				
			||||||
#define RGBLED_NUM 12
 | 
					 | 
				
			||||||
#define RGBLIGHT_HUE_STEP 2
 | 
					 | 
				
			||||||
#define RGBLIGHT_SAT_STEP 8
 | 
					 | 
				
			||||||
#define RGBLIGHT_VAL_STEP 8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef NO_DEBUG
 | 
					 | 
				
			||||||
#    define NO_DEBUG
 | 
					 | 
				
			||||||
#endif  // !NO_DEBUG
 | 
					 | 
				
			||||||
#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
 | 
					 | 
				
			||||||
#    define NO_PRINT
 | 
					 | 
				
			||||||
#endif  // !NO_PRINT
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,40 +0,0 @@
 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define _QWERTY 0
 | 
					 | 
				
			||||||
#define _LOWER 1
 | 
					 | 
				
			||||||
#define _RAISE 2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {[0] = LAYOUT(QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_ENT, LCTL_T(KC_LGUI), KC_Z, KC_X, KC_C, KC_D, KC_V, LGUI(KC_L), MEH_T(KC_MINS), KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, KC_LGUI, LT(1, KC_QUOT), SC_SENT, KC_SPC, LT(2, KC_BSLS), LALT_T(KC_APP)),
 | 
					 | 
				
			||||||
                                                              [1] = LAYOUT(KC_MPLY, KC_NO, KC_DQUO, KC_NO, LALT(KC_F4), KC_NO, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NO, QK_BOOT, KC_MPRV, KC_END, KC_UP, KC_HOME, KC_PGUP, KC_NO, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_SAI, RGB_SAD, KC_MNXT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_NO, KC_P1, KC_P2, KC_P3, KC_PAST, RGB_HUI, RGB_HUD, KC_NO, KC_WBAK, KC_WFWD, KC_WSTP, KC_WREF, KC_NO, LCA(KC_DEL), KC_NUM, KC_P0, KC_P0, KC_PDOT, KC_PENT, RGB_SPI, RGB_SPD, KC_PSCR, KC_NO, KC_LGUI, RGB_TOG, RGB_VAI, RGB_VAD),
 | 
					 | 
				
			||||||
                                                              [2] = LAYOUT(KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_NO, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_K, KC_NO, KC_WH_D, KC_MS_U, KC_WH_U, KC_NO, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_R, 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_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO)};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef ENCODER_ENABLE
 | 
					 | 
				
			||||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
					 | 
				
			||||||
    if (index == 0) {
 | 
					 | 
				
			||||||
        switch (get_highest_layer(layer_state)) {
 | 
					 | 
				
			||||||
            case _LOWER:
 | 
					 | 
				
			||||||
                clockwise ? tap_code(KC_MS_WH_UP) : tap_code(KC_MS_WH_DOWN);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            case _RAISE:
 | 
					 | 
				
			||||||
                clockwise ? rgblight_increase_hue() : rgblight_decrease_hue();
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            default:
 | 
					 | 
				
			||||||
                clockwise ? tap_code(KC_AUDIO_VOL_UP) : tap_code(KC_AUDIO_VOL_DOWN);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    } else if (index == 1) {
 | 
					 | 
				
			||||||
        switch (get_highest_layer(layer_state)) {
 | 
					 | 
				
			||||||
            case _LOWER:
 | 
					 | 
				
			||||||
                clockwise ? tap_code(KC_UP) : tap_code(KC_DOWN);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            case _RAISE:
 | 
					 | 
				
			||||||
                clockwise ? tap_code(KC_MEDIA_NEXT_TRACK) : tap_code(KC_MEDIA_PREV_TRACK);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
            default:
 | 
					 | 
				
			||||||
                clockwise ? tap_code(KC_RIGHT) : tap_code(KC_LEFT);
 | 
					 | 
				
			||||||
                break;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#endif  // ENCODER_ENABLE
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
[Jerry's Iris R4 Layout](https://imgur.com/a/JLytcqS)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is a fairly modified version of the default keymap that I tinkered with to allow the rotary encoder to carry out a different function on each layer.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
RGBLIGHT_ENABLE = yes 
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = yes 
 | 
					 | 
				
			||||||
MOUSEKEY_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,23 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2023 Jesse Estes (@jestes5111)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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 EE_HANDS
 | 
					 | 
				
			||||||
#define RGBLIGHT_SPLIT
 | 
					 | 
				
			||||||
#define RGBLIGHT_SLEEP
 | 
					 | 
				
			||||||
#define ENABLE_COMPILE_KEYCODE
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,163 +0,0 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
Copyright 2023 Jesse Estes (@jestes5111)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
#include QMK_KEYBOARD_H
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Combinations of two keystrokes for easier reading
 | 
					 | 
				
			||||||
#define CSFT LCTL(KC_LSFT)
 | 
					 | 
				
			||||||
#define GSFT LGUI(KC_LSFT)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum layers {
 | 
					 | 
				
			||||||
    _QWERTY,
 | 
					 | 
				
			||||||
    _LOWER,
 | 
					 | 
				
			||||||
    _RAISE,
 | 
					 | 
				
			||||||
    _ADJUST,
 | 
					 | 
				
			||||||
    _FUNC,
 | 
					 | 
				
			||||||
    _PASTA,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
enum custom_keycodes {
 | 
					 | 
				
			||||||
    THUMB = QK_USER,
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
    [_QWERTY] = LAYOUT(
 | 
					 | 
				
			||||||
    // ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐                              ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
 | 
					 | 
				
			||||||
        QK_GESC,   KC_1,      KC_2,      KC_3,      KC_4,      KC_5,                                     KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      KC_BSPC,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_TAB,    KC_Q,      KC_W,      KC_E,      KC_R,      KC_T,                                     KC_Y,      KC_U,      KC_I,      KC_O,      KC_P,      KC_APP,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_LCTL,   KC_A,      KC_S,      KC_D,      KC_F,      KC_G,                                     KC_H,      KC_J,      KC_K,      KC_L,      KC_SCLN,   KC_RCTL,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐        ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_LSFT,   KC_Z,      KC_X,      KC_C,      KC_V,      KC_B,      KC_LALT,            KC_RALT,   KC_N,      KC_M,      KC_COMM,   KC_DOT,    KC_SLSH,   KC_RSFT,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                              KC_LGUI,   TL_LOWR,   KC_SPC,                        KC_ENT,    TL_UPPR,   KC_RGUI
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [_LOWER] = LAYOUT(
 | 
					 | 
				
			||||||
    // ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐                              ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
 | 
					 | 
				
			||||||
        KC_MSTP,   KC_MPLY,   KC_MPRV,   KC_MNXT,   KC_VOLU,   KC_VOLD,                                  KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_INS,    KC_DEL,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_NO,     KC_F13,    KC_F14,    KC_F15,    KC_F16,    KC_NO,                                    KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        CSFT,      KC_F17,    KC_F18,    KC_F19,    KC_F20,    KC_NO,                                    KC_LEFT,   KC_DOWN,   KC_UP,     KC_RGHT,   KC_NO,     RCS(KC_L),
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐        ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        GSFT,      KC_F21,    KC_F22,    KC_F23,    KC_F24,    KC_WHOM,   KC_NO,              KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                              KC_NO,     KC_TRNS,   KC_NO,                         KC_UNDS,   KC_TRNS,   KC_NO
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [_RAISE] = LAYOUT(
 | 
					 | 
				
			||||||
    // ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐                              ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
 | 
					 | 
				
			||||||
        KC_F12,    KC_F1,     KC_F2,     KC_F3,     KC_F4,     KC_F5,                                    KC_F6,     KC_F7,     KC_F8,     KC_F9,     KC_F10,    KC_F11,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_TAB,    KC_NO,     KC_NO,     KC_NO,     KC_AMPR,   KC_LPRN,                                  KC_RPRN,   KC_ASTR,   KC_EQL,    KC_MINS,   KC_PLUS,   KC_BSLS,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_ENT,    KC_NO,     KC_NO,     KC_NO,     KC_PIPE,   KC_LBRC,                                  KC_RBRC,   KC_NO,     KC_NO,     KC_NO,     KC_DQUO,   KC_QUOT,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐        ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_CAPS,   KC_NO,     KC_NO,     KC_NO,     KC_LABK,   KC_LCBR,   KC_MENU,            KC_NO,     KC_RCBR,   KC_RABK,   KC_NO,     KC_NO,     KC_NO,     KC_NO,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                              KC_NO,     KC_TRNS,   KC_UNDS,                       KC_NO,     KC_TRNS,   KC_NO
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [_ADJUST] = LAYOUT(
 | 
					 | 
				
			||||||
    // ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐                              ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
 | 
					 | 
				
			||||||
        RGB_TOG,   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,     LCA(KC_R), LCA(KC_T),                                KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     QK_BOOT,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_NO,     KC_NO,     LCA(KC_V), LCA(KC_D), KC_NO,     KC_NO,                                    KC_NO,     TO(_FUNC), KC_NO,     QK_LOCK,   TO(_PASTA), QK_MAKE,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐        ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        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,     EE_CLR,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                              KC_NO,     KC_TRNS,   KC_NO,                         KC_NO,     KC_TRNS,   KC_NO
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [_FUNC] = LAYOUT(
 | 
					 | 
				
			||||||
    // ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐                              ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
 | 
					 | 
				
			||||||
        KC_ESC,    KC_SLSH,   KC_ASTR,   KC_MINS,   KC_PLUS,   KC_EQL,                                   KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_BSPC,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_TAB,    KC_7,      KC_8,      KC_9,      KC_LPRN,   KC_RPRN,                                  KC_WH_L,   KC_WH_D,   KC_WH_U,   KC_WH_R,   KC_BTN3,   KC_NO,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤                              ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_LCTL,   KC_4,      KC_5,      KC_6,      KC_DOT,    KC_NUM,                                   KC_MS_L,   KC_MS_D,   KC_MS_U,   KC_MS_R,   KC_NO,     KC_NO,
 | 
					 | 
				
			||||||
    // ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐        ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
 | 
					 | 
				
			||||||
        KC_LSFT,   KC_1,      KC_2,      KC_3,      KC_0,      KC_ENT,    KC_LALT,            KC_BTN2,   KC_BTN1,   KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                            TO(_QWERTY), KC_CIRC,   KC_SPC,                        KC_ENT,    KC_BTN5,   KC_BTN4
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [_PASTA] = 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_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,     KC_NO,                                    THUMB,     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_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_NO,
 | 
					 | 
				
			||||||
    // └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘        └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
                                            TO(_QWERTY), KC_TRNS,   KC_NO,                         KC_NO,     KC_TRNS,   KC_NO
 | 
					 | 
				
			||||||
    //                                       └──────────┴──────────┴──────────┘                   └──────────┴──────────┴──────────┘
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
					 | 
				
			||||||
    switch (keycode) {
 | 
					 | 
				
			||||||
        case THUMB:
 | 
					 | 
				
			||||||
            if (record->event.pressed) {
 | 
					 | 
				
			||||||
                SEND_STRING(":disguised_face: :thumbsup:");
 | 
					 | 
				
			||||||
                wait_ms(100);
 | 
					 | 
				
			||||||
                tap_code(KC_ENTER);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            return false;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void keyboard_post_init_user(void) {
 | 
					 | 
				
			||||||
    rgblight_enable_noeeprom();
 | 
					 | 
				
			||||||
    rgblight_sethsv_noeeprom(HSV_PURPLE);
 | 
					 | 
				
			||||||
    rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
					 | 
				
			||||||
    switch (get_highest_layer(state)) {
 | 
					 | 
				
			||||||
        case _LOWER:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_GREEN);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case _RAISE:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_RED);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case _ADJUST:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_WHITE);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case _FUNC:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_BLUE);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        case _PASTA:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_ORANGE);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
        default:
 | 
					 | 
				
			||||||
            rgblight_sethsv_noeeprom(HSV_PURPLE);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return state;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# My Iris
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Designed for creating/editing in VIM and Excel, gaming, and general keyboard-focused media consumption.
 | 
					 | 
				
			||||||
WIP.
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,9 +0,0 @@
 | 
				
			||||||
MOUSEKEY_ENABLE = yes
 | 
					 | 
				
			||||||
EXTRAKEY_ENABLE = yes
 | 
					 | 
				
			||||||
NKRO_ENABLE = yes
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no
 | 
					 | 
				
			||||||
KEY_LOCK_ENABLE = yes
 | 
					 | 
				
			||||||
UNICODE_ENABLE = yes
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ENCODER_ENABLE = no
 | 
					 | 
				
			||||||
TRI_LAYER_ENABLE = yes
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
Keymap for jhelvy's [Iris Rev 2](https://github.com/jhelvy/iris-rev2)
 | 
					 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue