[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,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)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,36 +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
 | 
			
		||||
 | 
			
		||||
// Had to swap the master to get the right-side rotary encoder supported
 | 
			
		||||
#define MASTER_RIGHT
 | 
			
		||||
 | 
			
		||||
#define QUICK_TAP_TERM 0
 | 
			
		||||
#undef TAPPING_TERM
 | 
			
		||||
#define TAPPING_TERM 200
 | 
			
		||||
#define AUTO_SHIFT_TIMEOUT 150
 | 
			
		||||
 | 
			
		||||
#define MOUSEKEY_DELAY 100
 | 
			
		||||
#define MOUSEKEY_INTERVAL 16
 | 
			
		||||
#define MOUSEKEY_MAX_SPEED 2
 | 
			
		||||
#define MOUSEKEY_WHEEL_MAX_SPEED 42
 | 
			
		||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 15
 | 
			
		||||
 | 
			
		||||
#define ENCODERS_PAD_A { F4 }
 | 
			
		||||
#define ENCODERS_PAD_B { F5 }
 | 
			
		||||
#define ENCODER_RESOLUTION 4
 | 
			
		||||
| 
						 | 
				
			
			@ -1,135 +0,0 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum layers {
 | 
			
		||||
    QWERTY = 0,
 | 
			
		||||
    HOTKEYS,
 | 
			
		||||
    TEXT,
 | 
			
		||||
    SELECT,
 | 
			
		||||
    MOUSE,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
    SIG_PROF = SAFE_RANGE,
 | 
			
		||||
    SIG_JOHN,
 | 
			
		||||
    R_PIPE,
 | 
			
		||||
    R_ASSIGN,
 | 
			
		||||
    R_COLS,
 | 
			
		||||
    R_IN,
 | 
			
		||||
    TEX,
 | 
			
		||||
    E_GMAIL,
 | 
			
		||||
    E_GWU,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[QWERTY] = LAYOUT(LALT(KC_A), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_NO, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC, MO(4), KC_LGUI, MO(2), KC_SPC, MO(1), TG(1)),
 | 
			
		||||
 | 
			
		||||
[HOTKEYS] = LAYOUT(KC_F5, LGUI(LALT(KC_1)), LGUI(LALT(KC_2)), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_F14, KC_F6, KC_NO, KC_NO, LCTL(KC_U), SGUI(KC_R), KC_F2, SGUI(KC_K), LCTL(KC_9), LCTL(KC_0), KC_NO, KC_F11, KC_F15, KC_F7, LGUI(LCTL(KC_A)), KC_F10, KC_LBRC, KC_RBRC, KC_F9, SIG_JOHN, LSFT(KC_TAB), KC_TAB, E_GMAIL, KC_F12, KC_F16, KC_F8, AS_TOGG, KC_NO, KC_LCBR, KC_RCBR, KC_NO, KC_NO, KC_NO, SIG_PROF, KC_F3, KC_F4, E_GWU, KC_F13, KC_F17, LALT(KC_SPC), KC_LGUI, KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS),
 | 
			
		||||
 | 
			
		||||
[TEXT] = LAYOUT(KC_ESC, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), KC_SCLN, KC_PIPE, KC_COLN, KC_NO, KC_UNDS, KC_PLUS, LGUI(KC_BSPC), LGUI(KC_Q), LGUI(KC_W), KC_ESC, LGUI(KC_R), LGUI(KC_T), LCTL(KC_Y), LGUI(KC_LEFT), KC_UP, LGUI(KC_RGHT), KC_TILD, R_PIPE, KC_BSPC, MO(3), LGUI(KC_S), LGUI(KC_C), LGUI(KC_V), LGUI(KC_X), KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_GRV, KC_ENT, KC_F18, LGUI(KC_A), LGUI(KC_D), KC_F1, LGUI(KC_Z), LGUI(KC_Y), KC_NO, KC_NO, KC_BSPC, LGUI(KC_F), SGUI(KC_G), LGUI(KC_G), KC_BSLS, R_ASSIGN, KC_LALT, KC_LGUI, KC_TRNS, KC_SPC, KC_RGUI, KC_NO),
 | 
			
		||||
 | 
			
		||||
[SELECT] = 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, SGUI(KC_LEFT), LSFT(KC_UP), SGUI(KC_RGHT), KC_NO, R_COLS, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LSFT(KC_LEFT), LSFT(KC_DOWN), LSFT(KC_RGHT), KC_NO, R_IN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LALT(LSFT(KC_LEFT)), LALT(LSFT(KC_RIGHT)), KC_NO, TEX, KC_NO, KC_NO, KC_NO, KC_SPC, KC_TRNS, KC_TRNS),
 | 
			
		||||
 | 
			
		||||
[MOUSE] = 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_LGUI, KC_NO, KC_NO, LGUI(KC_LBRC), KC_MS_U, LGUI(KC_RBRC), KC_NO, KC_NO, LCTL(KC_TAB), 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_TRNS, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_NO)
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
    case SIG_PROF:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("Cheers,\nProfessor Helveston");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case SIG_JOHN:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("Cheers,\nJohn");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case R_PIPE:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING(" %>% ");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case R_ASSIGN:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING(" <- ");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case R_COLS:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING(".leftcol[\n]\n.rightcol[\n]\n");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case R_IN:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING(" %in% ");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case TEX:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("\\text{}");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case E_GMAIL:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("john.helveston@gmail.com");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case E_GWU:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("jph@gwu.edu");
 | 
			
		||||
        } else {
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return true;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool encoder_update_user(uint8_t index, bool clockwise) {
 | 
			
		||||
    if (IS_LAYER_ON(HOTKEYS)) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_VOLU);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_VOLD);
 | 
			
		||||
        }
 | 
			
		||||
    } else if (IS_LAYER_ON(TEXT)) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_MS_WH_RIGHT);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_MS_WH_LEFT);
 | 
			
		||||
        }
 | 
			
		||||
    } else if (IS_LAYER_ON(MOUSE)) {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code16(G(KC_EQL));
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code16(G(KC_MINS));
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        if (clockwise) {
 | 
			
		||||
            tap_code(KC_MS_WH_DOWN);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_MS_WH_UP);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,6 +0,0 @@
 | 
			
		|||
AUTO_SHIFT_ENABLE = yes # Autoshift by holding down a key
 | 
			
		||||
MOUSEKEY_ENABLE = yes
 | 
			
		||||
ENCODER_ENABLE = yes
 | 
			
		||||
EXTRAKEY_ENABLE = yes
 | 
			
		||||
RGBLIGHT_ENABLE = no
 | 
			
		||||
BACKLIGHT_ENABLE = no
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2023 John Stegeman
 | 
			
		||||
 | 
			
		||||
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 RGBLIGHT_LAYERS
 | 
			
		||||
 | 
			
		||||
#define TAPPING_TOGGLE 1 // tap just once for TT() to toggle the layer
 | 
			
		||||
#define TAPPING_TERM 200
 | 
			
		||||
#define IGNORE_MOD_TAP_INTERRUPT
 | 
			
		||||
#define RGBLIGHT_LAYERS_RETAIN_VAL
 | 
			
		||||
| 
						 | 
				
			
			@ -1,144 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2023 John Stegeman
 | 
			
		||||
 | 
			
		||||
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 "print.h"
 | 
			
		||||
#include "light_layers.h"
 | 
			
		||||
 | 
			
		||||
enum layers {
 | 
			
		||||
_COLEMAK,
 | 
			
		||||
_NAVNUM,
 | 
			
		||||
_CONTROL,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Enter when tapped, shift when held
 | 
			
		||||
#define SHEN MT(MOD_LSFT, KC_ENT) 
 | 
			
		||||
 | 
			
		||||
// Enter when tapped, alt when held
 | 
			
		||||
#define ALEN MT(MOD_LALT, KC_ENT) 
 | 
			
		||||
 | 
			
		||||
#define CTX LT(0,KC_X)
 | 
			
		||||
#define CPC LT(0,KC_C)
 | 
			
		||||
#define PSV LT(0,KC_V)
 | 
			
		||||
 | 
			
		||||
// Space when tapped, shift when held 
 | 
			
		||||
#define SHSP MT(MOD_RSFT, KC_SPC)
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_COLEMAK] = 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_F,    KC_P,    KC_B,                               KC_J,    KC_L,    KC_U,    KC_Y,    KC_MINS, KC_SCLN,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_LCTL, KC_A,    KC_R,    KC_S,    KC_T,    KC_G,                               KC_M,    KC_N,    KC_E,    KC_I,    KC_O,    KC_QUOT,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_LSFT, KC_Z,     CTX,     CPC,    KC_D,     PSV,    KC_HOME,          KC_RALT,  KC_K,    KC_H,    KC_COMM, KC_DOT,  KC_SLSH, KC_EQL,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                     MO(1),    ALEN,  KC_LGUI,                  KC_BSPC,   SHSP,  LT(2,KC_ENT)
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_NAVNUM] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     QK_BOOT, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_P6,   KC_P7,   KC_P8,   KC_P9,   KC_P0,    _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_DEL,  _______, KC_LEFT, KC_RGHT, KC_UP,   KC_LBRC,                            KC_RBRC, KC_P4,   KC_P5,   KC_P6,   KC_PLUS, KC_PIPE,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______,    _______, _______, KC_DOWN, KC_LCBR, KC_END,           KC_RALT, KC_RCBR, KC_P1,   KC_P2,   KC_P3,   KC_MINS, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, KC_DEL,                    KC_DEL,  _______, KC_P0
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_CONTROL] = 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_BSLS,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN,          _______, KC_PLUS, KC_END,  RGB_HUD, RGB_SAD, RGB_VAD, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  )
 | 
			
		||||
};     
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
   case LT(0,KC_X):
 | 
			
		||||
      if (!record->tap.count && record->event.pressed) {
 | 
			
		||||
            tap_code16(G(KC_X)); // Intercept hold function to send GUI-X
 | 
			
		||||
            return false;
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
      break;
 | 
			
		||||
   case LT(0,KC_C):
 | 
			
		||||
      if (!record->tap.count && record->event.pressed) {
 | 
			
		||||
            tap_code16(G(KC_C)); // Intercept hold function to send GUI-C
 | 
			
		||||
            return false;
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
      break;
 | 
			
		||||
   case LT(0,KC_V):
 | 
			
		||||
      if (!record->tap.count && record->event.pressed) {
 | 
			
		||||
            tap_code16(G(KC_V)); // Intercept hold function to send GUI-V
 | 
			
		||||
            return false;
 | 
			
		||||
      }
 | 
			
		||||
      return true;
 | 
			
		||||
      break;
 | 
			
		||||
   }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Key overrides
 | 
			
		||||
 | 
			
		||||
// GUI + esc = ~
 | 
			
		||||
const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, S(KC_GRV));
 | 
			
		||||
 | 
			
		||||
// Shift + esc = `
 | 
			
		||||
const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC, KC_GRV);
 | 
			
		||||
 | 
			
		||||
// Shift + bkspc = delete word
 | 
			
		||||
const key_override_t shift_bkspc_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, A(KC_BSPC));
 | 
			
		||||
 | 
			
		||||
const key_override_t **key_overrides = (const key_override_t *[]){
 | 
			
		||||
    &tilde_esc_override,
 | 
			
		||||
    &grave_esc_override,
 | 
			
		||||
//    &shift_bkspc_override,
 | 
			
		||||
    NULL
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void keyboard_post_init_user(void) {
 | 
			
		||||
    rgblight_layers = MY_LIGHT_LAYERS;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
 
 | 
			
		||||
    rgblight_set_layer_state(_COLEMAK, layer_state_cmp(state, _COLEMAK));
 | 
			
		||||
    rgblight_set_layer_state(_NAVNUM, layer_state_cmp(state, _NAVNUM));
 | 
			
		||||
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,83 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2023 John Stegeman
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
LED index mapping:
 | 
			
		||||
 | 
			
		||||
          (31)              (32)              (33)                                    (67)              (66)              (65)
 | 
			
		||||
┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
│0       │1       │2       │3       │4       │5       │                          │39      │38      │37      │36      │35      │34      │
 | 
			
		||||
├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
│11      │10      │9       │8       │7       │6       │                          │40      │41      │42      │43      │44      │45      │
 | 
			
		||||
├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
│12      │13      │14      │15      │16      │17      │                          │51      │50      │49      │48      │47      │46      │
 | 
			
		||||
├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
│23      │22      │21      │20      │19      │18      │27      │        │61      │52      │53      │54      │55      │56      │57      │
 | 
			
		||||
└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                               │24      │25      │26      │                 │60      │59      │58      │
 | 
			
		||||
                               └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
          (30)              (29)              (28)                                    (62)              (63)              (64)
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
const rgblight_segment_t PROGMEM COLEMAK_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
			
		||||
    // left side
 | 
			
		||||
    {0, 6, HSV_BLUE},
 | 
			
		||||
    {6, 5, HSV_AZURE},
 | 
			
		||||
    {11, 2, HSV_BLUE},
 | 
			
		||||
    {13, 10, HSV_AZURE},
 | 
			
		||||
    {23, 2, HSV_BLUE},
 | 
			
		||||
    {25, 1, HSV_RED},
 | 
			
		||||
    {26, 2, HSV_BLUE},
 | 
			
		||||
    {28, 3, HSV_BLUE}, // underglow
 | 
			
		||||
    {31, 3, HSV_BLUE}, // underglow
 | 
			
		||||
    // right side
 | 
			
		||||
    {34, 6, HSV_BLUE},
 | 
			
		||||
    {40, 4, HSV_AZURE},
 | 
			
		||||
    {44, 3, HSV_BLUE},
 | 
			
		||||
    {47, 7, HSV_AZURE},
 | 
			
		||||
    {54, 5, HSV_BLUE},
 | 
			
		||||
    {59, 1, HSV_RED},
 | 
			
		||||
    {60, 2, HSV_BLUE},
 | 
			
		||||
    {62, 3, HSV_BLUE}, // underglow
 | 
			
		||||
    {65, 3, HSV_BLUE} // underglow
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const rgblight_segment_t PROGMEM NAVNUM_LIGHT_LAYER[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
			
		||||
    {0, 14, HSV_BLACK},
 | 
			
		||||
    {14, 3, HSV_GREEN},
 | 
			
		||||
    {17, 2, HSV_BLACK},
 | 
			
		||||
    {19, 1, HSV_GREEN},
 | 
			
		||||
    {20, 21, RGB_OFF},
 | 
			
		||||
    {41, 3, HSV_GREEN},
 | 
			
		||||
    {44, 4, HSV_BLACK},
 | 
			
		||||
    {48, 3, HSV_GREEN},
 | 
			
		||||
    {51, 2, HSV_BLACK},
 | 
			
		||||
    {53, 3, HSV_GREEN},
 | 
			
		||||
    {56, 2, HSV_BLACK},
 | 
			
		||||
    {58, 1, HSV_GREEN},
 | 
			
		||||
    {59, 9, HSV_BLACK} 
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const rgblight_segment_t* const PROGMEM MY_LIGHT_LAYERS[] = RGBLIGHT_LAYERS_LIST(
 | 
			
		||||
    COLEMAK_LIGHT_LAYER,
 | 
			
		||||
    NAVNUM_LIGHT_LAYER
 | 
			
		||||
);
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
# Keebio Iris Colemak layout
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
# Build Options
 | 
			
		||||
 | 
			
		||||
BOOTMAGIC_ENABLE = no
 | 
			
		||||
MOUSEKEY_ENABLE = no
 | 
			
		||||
COMMAND_ENABLE = no
 | 
			
		||||
NKRO_ENABLE = no
 | 
			
		||||
BACKLIGHT_ENABLE = no
 | 
			
		||||
 | 
			
		||||
AUDIO_ENABLE = no
 | 
			
		||||
ENCODER_ENABLE = no
 | 
			
		||||
SPACE_CADET_ENABLE = no
 | 
			
		||||
GRAVE_ESC_ENABLE = no 
 | 
			
		||||
MAGIC_ENABLE = no
 | 
			
		||||
TAP_DANCE_ENABLE = no
 | 
			
		||||
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control
 | 
			
		||||
CONSOLE_ENABLE = no        # Console for debug
 | 
			
		||||
RGBLIGHT_ENABLE = yes 
 | 
			
		||||
RGB_MATRIX_ENABLE = no 
 | 
			
		||||
#RGB_MATRIX_ENABLE = yes
 | 
			
		||||
#RGB_MATRIX_DRIVER = ws2812
 | 
			
		||||
LTO_ENABLE = yes
 | 
			
		||||
VIA_ENABLE = yes
 | 
			
		||||
KEY_OVERRIDE_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -1,67 +0,0 @@
 | 
			
		|||
/* Copyright 2021 Nguyen Vu Khang <brew4k@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 MINIMAL_BASEx(hue,sat) \
 | 
			
		||||
    rgblight_sethsv_range(hue, sat, 0, 0, 12); \
 | 
			
		||||
    rgblight_sethsv_range(hue, sat, 100, 5, 7)
 | 
			
		||||
 | 
			
		||||
#define MINIMAL_BASE(hue, sat) \
 | 
			
		||||
    {0, 12, hue, sat, 0}, \
 | 
			
		||||
    {5, 2, hue, sat, 100}
 | 
			
		||||
 | 
			
		||||
#define MINIMAL(hue, sat) \
 | 
			
		||||
    {0, 12, hue, sat, 0}, \
 | 
			
		||||
    {3, 1, hue, sat, 100}, \
 | 
			
		||||
    {8, 1, hue, sat, 100}
 | 
			
		||||
 | 
			
		||||
const int yellow = 30;
 | 
			
		||||
const int green = 99;
 | 
			
		||||
const int red = 252;
 | 
			
		||||
const int base_sat = 120;
 | 
			
		||||
 | 
			
		||||
const rgblight_segment_t PROGMEM _BL_rgblayer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
			
		||||
    MINIMAL_BASE(yellow,250)
 | 
			
		||||
);
 | 
			
		||||
const rgblight_segment_t PROGMEM _FN_rgblayer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
			
		||||
    MINIMAL(green,255)
 | 
			
		||||
);
 | 
			
		||||
const rgblight_segment_t PROGMEM _SL_rgblayer[] = RGBLIGHT_LAYER_SEGMENTS(
 | 
			
		||||
    MINIMAL(red,255)
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
 | 
			
		||||
    _BL_rgblayer,
 | 
			
		||||
    _FN_rgblayer,
 | 
			
		||||
    _SL_rgblayer
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
void keyboard_post_init_user(void) {
 | 
			
		||||
    MINIMAL_BASEx(yellow,200);
 | 
			
		||||
    rgblight_layers = my_rgb_layers;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
layer_state_t default_layer_state_set_user(layer_state_t state) {
 | 
			
		||||
    rgblight_set_layer_state(0, layer_state_cmp(state, _BL));
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
layer_state_t layer_state_set_user(layer_state_t state) {
 | 
			
		||||
    rgblight_set_layer_state(1, layer_state_cmp(state, _FN));
 | 
			
		||||
    rgblight_set_layer_state(2, layer_state_cmp(state, _SL));
 | 
			
		||||
    return state;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,32 +0,0 @@
 | 
			
		|||
/* Copyright 2021 Nguyen Vu Khang <brew4k@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 EE_HANDS
 | 
			
		||||
#define RGBLIGHT_LAYERS
 | 
			
		||||
#define RGBLIGHT_MAX_LAYERS 5
 | 
			
		||||
#undef RGBLIGHT_EFFECT_ALTERNATING
 | 
			
		||||
#undef RGBLIGHT_EFFECT_BREATHING
 | 
			
		||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
 | 
			
		||||
#undef RGBLIGHT_EFFECT_KNIGHT
 | 
			
		||||
#undef RGBLIGHT_EFFECT_RAINBOW_MOOD
 | 
			
		||||
#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | 
			
		||||
#undef RGBLIGHT_EFFECT_RGB_TEST
 | 
			
		||||
#undef RGBLIGHT_EFFECT_SNAKE
 | 
			
		||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
 | 
			
		||||
#undef RGBLIGHT_EFFECT_TWINKLE
 | 
			
		||||
#undef MOUSEKEY_ENABLE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,81 +0,0 @@
 | 
			
		|||
/* Copyright 2021 Nguyen Vu Khang <brew4k@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
 | 
			
		||||
 | 
			
		||||
enum my_keycodes {
 | 
			
		||||
    ______ = SAFE_RANGE,
 | 
			
		||||
    HYPR1, HYPR2, HYPR3, HYPR4, HYPR5, HYPR6, HYPR7, HYPR8, HYPR9, HYPR0,
 | 
			
		||||
    HYPRL,
 | 
			
		||||
    HYPRM,
 | 
			
		||||
    HYPRP,
 | 
			
		||||
    HYPRQ,
 | 
			
		||||
    HYPRS,
 | 
			
		||||
    HYPRT,
 | 
			
		||||
    KC_STAB
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#undef _______
 | 
			
		||||
#define ______ KC_NO
 | 
			
		||||
 | 
			
		||||
#define HYPR1 HYPR(KC_1)
 | 
			
		||||
#define HYPR2 HYPR(KC_2)
 | 
			
		||||
#define HYPR3 HYPR(KC_3)
 | 
			
		||||
#define HYPR4 HYPR(KC_4)
 | 
			
		||||
#define HYPR5 HYPR(KC_5)
 | 
			
		||||
#define HYPR6 HYPR(KC_6)
 | 
			
		||||
#define HYPR7 HYPR(KC_7)
 | 
			
		||||
#define HYPR8 HYPR(KC_8)
 | 
			
		||||
#define HYPR9 HYPR(KC_9)
 | 
			
		||||
#define HYPR0 HYPR(KC_0)
 | 
			
		||||
 | 
			
		||||
#define HYPRL HYPR(KC_L)
 | 
			
		||||
#define HYPRM HYPR(KC_M)
 | 
			
		||||
#define HYPRP HYPR(KC_P)
 | 
			
		||||
#define HYPRQ HYPR(KC_Q)
 | 
			
		||||
#define HYPRS HYPR(KC_S)
 | 
			
		||||
#define HYPRT HYPR(KC_T)
 | 
			
		||||
 | 
			
		||||
#define KC_STAB LSFT(KC_TAB)
 | 
			
		||||
 | 
			
		||||
uint8_t mod_state;
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
    mod_state = get_mods();
 | 
			
		||||
    switch (keycode) {
 | 
			
		||||
        case KC_BSPC: {
 | 
			
		||||
            static bool delkey_registered;
 | 
			
		||||
            if (record->event.pressed) { // on key-down of Backspace
 | 
			
		||||
                if (mod_state & MOD_MASK_CTRL) {
 | 
			
		||||
                    // Ctrl + Backspace -> Forward Delete
 | 
			
		||||
                    del_mods(MOD_MASK_CTRL);
 | 
			
		||||
                    register_code(KC_DEL);
 | 
			
		||||
                    delkey_registered = true;
 | 
			
		||||
                    set_mods(mod_state);
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
            } else { // on release of Backspace
 | 
			
		||||
                if (delkey_registered) {
 | 
			
		||||
                    unregister_code(KC_DEL);
 | 
			
		||||
                    delkey_registered = false;
 | 
			
		||||
                    return false;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return true;
 | 
			
		||||
        };
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,71 +0,0 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum keyboard_layers {
 | 
			
		||||
    _BL = 0,
 | 
			
		||||
    _FN,
 | 
			
		||||
    _SL,
 | 
			
		||||
    _BF,
 | 
			
		||||
    _UP
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#include "colors.h"
 | 
			
		||||
#include "extrakeys.h"
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
    [_BL] = 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_LSFT ,  KC_Z  ,  KC_X  ,  KC_C  ,  KC_V  ,  KC_B  ,KC_MINS ,   KC_PLUS ,  KC_N  ,  KC_M  ,KC_COMM , KC_DOT ,KC_SLSH ,MO(_FN) ,
 | 
			
		||||
    //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘  └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                      KC_LGUI ,KC_LCTL , KC_ENT ,             KC_SPC ,MO(_UP) ,KC_RALT
 | 
			
		||||
                                  // └────────┴────────┴────────┘           └────────┴────────┴────────┘
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    [_UP] = LAYOUT(
 | 
			
		||||
    //┌────────┬────────┬────────┬────────┬────────┬────────┐                    ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
       KC_TILD ,KC_EXLM , KC_AT  ,KC_HASH , KC_DLR ,KC_PERC ,                      ______ , ______ , ______ ,KC_MINS , KC_EQL , KC_NO  ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        ______ , ______ , ______ , ______ , ______ , ______ ,                      ______ , ______ , ______ ,KC_LBRC ,KC_RBRC , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        ______ , ______ , ______ , ______ , ______ , ______ ,                     KC_LEFT ,KC_DOWN , KC_UP  ,KC_RGHT , ______ , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐  ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
       KC_LSFT , ______ , ______ , ______ , ______ , ______ , ______ ,    ______ , ______ , ______ , ______ , ______ , ______ , ______ ,
 | 
			
		||||
    //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘  └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                      KC_LGUI ,KC_LCTL , ______ ,             ______ , KC_NO  , ______
 | 
			
		||||
                                  // └────────┴────────┴────────┘           └────────┴────────┴────────┘
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    [_FN] = LAYOUT(
 | 
			
		||||
    //┌────────┬────────┬────────┬────────┬────────┬────────┐                    ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
        ______ , KC_F1  , KC_F2  , KC_F3  , KC_F4  , KC_F5  ,                      KC_F6  , KC_F7  , KC_F8  , KC_F9  , KC_F10 , KC_F11 ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
       KC_STAB , ______ , ______ , ______ , ______ , HYPRT  ,                      ______ , ______ , ______ , ______ , ______ , KC_F12 ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        ______ , ______ , HYPRS  , ______ , ______ , ______ ,                      ______ , ______ ,KC_BRID ,KC_BRIU , ______ , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐  ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
       MO(_SL) , ______ , ______ , ______ , ______ , ______ , ______ ,    ______ , ______ , HYPRM  ,KC_VOLD ,KC_VOLU , ______ , KC_NO  ,
 | 
			
		||||
    //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘  └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                       ______ , ______ , ______ ,            KC_MPLY ,KC_MPRV ,KC_MNXT
 | 
			
		||||
                                  // └────────┴────────┴────────┘           └────────┴────────┴────────┘
 | 
			
		||||
    ),
 | 
			
		||||
 | 
			
		||||
    [_SL] = LAYOUT(
 | 
			
		||||
    //┌────────┬────────┬────────┬────────┬────────┬────────┐                    ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
        ______ , HYPR1  , HYPR2  , HYPR3  , HYPR4  , HYPR5  ,                      HYPR6  , HYPR7  , HYPR8  , HYPR9  , HYPR0  , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        ______ , HYPRQ  , ______ , ______ , ______ , ______ ,                      ______ , ______ , ______ , ______ , HYPRP  , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┤                    ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        ______ , ______ , ______ , ______ , ______ , ______ ,                      ______ , ______ , ______ ,HYPRL   , ______ , ______ ,
 | 
			
		||||
    //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐  ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
        KC_NO  , ______ , ______ , ______ , ______ , ______ , ______ ,    ______ , ______ , ______ , ______ , ______ , ______ , KC_NO  ,
 | 
			
		||||
    //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘  └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                       ______ , ______ , ______ ,             QK_BOOT, ______ , ______
 | 
			
		||||
                                  // └────────┴────────┴────────┘           └────────┴────────┴────────┘
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +0,0 @@
 | 
			
		|||
# Khang's Iris Keymap
 | 
			
		||||
 | 
			
		||||
- QWERTY at heart
 | 
			
		||||
- Space on right thumb
 | 
			
		||||
- Enter on left thumb
 | 
			
		||||
- Right-Shift as Fn
 | 
			
		||||
- Minimal (disabled everything unused to save space)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
ENCODER_ENABLE = no
 | 
			
		||||
MOUSEKEY_ENABLE = no
 | 
			
		||||
RGBLIGHT_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
 | 
			
		||||
 | 
			
		||||
// #define USE_I2C
 | 
			
		||||
#define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#undef RGBLED_NUM
 | 
			
		||||
| 
						 | 
				
			
			@ -1,154 +0,0 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum layers {
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _GAME,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _ADJUST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// define keycode macros for readability
 | 
			
		||||
#define KM_DLEFT LGUI(LCTL(KC_LEFT))
 | 
			
		||||
#define KM_DRIGHT LGUI(LCTL(KC_RIGHT))
 | 
			
		||||
#define TSKMGR LCTL(LSFT(KC_ESC))
 | 
			
		||||
#define KC_LCBR LSFT(KC_LBRC)
 | 
			
		||||
#define KC_RCBR LSFT(KC_RBRC)
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  QWERTY = SAFE_RANGE,
 | 
			
		||||
  GAME,
 | 
			
		||||
  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_GRV,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     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_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_ENT,          KC_DEL,  KC_N,    KC_M,    KC_COMM,  KC_DOT,  KC_SLSH, KC_BSLS,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    KC_LALT, LT(_LOWER, KC_TAB), CTL_T(KC_SPC), SFT_T(KC_BSPC),  MO(_RAISE),   KC_LGUI
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_GAME] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     _______,  KC_F1,   KC_F2,    KC_F3,  KC_F4,   KC_F5,                              _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______,  _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______,  _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______,  _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, MO(_LOWER), KC_SPC,                 _______,  TO(_QWERTY), _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     LALT(KC_F4), KC_F6, KC_F7,  KC_F8,   KC_F9,   KC_F10,                            _______, _______, _______, KC_LPRN, KC_RPRN, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_MUTE, KC_HOME,  KC_UP,   KC_END, KC_PGUP, _______,                            _______, _______, KC_NUM , KC_LBRC, KC_RBRC, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN,   _______,                           _______, _______, _______, KC_LCBR, KC_RCBR, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KM_DLEFT, KM_DRIGHT,_______,            _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                 _______,  _______,    _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_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_P7,   KC_P8,   KC_P9,   KC_PLUS, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______,  KC_P4,   KC_P5,  KC_P6,   KC_PMNS, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______, _______,          _______, KC_P0,    KC_P1,   KC_P2,   KC_P3,   KC_EQL, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, TO(_GAME)
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
  [_ADJUST] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     _______,  _______, _______,_______,  _______, _______,                           _______,  _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______,   _______, _______, _______, _______, _______,                          _______,  _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______,  _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______, _______,          _______, _______,  _______, _______, _______, _______, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  )
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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_PGDN);
 | 
			
		||||
        } else {
 | 
			
		||||
            tap_code(KC_PGUP);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
# Iris Layout by Khitsule
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
[KLE link](http://www.keyboard-layout-editor.com/#/gists/856ad949a89c47fa84c808ba17ae10c5)
 | 
			
		||||
 | 
			
		||||
## Layers
 | 
			
		||||
 | 
			
		||||
| Layer | Legend |
 | 
			
		||||
| ----- | ------ |
 | 
			
		||||
| Base  |  Centre (black) |
 | 
			
		||||
| Game  |  Centre (black) - see below |
 | 
			
		||||
| Lower | Bottom (purple) |
 | 
			
		||||
| Raise | Top (pink) |
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
 | 
			
		||||
* Raise/lower layers focus first on one-handed use
 | 
			
		||||
* Numpad on right hand with raise layer
 | 
			
		||||
* Game layer to be used as a gamepad
 | 
			
		||||
  * Accessed by gui key in raise layer, return with the raise key
 | 
			
		||||
  * Same as base layer **except** numbers 1-5 replaced with F1-F5; dual function removed from thumb keys (dedicated lower and space)
 | 
			
		||||
  * Numbers to F1-F5 is designed to be used with a mouse such as the Naga that has numbers
 | 
			
		||||
  * Lower layer gives one-handed access to arrows and F6-F10 as well
 | 
			
		||||
* Navigation on left hand with lower layer
 | 
			
		||||
  * D refers to desktop left/right on Win 10 (win+ctrl+left/right)
 | 
			
		||||
* Use of hold/tap dual function keys
 | 
			
		||||
  * Ctrl/Space
 | 
			
		||||
  * Shift/Backspace
 | 
			
		||||
  * Lower/Tab
 | 
			
		||||
* Dedicated ctrl and shift to allow for navigation shortcuts with ctrl+shift+nav
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
BACKLIGHT_ENABLE = no
 | 
			
		||||
RGBLIGHT_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_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#define TAPPING_TERM 150
 | 
			
		||||
 | 
			
		||||
#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,136 +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,
 | 
			
		||||
  ADMIN,
 | 
			
		||||
  SMSPC1
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum {
 | 
			
		||||
  SFT_CAP = 0
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_QWERTY] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     KC_TAB,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_QUOT,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
  TD(SFT_CAP),KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, SFT_T(KC_ENT),
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_LCTL, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_HOME,          KC_END,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    KC_LGUI, LOWER,   KC_ENT,                    KC_SPC,  RAISE,   KC_LALT
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_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_BSPC,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     QK_BOOT, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_DEL,  _______, KC_LEFT, KC_RGHT, KC_UP,   KC_LBRC,                            KC_RBRC, KC_P4,   KC_P5,   KC_P6,   KC_PLUS, KC_PIPE,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN,          KC_RPRN, KC_RCBR, KC_P1,   KC_P2,   KC_P3,   KC_MINS, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, KC_DEL,                    KC_DEL,  _______, KC_P0
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_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,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     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_BSLS,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN,          _______, KC_PLUS, KC_END,  RGB_HUD, RGB_SAD, RGB_VAD, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_ADJUST] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  )
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
tap_dance_action_t tap_dance_actions[] = {
 | 
			
		||||
  [SFT_CAP] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
    case ADMIN:       
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        SEND_STRING("Administrator");
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
    case SMSPC1:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        SEND_STRING("Simspace1!");
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      break;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
RGBLIGHT_ENABLE = yes
 | 
			
		||||
BACKLIGHT_ENABLE = yes
 | 
			
		||||
TAP_DANCE_ENABLE = yes
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
# krusli's Iris keymap
 | 
			
		||||
Based off the default and Planck keymaps.
 | 
			
		||||
| 
						 | 
				
			
			@ -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/>.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef CONFIG_USER_H
 | 
			
		||||
#define CONFIG_USER_H
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* 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
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -1,94 +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_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,
 | 
			
		||||
    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_HOME,  KC_END,  KC_N,      KC_M,       KC_COMM,    KC_DOT,     KC_SLSH,    KC_ENT,
 | 
			
		||||
                                          KC_LGUI,  LOWER,    KC_SPC,   KC_SPC,  RAISE,      KC_LALT
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = LAYOUT(
 | 
			
		||||
    _______,  _______, _______,  _______,  _______,  _______,                    _______,   _______,    _______,    _______,    _______,    KC_PSCR,
 | 
			
		||||
    KC_TILD,  KC_EXLM, KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,                    KC_CIRC,   KC_AMPR,    KC_ASTR,    KC_LPRN,    KC_RPRN,    KC_BSPC,
 | 
			
		||||
    _______,  KC_F1,   KC_F2,    KC_F3,    KC_F4,    KC_F5,                      KC_F6,     KC_UNDS,    KC_PLUS,    KC_LCBR,    KC_RCBR,    KC_PIPE,
 | 
			
		||||
    _______,  KC_F7,   KC_F8,    KC_F9,    KC_F10,   KC_F11,   _______, _______, KC_F12,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,
 | 
			
		||||
                                           _______,  _______,  _______, _______, _______,   _______
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
    _______,  _______, _______,  _______,  _______,  _______,                    _______,   _______,    _______,    _______,    _______,    KC_PSCR,
 | 
			
		||||
    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_F1,   KC_F2,    KC_F3,    KC_F4,    KC_F5,                      KC_F6,     KC_MINS,    KC_EQL,     KC_LBRC,    KC_RBRC,    KC_BSLS,
 | 
			
		||||
    _______,  KC_F7,   KC_F8,    KC_F9,    KC_F10,   KC_F11,   _______, _______, KC_F12,    _______,    KC_LEFT,    KC_DOWN,    KC_UP,      KC_RGHT,
 | 
			
		||||
                                           _______,  _______,  _______, _______, _______,   _______
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_ADJUST] = LAYOUT(
 | 
			
		||||
    _______, _______, _______,  _______,  _______,  _______,                    _______,  _______,    _______,    _______,    _______,    _______,
 | 
			
		||||
    RGB_TOG, RGB_MOD, RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,                    _______,  _______,    _______,    _______,    _______,    _______,
 | 
			
		||||
    _______, _______, RGB_HUD,  RGB_SAD,  RGB_SAD,  RGB_VAD,                    _______,  _______,    _______,    _______,    _______,    _______,
 | 
			
		||||
    BL_STEP, QK_BOOT, _______,  _______,  _______,  _______,  _______, _______, _______,  _______,    _______,    _______,    _______,    _______,
 | 
			
		||||
                                          _______,  _______,  _______, _______, _______,  _______
 | 
			
		||||
  ),
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void persistent_default_layer_set(uint16_t default_layer) {
 | 
			
		||||
  eeconfig_update_default_layer(default_layer);
 | 
			
		||||
  default_layer_set(default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case QWERTY:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        persistent_default_layer_set(1UL<<_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,3 +0,0 @@
 | 
			
		|||
RGBLIGHT_ENABLE = no
 | 
			
		||||
BACKLIGHT_ENABLE = no
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2021 Mathias Strand <m.strand91@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
 | 
			
		||||
| 
						 | 
				
			
			@ -1,223 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2021 Mathias Strand <m.strand91@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
 | 
			
		||||
#include "keymap_swedish.h"
 | 
			
		||||
 | 
			
		||||
//Nordic(swedish) signs
 | 
			
		||||
 | 
			
		||||
enum layer_names {
 | 
			
		||||
    _DVORAK,
 | 
			
		||||
    _COLEMAK,
 | 
			
		||||
    _QWERTY,
 | 
			
		||||
    _GAMING,
 | 
			
		||||
    _NUMPAD,
 | 
			
		||||
    _LOWER,
 | 
			
		||||
    _RAISE,
 | 
			
		||||
    _ADJUST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
  QWERTY = SAFE_RANGE,
 | 
			
		||||
  DVORAK,
 | 
			
		||||
  COLEMAK,
 | 
			
		||||
  GAMING,
 | 
			
		||||
  NUMPAD,
 | 
			
		||||
  LOWER,
 | 
			
		||||
  RAISE,
 | 
			
		||||
  ADJUST
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define SE_YEN ALGR(SE_6) //isn't in the swedish_keymap.h
 | 
			
		||||
#define KC_CATDEL LCTL(LALT(KC_DEL)) // Ctrl alt del
 | 
			
		||||
#define KC_TSKMGR LCTL(S(KC_ESC)) // Ctrl shift esc
 | 
			
		||||
#define KC_Close RALT(KC_F4) // Alt F4
 | 
			
		||||
#define KC_MEH1 MEH(KC_1)  // crtl shift alt 1
 | 
			
		||||
#define KC_MEH2 MEH(KC_2)  //
 | 
			
		||||
#define KC_MEH3 MEH(KC_3)  //
 | 
			
		||||
#define KC_MEH4 MEH(KC_4)  //
 | 
			
		||||
#define KC_MEH5 MEH(KC_5)  //
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
 | 
			
		||||
  [_QWERTY] = LAYOUT(
 | 
			
		||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
			
		||||
      KC_DEL , KC_APP , KC_VOLD, KC_MUTE, KC_VOLU, KC_LGUI,                            KC_GRV , KC_MPRV, KC_MPLY, KC_MNXT, KC_DOWN, KC_ESC ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      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_LCTL, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   ,                            KC_H   , KC_J   , KC_K   , KC_L   , SE_ODIA, SE_ADIA,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , NUMPAD,          KC_ENT , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     KC_LALT, LOWER, KC_BSPC,                     KC_SPC ,  RAISE , KC_LALT
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_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_ESC ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      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_LCTL, KC_A   , KC_S   , KC_D   , KC_F   , KC_G   ,                            KC_H   , KC_J   , KC_K   , KC_L   , SE_ODIA, KC_RCTL,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , NUMPAD,          KC_ENT , KC_N   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     KC_LALT, LOWER , KC_BSPC,                   KC_SPC , RAISE, KC_LALT
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 [_DVORAK] = LAYOUT(
 | 
			
		||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
			
		||||
      KC_DEL , KC_APP , KC_VOLD, KC_MUTE, KC_VOLU, KC_LGUI,                            KC_GRV , KC_MPRV, KC_MPLY, KC_MNXT, KC_DOWN, KC_ESC ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_TAB , SE_ARNG, SE_ADIA, SE_ODIA, KC_P   , KC_Y   ,                            KC_F   , KC_G   , KC_C   , KC_R   , KC_L   ,KC_DEL  ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LCTL, KC_A   , KC_O   , KC_E   , KC_U   , KC_I   ,                            KC_D   , KC_H   , KC_T   , KC_N   , KC_S   ,KC_RCTL ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LSFT, KC_DOT , KC_Q   , KC_J   , KC_K   , KC_X   , NUMPAD,          KC_ENT , KC_B   , KC_M   , KC_W   , KC_V   , KC_Z   ,KC_RSFT ,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     KC_LALT, LOWER, KC_BSPC,                   KC_SPC , RAISE, KC_LALT
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 [_COLEMAK] = LAYOUT(
 | 
			
		||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
			
		||||
      KC_DEL , KC_APP , KC_VOLD, KC_MUTE, KC_VOLU, KC_LGUI,                            KC_GRV , KC_MPRV, KC_MPLY, KC_MNXT, KC_DOWN, KC_ESC ,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_TAB , KC_Q   , KC_W   , KC_F   , KC_P   , KC_G   ,                            KC_J   , KC_L   , KC_U   , KC_Y   , SE_ARNG, SE_ADIA,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LCTL, KC_A   , KC_R   , KC_S   , KC_T   , KC_D   ,                            KC_H   , KC_N   , KC_E   , KC_I   , KC_O   , SE_ODIA,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      KC_LSFT, KC_Z   , KC_X   , KC_C   , KC_V   , KC_B   , NUMPAD,          KC_ENT , KC_K   , KC_M   , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     KC_LALT, LOWER, KC_BSPC,                   KC_SPC , RAISE, KC_LALT
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  [_NUMPAD] = 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_MEH1, KC_BTN2, KC_MS_U, KC_BTN1, KC_CATDEL,                          KC_PIPE, KC_P7  , KC_P8  , KC_P9  , KC_SLSH, _______,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, KC_MEH4, KC_MS_L, KC_MS_D, KC_MS_R, KC_TSKMGR,                          KC_COMM, KC_P4  , KC_P5  , KC_P6  , KC_MINS, _______,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, KC_MEH5, KC_ACL0, KC_ACL1, KC_ACL2, KC_MEH3, _______,         KC_PENT , KC_DOT , KC_P1  , KC_P2  , KC_P3  , KC_P0  , _______,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     KC_LALT , LOWER, KC_BSPC,                  _______, RAISE, KC_NUM
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = 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_CAPS, KC_PGUP, KC_UP  , KC_PGDN, KC_ESC,                             KC_RCBR, KC_EXLM, KC_ASTR, KC_LPRN, KC_UNDS, _______,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,                             KC_RPRN, KC_QUES, SE_LBRC, SE_RBRC, KC_LABK, _______,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, KC_ENT , _______, _______, _______, KC_DEL , _______,          _______, KC_RABK, SE_LABK, SE_LCBR, SE_RCBR, SE_RABK, _______,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                      _______, _______, _______,                  _______, _______, _______ 
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
			
		||||
      SE_TILD, KC_EXLM, KC_GRV , KC_EQL , KC_DLR , KC_PERC,                            SE_PND , SE_EURO , SE_YEN, SE_RCBR, KC_RPRN, _______,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
     _______ , SE_PIPE , SE_AT , KC_HASH, KC_DQT , KC_PERC,                            KC_PIPE, KC_7   , KC_8   , KC_9   , KC_PMNS, KC_PSLS,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
     _______ , SE_BSLS, SE_TILD, SE_SLSH, KC_AMPR, KC_BSLS,                            KC_COMM, KC_4   ,  KC_5  ,  KC_6  , KC_PPLS, KC_PAST,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
     _______ , KC_PIPE, SE_CURR, KC_PLUS, KC_CIRC, KC_TILD, _______ ,        KC_PENT , KC_DOT , KC_1   , KC_2   , KC_3   , KC_0   , KC_PEQL,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                     _______ , _______ , KC_DEL  ,               _______, _______, _______
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_ADJUST] = LAYOUT(
 | 
			
		||||
  //,--------+--------+--------+--------+--------+--------.                          ,--------+--------+--------+--------+--------+--------.
 | 
			
		||||
      _______, GAMING , DVORAK , COLEMAK , QWERTY , QK_BOOT,                         _______, _______, _______, _______, KC_PWR,    QK_BOOT,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, _______, _______,LGUI(KC_UP),_______,LALT(KC_F4),                       _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------|                          |--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, _______,LGUI(KC_LEFT),LGUI(KC_DOWN),LGUI(KC_RGHT),_______,             _______,  DB_TOGG, RGB_HUD, RGB_SAD, RGB_VAD, BL_STEP,
 | 
			
		||||
  //|--------+--------+--------+--------+--------+--------+--------.        ,--------|--------+--------+--------+--------+--------+--------|
 | 
			
		||||
      _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //`--------+--------+--------+----+---+--------+--------+--------/        \--------+--------+--------+---+----+--------+--------+--------'
 | 
			
		||||
                                      _______, _______, _______,                  _______, _______, _______
 | 
			
		||||
  //                                `--------+--------+--------'                `--------+--------+--------'
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
    case DVORAK:
 | 
			
		||||
      if (record->event.pressed) {set_single_persistent_default_layer(_DVORAK);}
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
    case NUMPAD:
 | 
			
		||||
      if (record->event.pressed) {layer_invert(_NUMPAD);}
 | 
			
		||||
      return false;
 | 
			
		||||
      
 | 
			
		||||
    case COLEMAK:
 | 
			
		||||
      if (record->event.pressed) {set_single_persistent_default_layer(_COLEMAK);}
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
    case GAMING:
 | 
			
		||||
      if (record->event.pressed) {set_single_persistent_default_layer(_GAMING);}
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
    case LOWER:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        layer_off(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
      
 | 
			
		||||
    case RAISE:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
        layer_off(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -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,114 +0,0 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
extern keymap_config_t keymap_config;
 | 
			
		||||
 | 
			
		||||
#define _QWERTY 0
 | 
			
		||||
#define _LOWER 1
 | 
			
		||||
#define _RAISE 2
 | 
			
		||||
#define _ADJUST 3
 | 
			
		||||
 | 
			
		||||
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_MINS,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSLS,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     RAISE,   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_DEL,           KC_ENT,  KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    LOWER,   KC_LALT, KC_BSPC,                   KC_SPC,  KC_LGUI, KC_LCTL
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_LOWER] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     KC_EQL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_EQL,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, KC_UP,   _______, _______, _______,                            _______, KC_PLUS, KC_EQL,  KC_TILD, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP,   _______,                            KC_HOME, KC_PGDN, KC_PGUP, KC_END,  _______, KC_GRV, 
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, KC_GRV,  _______, _______, _______, _______, KC_HOME,          KC_PGUP, _______, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, KC_END,                    KC_PGDN, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_RAISE] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     KC_EQL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,                              KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_EQL,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, KC_UP,   _______, _______, _______,                            _______, KC_PLUS, KC_EQL,  KC_TILD, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_UP,   _______,                            KC_HOME, KC_PGDN, KC_PGUP, KC_END,  _______, KC_GRV, 
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, KC_GRV,  _______, _______, _______, _______, KC_HOME,          KC_PGUP, _______, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, KC_END,                    KC_PGDN, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  ),
 | 
			
		||||
 | 
			
		||||
  [_ADJUST] = LAYOUT(
 | 
			
		||||
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
     _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
  //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
                                    _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
                                // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
  )
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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,2 +0,0 @@
 | 
			
		|||
RGBLIGHT_ENABLE = yes
 | 
			
		||||
BACKLIGHT_ENABLE = no
 | 
			
		||||
| 
						 | 
				
			
			@ -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 USE_I2C
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
#define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
// #define EE_HANDS
 | 
			
		||||
 | 
			
		||||
// #undef RGBLED_NUM
 | 
			
		||||
// #define RGBLED_NUM 18
 | 
			
		||||
// #define RGBLIGHT_HUE_STEP 8
 | 
			
		||||
// #define RGBLIGHT_SAT_STEP 8
 | 
			
		||||
// #define RGBLIGHT_VAL_STEP 8
 | 
			
		||||
| 
						 | 
				
			
			@ -1,143 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Oliver Granlund
 | 
			
		||||
 * 
 | 
			
		||||
 * 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 "keymap_swedish.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
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define KC_ KC_TRNS
 | 
			
		||||
 | 
			
		||||
#define KC_LOWER LOWER
 | 
			
		||||
#define KC_RAISE RAISE
 | 
			
		||||
#define KC_ADJ ADJUST
 | 
			
		||||
#define KC_RST QK_BOOT
 | 
			
		||||
 | 
			
		||||
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_MINS,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
LT(_LOWER, 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,   RAISE,           KC_BSPC,  KC_N,    KC_M,   KC_COMM, KC_DOT,  KC_SLSH, KC_MINS,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                   				   KC_LGUI, KC_LALT, KC_SPC,         			 KC_ENT,  ADJUST, KC_RALT
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_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,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   KC_TRNS,  KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,                     		KC_TRNS,  KC_PGUP, KC_UP, KC_PGDN,   SE_LCBR, SE_RCBR,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	  KC_TRNS,  KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, SE_BSLS,                     		KC_TRNS, KC_LEFT,  KC_DOWN, KC_RGHT, SE_LBRC,  SE_RBRC,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,         KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, SE_LABK, SE_RABK,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                               	   KC_TRNS, KC_TRNS, KC_TRNS,         		    KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_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_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                     		 KC_TRNS,  KC_7,    KC_8,    KC_9,  SE_MINS, SE_ASTR,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	 	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                     		KC_TRNS,  KC_4,    KC_5,    KC_6,  SE_PLUS, SE_SLSH,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	 	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  KC_1,   KC_2,     KC_3,   KC_0,   KC_TRNS,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                               	   KC_TRNS, KC_TRNS, KC_TRNS,         			KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_ADJUST] = LAYOUT(
 | 
			
		||||
	//┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
	   BL_TOGG, BL_STEP, BL_BRTG, RGB_TOG, RGB_RMOD, RGB_MOD,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   BL_DOWN,_______,   BL_UP,  RGB_VAD, RGB_SAI, RGB_VAI,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, _______, _______, _______,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
									  _______, _______, _______,                   _______, _______, _______
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	)
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void persistent_default_layer_set(uint16_t default_layer) {
 | 
			
		||||
	eeconfig_update_default_layer(default_layer);
 | 
			
		||||
	default_layer_set(default_layer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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,11 +0,0 @@
 | 
			
		|||
# Iris Nordic Layout
 | 
			
		||||
### by Oliver Granlund
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
This is for those who insist to use keyboard with ÅÄÖ. Also thought about the
 | 
			
		||||
gaming aspect with this keyboard, therefore space on left side.
 | 
			
		||||
 | 
			
		||||
At first I thought about having backspace in the upper right corner of the
 | 
			
		||||
slave side, but that made it really clunky to fix your text. Thumbs should take
 | 
			
		||||
care of this job instead.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
RGBLIGHT_ENABLE = no
 | 
			
		||||
BACKLIGHT_ENABLE = no
 | 
			
		||||
| 
						 | 
				
			
			@ -1,28 +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
 | 
			
		||||
 | 
			
		||||
/* Select hand configuration */
 | 
			
		||||
 | 
			
		||||
// #define MASTER_LEFT
 | 
			
		||||
// #define MASTER_RIGHT
 | 
			
		||||
#define EE_HANDS
 | 
			
		||||
 | 
			
		||||
#undef RGBLED_NUM
 | 
			
		||||
| 
						 | 
				
			
			@ -1,127 +0,0 @@
 | 
			
		|||
/* Copyright 2020 Oliver Granlund
 | 
			
		||||
 *
 | 
			
		||||
 * 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 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_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_LBRC,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	 MO(_LOWER),  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_LALT,           KC_BSPC,  KC_N,    KC_M,   KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                   				   KC_LGUI, KC_LCTL, KC_SPC,         			 KC_ENT,MO(_RAISE),KC_RALT
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_LOWER] = LAYOUT(
 | 
			
		||||
	//┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
	 	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_TRNS,  KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS,                     		KC_TRNS,  KC_PGUP, KC_UP, KC_PGDN,   KC_TRNS, KC_RBRC,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS,                     		KC_TRNS, KC_LEFT,  KC_DOWN, KC_RGHT, KC_TRNS, KC_BSLS,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   KC_TRNS, KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,         KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, KC_TRNS, KC_TRNS,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                               	   KC_TRNS, KC_TRNS, KC_TRNS,         		    KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_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_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                     		 KC_TRNS,  KC_7,    KC_8,    KC_9,  KC_TRNS, KC_TRNS,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	 	KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                     		KC_TRNS,  KC_4,    KC_5,    KC_6,   KC_TRNS, KC_TRNS,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐        ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	 	KC_LSFT, KC_NUBS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,          KC_TRNS, KC_TRNS,  KC_1,   KC_2,     KC_3,   KC_0,   KC_TRNS,
 | 
			
		||||
	//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘        └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
 | 
			
		||||
	                               	   KC_TRNS, KC_TRNS, KC_TRNS,         			KC_TRNS, KC_TRNS, KC_TRNS
 | 
			
		||||
								  // └────────┴────────┴────────┘                 └────────┴────────┴────────┘
 | 
			
		||||
	),
 | 
			
		||||
 | 
			
		||||
	[_ADJUST] = LAYOUT(
 | 
			
		||||
	//┌────────┬────────┬────────┬────────┬────────┬────────┐                          ┌────────┬────────┬────────┬────────┬────────┬────────┐
 | 
			
		||||
	   BL_TOGG, BL_STEP, BL_BRTG, RGB_TOG, RGB_RMOD, RGB_MOD,                            _______, _______, _______, _______, _______, _______,
 | 
			
		||||
	//├────────┼────────┼────────┼────────┼────────┼────────┤                          ├────────┼────────┼────────┼────────┼────────┼────────┤
 | 
			
		||||
	   BL_DOWN,_______,   BL_UP,  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;
 | 
			
		||||
		case LOWER:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				layer_on(_LOWER);
 | 
			
		||||
				update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
			} else {
 | 
			
		||||
				layer_off(_LOWER);
 | 
			
		||||
				update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
			}
 | 
			
		||||
			return false;
 | 
			
		||||
		case RAISE:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				layer_on(_RAISE);
 | 
			
		||||
				update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
			} else {
 | 
			
		||||
				layer_off(_RAISE);
 | 
			
		||||
				update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
			}
 | 
			
		||||
			return false;
 | 
			
		||||
 | 
			
		||||
		case ADJUST:
 | 
			
		||||
		if (record->event.pressed) {
 | 
			
		||||
			layer_on(_ADJUST);
 | 
			
		||||
		} else {
 | 
			
		||||
			layer_off(_ADJUST);
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +0,0 @@
 | 
			
		|||
# Iris Nordic Layout V2, now with VIA support
 | 
			
		||||
### by Oliver Granlund
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
After my rebuild I decided on making the layout better for swapping between 60% and Iris.
 | 
			
		||||
 | 
			
		||||
Still kinda buggy but should work automaticly with VIA
 | 
			
		||||
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