Keymap: meagerfindings ergodox (#3920)
* initial commit * updating after review
This commit is contained in:
		
							parent
							
								
									c23233f41a
								
							
						
					
					
						commit
						14f691d2a7
					
				
					 4 changed files with 696 additions and 0 deletions
				
			
		
							
								
								
									
										109
									
								
								layouts/community/ergodox/meagerfindings/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								layouts/community/ergodox/meagerfindings/README.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,109 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Meagerfinding's ErgoDox Layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Overview](#overview)
 | 
				
			||||||
 | 
					- [Credit where credit is due](#credit-where-credit-is-due)
 | 
				
			||||||
 | 
					- [Features](#features)
 | 
				
			||||||
 | 
						- [Tap/Hold Macro Keys](#taphold-macro-keys)
 | 
				
			||||||
 | 
						- [TapDance Keys](#tapdance-keys)
 | 
				
			||||||
 | 
					- [Base Layer](#base-layer)
 | 
				
			||||||
 | 
						- [Things to note:](#things-to-note)
 | 
				
			||||||
 | 
					- [Old Base Layer](#old-base-layer)
 | 
				
			||||||
 | 
					- [Symbols Layer](#symbols-layer)
 | 
				
			||||||
 | 
					- [Mouse & Media Keys Layer](#mouse-media-keys-layer)
 | 
				
			||||||
 | 
					- [Markdown Layer](#markdown-layer)
 | 
				
			||||||
 | 
					- [Arrow/Movements Layer](#arrowmovements-layer)
 | 
				
			||||||
 | 
					- [Numpad Layer](#numpad-layer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- /TOC -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Overview
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The overall goals of this layout are to:
 | 
				
			||||||
 | 
					1. Use the Ergodox thumb clusters to eliminate pinky reach.
 | 
				
			||||||
 | 
					2. Place as many useful keys under the home rows as possible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I first decided to build an ErgoDox as I wanted to use my thumbs for more with the added ergonomic benefits of a split board and ortholinear layout. I knew my hands were hurting from the weird contortions of copying and pasting constantly on my Mac, but I had no idea how strained I really was until I started moving as many modifier keys to the thumb clusters.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Credit where credit is due
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The initial layout used created on the [ErgoDox EZ Configurator](https://ergodox-ez.com/pages/graphical-configurator). I went through 26+ iterations within the configurator prior to beginning my journey with QMK itself. Much of the dual function/layer keys are influenced by and adapted from the EZ Configurator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Many features in this layout are either directly inspired by or are adaptations of [Algernon's incredible ErgoDox layout](https://github.com/algernon/ergodox-layout). Specifically: TapDance and its usage, and the brilliant idea of using TapDance to pair down the four keys for parens, brackets, and curly braces into just 2 keys.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Tap/Hold Macro Keys
 | 
				
			||||||
 | 
					* `Paste/Paste Special` key sends Paste on tap and Paste Special when held.
 | 
				
			||||||
 | 
					* `Screen/Video` key sends `||scrn` when tapped and `||video` when held
 | 
				
			||||||
 | 
					  - [Typinator](http://www.ergonis.com/products/typinator/) expands `||scrn` into `(Screenshot: <CLIPBOARD CONTENTS>)`, and `||video` into `(Video: <CLIPBOARD CONTENTS>)`, the QMK macro then moves back to before the last paren, inserts a space and removes a space to create a hyperlink for use in Zendesk.
 | 
				
			||||||
 | 
					* When tapped, `Todoist` toggles quick add window for a new Todoist task (`CMD + Shift + A`) and switches to Todoist when held
 | 
				
			||||||
 | 
					* The RubyMine key opens RubyMine by triggering spotlight, typing out `Rubymine`, and submitting the enter key.
 | 
				
			||||||
 | 
					* `Zendesk` triggers spotlight and then calls Typinator expansion to open my Zendesk Agent dashboard in Chrome.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### TapDance Keys
 | 
				
			||||||
 | 
					* `Copy/Cut` key copies on tap, cut's on two taps.
 | 
				
			||||||
 | 
					* One tap on `Snagit` key = sends `Ctrl + Shift + C` which is Snagit's selector and two taps on `Snagit` key = `Cmd + Shift + Opt + 4`, OS X cropping screenshot that is copied to the clipboard only.
 | 
				
			||||||
 | 
					* Tapping the `[{(`/`)}]` keys once yields `[` or `{` when the shift key is engaged, tapping them twice yields `(`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Base Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The base layer retains the alphas from the QWERTY layout without any modifications.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Things to note:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- The shift key is a One Shot Modifier key, meaning shift is not submitted when the key is tapped, instead, it only submits when you either tap it again, or on the next key press.
 | 
				
			||||||
 | 
					  - There is no CAPSLOCK key designated as it is pretty comfortable to simply hold down shift in this layout and continue typing.
 | 
				
			||||||
 | 
					- There is only one layer that you can fully switch to on this layout, the [Old Base layer](#old-base-layer). All other layers require holding a key to reach them. For the most part, the key that toggles a layer, will be on the opposite hand that will be typing with that layer.
 | 
				
			||||||
 | 
					  - For example: the symbols layer is reached by holding down the enter key with your right thumb, and most of the symbols are located on the left hand board.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Old Base Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I am moving into a new position (software engineering) at work from a Support position. My hope is to use my F keys more often and write fewer emails. This is my old base layer, still easily accessible, as I'm not used to having F key's on my top row quite yet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Symbols Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Holding down the `enter` key with your right thumb toggles the symbol layer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I've placed my most used symbols under the homerow. Granted, right now I mainly right emails/support ticket responses, so this home row may need to change as I transition to software engineering.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Mouse & Media Keys Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Holding down the `:` key on with your right pinky toggles the mouse and media layer. Your left hand controls the mouse directions just in a similar fashion to the keys used in the [movement layer](#arrowmovements-layer).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The right hand has a media controls under the homerow for quick muting/pausing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* `XKCD #1319` Key that ironically partially-automates accessing the link to [XKCD #1319](https://xkcd.com/1319/).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Markdown Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This layer places most common markdown symbols under the right hand. You can reach this layer by holding down the `F` key on your left hand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Arrow/Movements Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Toggled by holding down the space key with the right thumb. This isn't vim like movement, nope, it's `WASD` but over one column. So I guess it's actually `ESDF` on the left hand and `IJKL` on the right hand to better line up with the columns offset/staggered columns on the Dox.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Numpad Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					My right hand is pretty comfortable with tenkey number input so this is easily accessible by holding down backspace with the left thumb.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Also, on the left hand, there is a tap to copy and hold to cut macro under the `D` key, and a tap to paste and a hold to paste special macro on the `F` key. I guess I'm to too lazy to move my fingers when copying/pasting...
 | 
				
			||||||
							
								
								
									
										26
									
								
								layouts/community/ergodox/meagerfindings/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								layouts/community/ergodox/meagerfindings/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					#undef VENDOR_ID
 | 
				
			||||||
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
 | 
					#undef PRODUCT_ID
 | 
				
			||||||
 | 
					#define PRODUCT_ID      0x1307
 | 
				
			||||||
 | 
					#undef DEVICE_VER
 | 
				
			||||||
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
 | 
					#undef MANUFACTURER
 | 
				
			||||||
 | 
					#define MANUFACTURER    meagerfindings
 | 
				
			||||||
 | 
					#undef PRODUCT
 | 
				
			||||||
 | 
					#define PRODUCT         ErgoDox
 | 
				
			||||||
 | 
					#undef DESCRIPTION
 | 
				
			||||||
 | 
					#define DESCRIPTION     meagerfindings firmware for Ergodox
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define USB_MAX_POWER_CONSUMPTION 500
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef MOUSEKEY_INTERVAL
 | 
				
			||||||
 | 
					#define MOUSEKEY_INTERVAL       20
 | 
				
			||||||
 | 
					#undef MOUSEKEY_DELAY
 | 
				
			||||||
 | 
					#define MOUSEKEY_DELAY          0
 | 
				
			||||||
 | 
					#undef MOUSEKEY_TIME_TO_MAX
 | 
				
			||||||
 | 
					#define MOUSEKEY_TIME_TO_MAX    18
 | 
				
			||||||
 | 
					#undef MOUSEKEY_MAX_SPEED
 | 
				
			||||||
 | 
					#define MOUSEKEY_MAX_SPEED      4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef TAPPING_TERM
 | 
				
			||||||
 | 
					#define TAPPING_TERM 200
 | 
				
			||||||
							
								
								
									
										558
									
								
								layouts/community/ergodox/meagerfindings/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										558
									
								
								layouts/community/ergodox/meagerfindings/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,558 @@
 | 
				
			||||||
 | 
					#include QMK_KEYBOARD_H
 | 
				
			||||||
 | 
					#include "version.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum {
 | 
				
			||||||
 | 
					  BASE = 0,
 | 
				
			||||||
 | 
					  OLD_BASE,
 | 
				
			||||||
 | 
					  SYMBL,
 | 
				
			||||||
 | 
					  MEDIA,
 | 
				
			||||||
 | 
					  MKDWN,
 | 
				
			||||||
 | 
					  ARROWS,
 | 
				
			||||||
 | 
					  NUM,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum custom_keycodes {
 | 
				
			||||||
 | 
					  PLACEHOLDER = SAFE_RANGE, // can always be here
 | 
				
			||||||
 | 
					  EPRM,
 | 
				
			||||||
 | 
					  VRSN,
 | 
				
			||||||
 | 
					  MD_LINK,
 | 
				
			||||||
 | 
					  XKCD,
 | 
				
			||||||
 | 
					  DBLE_ZER0,
 | 
				
			||||||
 | 
					  L_ID_0,
 | 
				
			||||||
 | 
					  L_ID_1,
 | 
				
			||||||
 | 
					  L_ID_2,
 | 
				
			||||||
 | 
					  PAST_PS,
 | 
				
			||||||
 | 
					  TODO,
 | 
				
			||||||
 | 
					  RUBYMINE,
 | 
				
			||||||
 | 
					  ZENDESK,
 | 
				
			||||||
 | 
					  DBLE_ASTR,
 | 
				
			||||||
 | 
					  TRPLE_GRAVE,
 | 
				
			||||||
 | 
					  H_ONE,
 | 
				
			||||||
 | 
					  H_TWO,
 | 
				
			||||||
 | 
					  H_THREE,
 | 
				
			||||||
 | 
					  H_FOUR,
 | 
				
			||||||
 | 
					  H_FIVE,
 | 
				
			||||||
 | 
					  M_LINK,
 | 
				
			||||||
 | 
					  M_GREATER,
 | 
				
			||||||
 | 
					  TD_COPY_CUT = 6,
 | 
				
			||||||
 | 
					  TD_SNAGIT = 8,
 | 
				
			||||||
 | 
					  TD_B_L_SEL = 10,
 | 
				
			||||||
 | 
					  CT_LBP = 11,
 | 
				
			||||||
 | 
					  CT_RBP = 12
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Redefine Key Names for Readaibilty
 | 
				
			||||||
 | 
					#define XXXXXXX KC_NO
 | 
				
			||||||
 | 
					#define SCRN_CLIPB LCTL(LGUI(LSFT(KC_4)))
 | 
				
			||||||
 | 
					#define CHRM_L LALT(LGUI(KC_LEFT)) //Move left one tab in Chrome
 | 
				
			||||||
 | 
					#define CHRM_R LALT(LGUI(KC_RIGHT)) //Move right one tab in Chrome
 | 
				
			||||||
 | 
					#define S_CMD_S LGUI_T(KC_S) //`S` when typing `CMD` when held
 | 
				
			||||||
 | 
					#define D_CMD_OPT LGUI_T(LALT_T(KC_D)) //`D` when typing `CMD + Opt` when held
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static uint16_t key_timer; //key timer for macros
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//Tap Dance Definitions
 | 
				
			||||||
 | 
					qk_tap_dance_action_t tap_dance_actions[] = {
 | 
				
			||||||
 | 
					  //Tap once for Copy, twice for Paste, three times for Cut.
 | 
				
			||||||
 | 
					  [TD_COPY_CUT]  = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_C),LGUI(KC_X)),
 | 
				
			||||||
 | 
					    //Tap once for Snagit, twice for Cmd + Shift + Opt + 4 (OS X cropping screenshot that is copied to the clipboard only.)
 | 
				
			||||||
 | 
					  [TD_SNAGIT] = ACTION_TAP_DANCE_DOUBLE(LCTL(LSFT(KC_C)), LCTL(LGUI(LSFT(KC_4)))),
 | 
				
			||||||
 | 
					  [CT_LBP] = ACTION_TAP_DANCE_DOUBLE (KC_LBRC, KC_LPRN),
 | 
				
			||||||
 | 
					  [CT_RBP] = ACTION_TAP_DANCE_DOUBLE (KC_RBRC, KC_RPRN)
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap 0: Basic layer
 | 
				
			||||||
 | 
					  * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					  * |   =    |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |           |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |   -    |
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * | Tab    |   Q  |   W  |   E  |   R  |   T  | "> " |           | []() |   Y  |   U  |   I  |   O  |   P  |   \    |
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+------|      |           | SCRN |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * | Hyper  |   A  |S /CMD|D/OPT | F /MD|   G  |------|           |------|   H  |   J  |K/OPT |L /CMD| ; /L2| '/Hyper|
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+------|   (  |           |   )  |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * |Shft Tab|Z/Ctrl|X/Alt |   C  |   V  |   B  | [  { |           | ]  } |   N  |   M  |   ,  | ./Alt|//Ctrl|CMD+SHFT|
 | 
				
			||||||
 | 
					  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					  *   |  `   |Zendsk|RBMINE|CMD+S | ToDo |                                       |   _  |      |  00  |  00  |OLD BASE|
 | 
				
			||||||
 | 
					  *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					  *                                        ,-------------.       ,--------------.
 | 
				
			||||||
 | 
					  *                                        | Esc  | Home |       |Layer?| Esc   |
 | 
				
			||||||
 | 
					  *                                 ,------|------|------|       |------+-------+------.
 | 
				
			||||||
 | 
					  *                                 |      |      | End  |       | Undo |       |      |
 | 
				
			||||||
 | 
					  *                                 |Shift |Backsp|------|       |------| Return|Space/|
 | 
				
			||||||
 | 
					  *                                 | OSM  | /NUM | DEL  |       | Ctrl | /SYML |Arrows|
 | 
				
			||||||
 | 
					  *                                 `--------------------'       `---------------------'
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					  *Copy/Cut key copies on tap, cut's on two taps.
 | 
				
			||||||
 | 
					  *
 | 
				
			||||||
 | 
					  *One tap on Snagit key = is Ctrl + Shift + C which is Snagit's selector.
 | 
				
			||||||
 | 
					  *Two taps on Snagit key = Cmd + Shift + Opt + 4 (OS X cropping screenshot that is copied to the clipboard only.)
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [BASE] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					    //left hand
 | 
				
			||||||
 | 
					    KC_EQUAL,           KC_F1,    KC_F2,       KC_F3,       KC_F4,      KC_F5,    KC_F6,
 | 
				
			||||||
 | 
					    KC_TAB,             KC_Q,     KC_W,        KC_E,        KC_R,       KC_T,     M_GREATER,
 | 
				
			||||||
 | 
					    OSM(MOD_HYPR),      KC_A,  S_CMD_S,    ALT_T(KC_D), LT(MKDWN,KC_F), KC_G,
 | 
				
			||||||
 | 
					    LSFT(KC_TAB), CTL_T(KC_Z), ALT_T(KC_X),    KC_C,        KC_V,       KC_B,     TD(CT_LBP),
 | 
				
			||||||
 | 
					               KC_GRAVE, ZENDESK, RUBYMINE,   LGUI(KC_S),   TODO,
 | 
				
			||||||
 | 
					                                                          KC_ESCAPE,    KC_HOME,
 | 
				
			||||||
 | 
					                                                                        KC_END,
 | 
				
			||||||
 | 
					                                  OSM(MOD_LSFT), LT(NUM,KC_BSPACE),     LT(MKDWN,KC_DELETE),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //right hand
 | 
				
			||||||
 | 
					    KC_F7,           KC_F8,     KC_F9,    KC_F10,   KC_F11,        KC_F12,           KC_MINUS,
 | 
				
			||||||
 | 
					    MD_LINK,          KC_Y,     KC_U,     KC_I,     KC_O,          KC_P,             KC_BSLASH,
 | 
				
			||||||
 | 
					                      KC_H,     KC_J, ALT_T(KC_K),  LGUI_T(KC_L),  LT(MEDIA,KC_SCOLON),  ALL_T(KC_QUOTE),
 | 
				
			||||||
 | 
					    TD(CT_RBP),       KC_N,     KC_M,     KC_COMMA, ALT_T(KC_DOT), CTL_T(KC_SLASH),  SCMD_T(_______),
 | 
				
			||||||
 | 
					                LSFT(KC_MINUS), _______,  DBLE_ZER0, DBLE_ZER0,   TO(OLD_BASE),
 | 
				
			||||||
 | 
					    L_ID_0,         KC_ESCAPE,
 | 
				
			||||||
 | 
					    LGUI(KC_Z),
 | 
				
			||||||
 | 
					    LT(MEDIA,KC_LCTL),  LT(SYMBL,KC_ENTER),  LT(ARROWS,KC_SPACE)),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Keymap 1: OLD Base layer
 | 
				
			||||||
 | 
					    * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					    * |   =    |   1  |   2  |   3  |   4  |   5  | []() |           |Snagit|   6  |   7  |   8  |   9  |   0  |   -    |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * | Tab    |   Q  |   W  |   E  |   R  |   T  | "> " |           | []() |   Y  |   U  |   I  |   O  |   P  |   \    |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|      |           | SCRN |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * | Hyper  |   A  |S /CMD|   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |L /CMD| ; /L2| '/Hyper|
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|   (  |           |   )  |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |Shft Tab|Z/Ctrl|X/Alt |   C  |   V  |   B  | [  { |           | ]  } |   N  |   M  |   ,  | ./Alt|//Ctrl|CMD+SHFT|
 | 
				
			||||||
 | 
					    * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					    *   |  `   |Zendsk|RBMINE|CMD+S | ToDo |                                       |   _  |      |  00  |  00  |ToBase|
 | 
				
			||||||
 | 
					    *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					    *                                        ,-------------.       ,--------------.
 | 
				
			||||||
 | 
					    *                                        | Esc  | Home |       |Layer?| Esc   |
 | 
				
			||||||
 | 
					    *                                 ,------|------|------|       |------+-------+------.
 | 
				
			||||||
 | 
					    *                                 |      |      | End  |       | Undo |       |      |
 | 
				
			||||||
 | 
					    *                                 |Shift |Backsp|------|       |------| Return|Space/|
 | 
				
			||||||
 | 
					    *                                 | OSM  | /L5  | DEL  |       | Ctrl | /LT1  |Arrows|
 | 
				
			||||||
 | 
					    *                                 `--------------------'       `---------------------'
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    *Copy/Cut key copies on tap, cut's on two taps.
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    *One tap on Snagit key = is Ctrl + Shift + C which is Snagit's selector.
 | 
				
			||||||
 | 
					    *Two taps on Snagit key = Cmd + Shift + Opt + 4 (OS X cropping screenshot that is copied to the clipboard only.)
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [OLD_BASE] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					      //left hand
 | 
				
			||||||
 | 
					      KC_EQUAL,           KC_1,     KC_2,    KC_3,        KC_4,     KC_5,     M_LINK,
 | 
				
			||||||
 | 
					      KC_TAB,             KC_Q,     KC_W,    KC_E,        KC_R,     KC_T,     M_GREATER,
 | 
				
			||||||
 | 
					      OSM(MOD_HYPR),      KC_A,  S_CMD_S, D_CMD_OPT, LT(MKDWN,KC_F),KC_G,
 | 
				
			||||||
 | 
					      LSFT(KC_TAB), CTL_T(KC_Z), ALT_T(KC_X),  KC_C,      KC_V,     KC_B,     TD(CT_LBP),
 | 
				
			||||||
 | 
					                 KC_GRAVE, ZENDESK, RUBYMINE, LGUI(KC_S), TODO,
 | 
				
			||||||
 | 
					                                                          KC_ESCAPE, KC_HOME,
 | 
				
			||||||
 | 
					                                                                     KC_END,
 | 
				
			||||||
 | 
					                                    OSM(MOD_LSFT), LT(NUM,KC_BSPACE),  LT(MKDWN,KC_DELETE),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      //right hand
 | 
				
			||||||
 | 
					      TD(TD_SNAGIT),    KC_6,     KC_7,     KC_8,     KC_9,          KC_0,             KC_MINUS,
 | 
				
			||||||
 | 
					      MD_LINK,          KC_Y,     KC_U,     KC_I,     KC_O,          KC_P,             KC_BSLASH,
 | 
				
			||||||
 | 
					                        KC_H,     KC_J,     KC_K,     LGUI_T(KC_L),  LT(MEDIA,KC_SCOLON),  ALL_T(KC_QUOTE),
 | 
				
			||||||
 | 
					      TD(CT_RBP),       KC_N,     KC_M,     KC_COMMA, ALT_T(KC_DOT), CTL_T(KC_SLASH),  SCMD_T(_______),
 | 
				
			||||||
 | 
					                  LSFT(KC_MINUS), _______,  DBLE_ZER0, DBLE_ZER0,   TO(BASE),
 | 
				
			||||||
 | 
					      L_ID_0,         KC_ESCAPE,
 | 
				
			||||||
 | 
					      LGUI(KC_Z),
 | 
				
			||||||
 | 
					      LT(MEDIA,KC_LCTL),  LT(SYMBL,KC_ENTER),  LT(ARROWS,KC_SPACE)),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Keymap 2: Symbol
 | 
				
			||||||
 | 
					     * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					     * |        |  1   |   2  |   3  |   4  |   5  | []() |           |Snagit|   6  |  7   |  8   |   9  |   0  |   -    |
 | 
				
			||||||
 | 
					     * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					     * |        |      |   $  |   &  |   `  |   |  | Cmd  |           |      |      |      |   *  |      |      |        |
 | 
				
			||||||
 | 
					     * |--------+------+------+------+------+------| + K  |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					     * |        |   #  |   $  |   &  |   !  |   @  |------|           |------|   -  |   [  |   ]  |   (  |   )  |        |
 | 
				
			||||||
 | 
					     * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					     * |        |   %  |   ^  |      |      |   ~  |      |           |      |      |      |      |      |      |        |
 | 
				
			||||||
 | 
					     * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					     *   |      |      |      |      |      |                                       |      |      |      |      |      |
 | 
				
			||||||
 | 
					     *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					     *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					     *                                        |      |      |       |Layer?|      |
 | 
				
			||||||
 | 
					     *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					     *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					     *                                 |      |      |------|       |------|      |      |
 | 
				
			||||||
 | 
					     *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					     *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    // SYMBOLS
 | 
				
			||||||
 | 
					  [SYMBL] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					    //left hand
 | 
				
			||||||
 | 
					    _______,          KC_1,        KC_2,           KC_3,         KC_4,        KC_5,      M_LINK,
 | 
				
			||||||
 | 
					    _______,        _______,     KC_DLR,        KC_AMPR,     KC_GRAVE,     KC_PIPE,  LGUI(KC_K),
 | 
				
			||||||
 | 
					    _______,        KC_HASH,     KC_DLR,        KC_AMPR,      KC_EXLM,       KC_AT,
 | 
				
			||||||
 | 
					    _______,        KC_PERC,     KC_CIRC,       _______,      _______,     KC_TILD,     _______,
 | 
				
			||||||
 | 
					                    _______,     _______,       _______,      _______,     _______,
 | 
				
			||||||
 | 
					                                                                                        _______,   _______,
 | 
				
			||||||
 | 
					                                                                                                   _______,
 | 
				
			||||||
 | 
					                                                                           _______,     _______,   _______,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //right hand
 | 
				
			||||||
 | 
					   TD(TD_SNAGIT),    KC_6,        KC_7,         KC_8,         KC_9,        KC_0,   KC_MINUS,
 | 
				
			||||||
 | 
					    _______,      _______,     _______,      KC_PAST,      _______,     _______,    _______,
 | 
				
			||||||
 | 
					                  KC_MINUS,    KC_LBRC,      KC_RBRC,      KC_LPRN,     KC_RPRN,    _______,
 | 
				
			||||||
 | 
					    _______,      _______,     _______,      _______,      _______,     _______,    _______,
 | 
				
			||||||
 | 
					                  _______,     _______,      _______,      _______,     _______,
 | 
				
			||||||
 | 
					    L_ID_1,       _______,
 | 
				
			||||||
 | 
					    _______,
 | 
				
			||||||
 | 
					    _______,      _______,     _______),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap 3: Media and mouse keys
 | 
				
			||||||
 | 
					   * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					   * |        |      |      |      |      |      |      |           | XKCD |      |      |      |      |      |  F15   |
 | 
				
			||||||
 | 
					   * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					   * |        |      |Whl Up| MsUp |Whl Dn|      |      |           |      |      |      |      |      |      |  F14   |
 | 
				
			||||||
 | 
					   * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					   * |        |Ctl L |MsLeft|MsDown|MsRght| Ctl R|------|           |------|      | Mute | VolDn| VolUp| TL 2 |  Play  |
 | 
				
			||||||
 | 
					   * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					   * |        |      |WHL L |      |Whl R |      |      |           |      |      |      | Prev | Next |      |        |
 | 
				
			||||||
 | 
					   * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					   *   |      |      |      |      |      |                                       | Mute |      |      |      |      |
 | 
				
			||||||
 | 
					   *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					   *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					   *                                        |      |      |       |LAYER?|      |
 | 
				
			||||||
 | 
					   *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					   *                                 | Left |Right |      |       |      |Copy/ | paste|
 | 
				
			||||||
 | 
					   *                                 | Click|Click |------|       |------| cut  |/paste|
 | 
				
			||||||
 | 
					   *                                 |      |      |      |       |      |      |spcial|
 | 
				
			||||||
 | 
					   *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  // MEDIA AND MOUSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [MEDIA] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					    //left hand
 | 
				
			||||||
 | 
					    _______,    _______,         _______,         _______,         _______,         _______,         _______,
 | 
				
			||||||
 | 
					    _______,    _______,         KC_MS_WH_UP,     KC_MS_UP,        KC_MS_WH_DOWN,   _______,         _______,
 | 
				
			||||||
 | 
					    _______,    LCTL(KC_LEFT),   KC_MS_LEFT,      KC_MS_DOWN,      KC_MS_RIGHT,     RCTL(KC_RIGHT),
 | 
				
			||||||
 | 
					    XXXXXXX,    _______,         KC_MS_WH_LEFT,   _______,         KC_MS_WH_RIGHT,  _______,         _______,
 | 
				
			||||||
 | 
					                _______,         _______,         _______,         _______,         _______,
 | 
				
			||||||
 | 
					                                                                                    _______,         _______,
 | 
				
			||||||
 | 
					                                                                                                     _______,
 | 
				
			||||||
 | 
					                                                                   KC_MS_BTN1,      KC_MS_BTN2,      _______,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //right hand
 | 
				
			||||||
 | 
					    XKCD,       _______,       _______,         _______,         _______,    _______,    KC_F15,
 | 
				
			||||||
 | 
					    _______,    _______,       _______,         _______,         _______,    _______,    KC_F14,
 | 
				
			||||||
 | 
					                _______, KC_AUDIO_MUTE,     KC_AUDIO_VOL_DOWN,       KC_AUDIO_VOL_UP,    _______,    KC_MEDIA_PLAY_PAUSE,
 | 
				
			||||||
 | 
					   _______,     _______,       _______,   KC_MEDIA_PREV_TRACK,   KC_MEDIA_NEXT_TRACK,    _______,    XXXXXXX,
 | 
				
			||||||
 | 
					                               _______,         _______,         _______,    _______,    _______,
 | 
				
			||||||
 | 
					    L_ID_2,     _______,
 | 
				
			||||||
 | 
					    _______,
 | 
				
			||||||
 | 
					    _______,    TD(TD_COPY_CUT),    PAST_PS),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap 4: Markdown Symbols
 | 
				
			||||||
 | 
					  * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					  * |        |      |      |      |      |      |      |           |SCRNCL|      |      |      |      |      |        |
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * |        |      |      |      |      |      |      |           |      |      |  ``` |  **  |   _  |  `   |        |
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * |        |      |      |      | TL MD|      |------|           |------|   -  |   [  |   ]  |   (  |   )  |        |
 | 
				
			||||||
 | 
					  * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					  * |        |      |      |      |      |      |      |           |      |   #  |  ##  |  ### | #### | #####|        |
 | 
				
			||||||
 | 
					  * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					  *   |      |      |      |      |      |                                       |      |      |      |      |      |
 | 
				
			||||||
 | 
					  *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					  *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					  *                                        |      |      |       |Layer?|      |
 | 
				
			||||||
 | 
					  *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					  *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					  *                                 |      |      |------|       |------|      |      |
 | 
				
			||||||
 | 
					  *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					  *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					  * Sc cp = OS X cropping screenshot that is copied to the clipboard only.
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					  // Markdown  Layer
 | 
				
			||||||
 | 
					  [MKDWN] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					    //left hand
 | 
				
			||||||
 | 
					    _______,       _______,       _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					    _______,       _______,       _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					    _______,       _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					    _______,       _______,       _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					                   _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					                                                                               _______,       _______,
 | 
				
			||||||
 | 
					                                                                                              _______,
 | 
				
			||||||
 | 
					                                                _______,     _______, _______,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   //right hand
 | 
				
			||||||
 | 
					   SCRN_CLIPB,       _______,       _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					   _______,          _______,   TRPLE_GRAVE,     DBLE_ASTR,LSFT(KC_MINUS),      KC_GRAVE,       _______,
 | 
				
			||||||
 | 
					                    KC_MINUS,       KC_LBRC,       KC_RBRC,       KC_LPRN,       KC_RPRN,       _______,
 | 
				
			||||||
 | 
					   _______,            H_ONE,         H_TWO,       H_THREE,        H_FOUR,        H_FIVE,       _______,
 | 
				
			||||||
 | 
					                     _______,       _______,       _______,       _______,       _______,
 | 
				
			||||||
 | 
					   _______,          _______,
 | 
				
			||||||
 | 
					   _______,
 | 
				
			||||||
 | 
					   _______,          _______,       _______),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   /* Keymap 5: Arrows
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					    * |  RESET |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |      | Opt+L|  Up  |Opt+R |      |      |           |      |      | Opt+L|  Up  |Opt+R |      |        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |Ctrl+L| Left |  Dn  | Right|Ctrl+R|------|           |------|Ctrl+L| Left |  Dn  | Right|Ctrl+R|        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
 | 
				
			||||||
 | 
					    * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					    *   |      |      |      |      |      |                                       |         |      |   |      |      |
 | 
				
			||||||
 | 
					    *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					    *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					    *                                        |      |      |       |      |      |
 | 
				
			||||||
 | 
					    *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					    *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					    *                                 |      |      |------|       |------|      |      |
 | 
				
			||||||
 | 
					    *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					    *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    *
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					   // Movement  Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  [ARROWS] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					  //left hand
 | 
				
			||||||
 | 
					    RESET,       _______,       _______,       _______,        _______,         _______,       _______,
 | 
				
			||||||
 | 
					    _______,     _______,        CHRM_L,       KC_UP,           CHRM_R,         _______,       _______,
 | 
				
			||||||
 | 
					    _______,LCTL(KC_LEFT),      KC_LEFT,       KC_DOWN,       KC_RIGHT,    LCTL(KC_RIGHT),
 | 
				
			||||||
 | 
					    _______,    _______,       _______,       _______,        _______,         _______,       _______,
 | 
				
			||||||
 | 
					                 _______,       _______,       _______,        _______,         _______,
 | 
				
			||||||
 | 
					                                                                                _______,       _______,
 | 
				
			||||||
 | 
					                                                                                               _______,
 | 
				
			||||||
 | 
					                                                               _______,         _______,       _______,
 | 
				
			||||||
 | 
					  //right hand
 | 
				
			||||||
 | 
					    _______,     _______,       _______,       _______,        _______,         _______,       _______,
 | 
				
			||||||
 | 
					    _______,     _______,        CHRM_L,         KC_UP,         CHRM_R,         _______,       _______,
 | 
				
			||||||
 | 
					           LCTL(KC_LEFT),       KC_LEFT,       KC_DOWN,       LGUI_T(KC_RIGHT),  LCTL(KC_RIGHT),       _______,
 | 
				
			||||||
 | 
					    _______,     _______,       _______,       _______,        _______,         _______,       _______,
 | 
				
			||||||
 | 
					                 _______,       _______,       _______,        _______,         _______,
 | 
				
			||||||
 | 
					    _______,     _______,
 | 
				
			||||||
 | 
					    _______,
 | 
				
			||||||
 | 
					    _______,     _______,       _______),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Keymap 6: Numpad
 | 
				
			||||||
 | 
					    * ,--------------------------------------------------.           ,--------------------------------------------------.
 | 
				
			||||||
 | 
					    * |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |      |      |      |      |      |      |           |      |   =  |   7  |   8  |   9  |   *  |        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |      |      |Cp/Cut|paste |      |------|           |------|   +  |   4  |   5  |   6  |   +  |        |
 | 
				
			||||||
 | 
					    * |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
 | 
				
			||||||
 | 
					    * |        |      |      |      |      |      |      |           |      |   -  |   1  |   2  |   3  |   /  |        |
 | 
				
			||||||
 | 
					    * `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
 | 
				
			||||||
 | 
					    *   |      |      |      |      |      |                                       |   0  |   .  |  00  |  00  | Enter|
 | 
				
			||||||
 | 
					    *   `----------------------------------'                                       `----------------------------------'
 | 
				
			||||||
 | 
					    *                                        ,-------------.       ,-------------.
 | 
				
			||||||
 | 
					    *                                        |      |      |       |      |      |
 | 
				
			||||||
 | 
					    *                                 ,------|------|------|       |------+------+------.
 | 
				
			||||||
 | 
					    *                                 |      |      |      |       |      |Nupmad|      |
 | 
				
			||||||
 | 
					    *                                 |      |      |------|       |------|Enter |      |
 | 
				
			||||||
 | 
					    *                                 |      |      |      |       |      |      |      |
 | 
				
			||||||
 | 
					    *                                 `--------------------'       `--------------------'
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					    // Numpad  Layer
 | 
				
			||||||
 | 
					    [NUM] = LAYOUT_ergodox(
 | 
				
			||||||
 | 
					      //left hand
 | 
				
			||||||
 | 
					      _______,        _______,     _______,     _______,        _______,        _______,    _______,
 | 
				
			||||||
 | 
					      _______,        _______,     _______,     _______,        _______,        _______,    _______,
 | 
				
			||||||
 | 
					      _______,        _______,     _______,   TD(TD_COPY_CUT),  PAST_PS,        _______,
 | 
				
			||||||
 | 
					      _______,        _______,     _______,     _______,        _______,        _______,    _______,
 | 
				
			||||||
 | 
					                      _______,     _______,     _______,        _______,        _______,
 | 
				
			||||||
 | 
					                                                                                            _______,    _______,
 | 
				
			||||||
 | 
					                                                                                                        _______,
 | 
				
			||||||
 | 
					                                                                            _______,        _______,    _______,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      //right hand
 | 
				
			||||||
 | 
					      _______,      _______,      _______,       _______,     _______,     _______,        _______,
 | 
				
			||||||
 | 
					      _______,     KC_EQUAL,      KC_7,          KC_8,        KC_9,        KC_ASTR,        _______,
 | 
				
			||||||
 | 
					                    KC_PLUS,      KC_4,          KC_5,        KC_6,        KC_PLUS,        _______,
 | 
				
			||||||
 | 
					      _______,     KC_MINUS,      KC_1,          KC_2,        KC_3,        KC_KP_SLASH,    _______,
 | 
				
			||||||
 | 
					                    KC_KP_0,      KC_DOT,        DBLE_ZER0,   DBLE_ZER0,   KC_KP_ENTER,
 | 
				
			||||||
 | 
					      _______,      _______,
 | 
				
			||||||
 | 
					      _______,
 | 
				
			||||||
 | 
					      _______,      KC_PENT,      _______),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  switch (keycode) {
 | 
				
			||||||
 | 
					    case EPRM:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        eeconfig_init();
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case VRSN:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      return false;
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case MD_LINK:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        key_timer = timer_read();
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if (timer_elapsed(key_timer) > 150) {
 | 
				
			||||||
 | 
					          SEND_STRING ("([Video](");
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          SEND_STRING ("([Screenshot](");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        SEND_STRING(SS_LGUI("v"));
 | 
				
			||||||
 | 
					        SEND_STRING("))");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case XKCD:
 | 
				
			||||||
 | 
					        if (record->event.pressed) {
 | 
				
			||||||
 | 
					        SEND_STRING ("https://xkcd.com/1319/");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case DBLE_ZER0:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("00");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case DBLE_ASTR:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("**");
 | 
				
			||||||
 | 
					        SEND_STRING ("**");
 | 
				
			||||||
 | 
					        SEND_STRING (SS_TAP(X_LEFT));
 | 
				
			||||||
 | 
					        SEND_STRING (SS_TAP(X_LEFT));
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case TRPLE_GRAVE:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("```");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case L_ID_0:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					        SEND_STRING ("Layer 0: Base");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case L_ID_1:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					        SEND_STRING ("Layer 1: Symbols");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case L_ID_2:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					        SEND_STRING ("Layer 2: Media & Mousekeys");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case PAST_PS:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        key_timer = timer_read();
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if (timer_elapsed(key_timer) > 150) {
 | 
				
			||||||
 | 
					          SEND_STRING (SS_LGUI("V")); // Paste special
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          SEND_STRING (SS_LGUI("v")); // Paste
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case TODO:
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        key_timer = timer_read();
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if (timer_elapsed(key_timer) > 150) { //switch to Todoist when held and released
 | 
				
			||||||
 | 
					          SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					          SEND_STRING ("Todoist");
 | 
				
			||||||
 | 
					          SEND_STRING (SS_TAP(X_ENTER));
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          SEND_STRING (SS_LGUI(SS_LCTRL("a"))); //macro to open Todoist new task dialog
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case RUBYMINE:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					        SEND_STRING ("RUBYMINE");
 | 
				
			||||||
 | 
					        SEND_STRING (SS_TAP(X_ENTER));
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case ZENDESK:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING (SS_LGUI(" "));
 | 
				
			||||||
 | 
					        SEND_STRING ("||ZEN");
 | 
				
			||||||
 | 
					        SEND_STRING (SS_TAP(X_ENTER));
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case H_ONE:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("# ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case H_TWO:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("## ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case H_THREE:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("### ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case H_FOUR:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("#### ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    case H_FIVE:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					        SEND_STRING ("##### ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case M_LINK:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					          SEND_STRING ("[]()");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					    case M_GREATER:
 | 
				
			||||||
 | 
					      if (record->event.pressed){
 | 
				
			||||||
 | 
					          SEND_STRING ("> ");
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  return true;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					  uint8_t layer = biton32(layer_state);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ergodox_board_led_off();
 | 
				
			||||||
 | 
					  ergodox_right_led_1_off();
 | 
				
			||||||
 | 
					  ergodox_right_led_2_off();
 | 
				
			||||||
 | 
					  ergodox_right_led_3_off();
 | 
				
			||||||
 | 
					  switch (layer) {
 | 
				
			||||||
 | 
					    case 1:
 | 
				
			||||||
 | 
					      ergodox_right_led_1_on();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case 2:
 | 
				
			||||||
 | 
					      ergodox_right_led_2_on();
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										3
									
								
								layouts/community/ergodox/meagerfindings/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								layouts/community/ergodox/meagerfindings/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					COMMAND_ENABLE = no
 | 
				
			||||||
 | 
					TAP_DANCE_ENABLE = yes
 | 
				
			||||||
 | 
					FORCE_NKRO = yes
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue