From 0310eafdcf3fd372f6804f209d42b5baf927eee3 Mon Sep 17 00:00:00 2001
From: mvs <mvs>
Date: Wed, 17 Jan 2018 19:21:31 -0500
Subject: QWERTY based layout with thumb-chording (SHIFT + SPECIAL) and
 programming layer.

---
 keyboards/ergodox_ez/keymaps/saha/keymap.c | 255 +++++++++++++++++++++++++++++
 1 file changed, 255 insertions(+)
 create mode 100644 keyboards/ergodox_ez/keymaps/saha/keymap.c

diff --git a/keyboards/ergodox_ez/keymaps/saha/keymap.c b/keyboards/ergodox_ez/keymaps/saha/keymap.c
new file mode 100644
index 0000000000..4df9e88331
--- /dev/null
+++ b/keyboards/ergodox_ez/keymaps/saha/keymap.c
@@ -0,0 +1,255 @@
+#include QMK_KEYBOARD_H
+
+#include "ergodox_ez.h"
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE   0  // Base layer - QWERTY
+#define SPEC   1  // Special keys favoring programming in c-like languages
+#define NUM    2  // Numeric layer with number row functional keys
+
+#define ___     KC_TRNS
+#define BSLASH  LSFT(KC_SLSH)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    
+    [BASE] = LAYOUT_ergodox(
+
+    // Left side
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/  KC_VOLU, /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/  KC_F11,  /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/  KC_VOLD, /**/   KC_Q,   /**/    KC_W,  /**/   KC_E,   /**/   KC_R,   /**/   KC_T,   /**/  KC_ESC,  /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/  KC_MPLY, /**/   KC_A,   /**/   KC_S,   /**/   KC_D,   /**/   KC_F,   /**/   KC_G,   /*===============*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/  KC_MUTE, /**/   KC_Z,   /**/    KC_X,  /**/   KC_C,   /**/   KC_V,   /**/   KC_B,   /**/  KC_BSPC, /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_RALT, /**/ KC_LCTRL, /**/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /*=======================================================================*/
+
+
+                                                                                               /*==============================*/
+                                                                                               /**/           /**/           /**/
+                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
+                                                                                               /**/           /**/           /**/
+                                                                                /*=============================================*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /**/  KC_LALT, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /*===============*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /*=============================================*/
+
+    // Right side
+        //
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/  KC_F12,  /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/    ___,   /**/   KC_Y,   /**/   KC_U,   /**/   KC_I,   /**/   KC_O,   /**/   KC_P,   /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*===============*/   KC_H,   /**/   KC_J,   /**/   KC_K,   /**/   KC_L,   /**/  KC_SCLN, /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/  KC_ENT,  /**/   KC_N,   /**/   KC_M,   /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_SLSH, /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /**/  MO(NUM), /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /*=======================================================================*/
+
+        /*==============================*/
+        /**/           /**/           /**/
+        /**/    ___,   /**/    ___,   /**/
+        /**/           /**/           /**/
+        /*=============================================*/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /*===============*/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_RSFT, /**/ MO(SPEC)  /**/
+        /**/           /**/           /**/           /**/
+        /*=============================================*/
+    ),
+
+    
+    [SPEC] = LAYOUT_ergodox(
+
+    // Left side
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/    ___,   /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_GRV,  /**/  KC_QUOT, /**/  KC_LCBR, /**/  KC_RCBR, /**/  KC_PLUS, /**/  KC_ESC,  /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_TAB,  /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/ KC_EQUAL, /*===============*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTRL, /**/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /*=======================================================================*/
+
+
+                                                                                               /*==============================*/
+                                                                                               /**/           /**/           /**/
+                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
+                                                                                               /**/           /**/           /**/
+                                                                                /*=============================================*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /**/  KC_LALT, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /*===============*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /*=============================================*/
+
+    // Right side
+        //
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/    ___,   /**/  KC_AMPR, /**/  KC_HOME, /**/   KC_UP,  /**/  KC_END,  /**/  KC_CIRC, /**/   KC_F7,  /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*===============*/  KC_EXLM, /**/  KC_LEFT, /**/  KC_DOWN, /**/ KC_RIGHT, /**/  KC_COLN, /**/   KC_F8,  /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/   KC_LT,  /**/   KC_GT,  /**/  KC_BSLS, /**/   KC_F9,  /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/KC_F10,/**/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /*=======================================================================*/
+
+        /*==============================*/
+        /**/           /**/           /**/
+        /**/    ___,   /**/    ___,   /**/
+        /**/           /**/           /**/
+        /*=============================================*/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /*===============*/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
+        /**/           /**/           /**/           /**/
+        /*=============================================*/
+    ),
+
+    [NUM] = LAYOUT_ergodox(
+
+    // Left side
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/   KC_F1,  /**/   KC_F2,  /**/   KC_F3,  /**/   KC_F4,  /**/   KC_F5,  /**/  KC_F11,  /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/  KC_ESC,  /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /*===============*/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*==========================================================================================*/           /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
+        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+        /*=========================================================================================================*/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTRL, /**/
+            /**/       /**/           /**/           /**/           /**/           /**/
+            /*=======================================================================*/
+
+
+                                                                                               /*==============================*/
+                                                                                               /**/           /**/           /**/
+                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
+                                                                                               /**/           /**/           /**/
+                                                                                /*=============================================*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /**/  KC_LALT, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/           /**/           /*===============*/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTRL, /**/
+                                                                                /**/           /**/           /**/           /**/
+                                                                                /*=============================================*/
+
+    // Right side
+        //
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/  KC_F12,  /**/   KC_F6,  /**/   KC_F7,  /**/   KC_F8,  /**/   KC_F9,  /**/  KC_F10,  /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*===============*/   KC_6,   /**/   KC_7,   /**/   KC_8,   /**/   KC_9,   /**/   KC_0,   /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/           /*==========================================================================================*/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_BSLS, /**/    ___,   /**/
+                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
+                    /*=========================================================================================================*/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
+                                                  /**/           /**/           /**/           /**/           /**/       /**/
+                                                  /*=======================================================================*/
+
+        /*==============================*/
+        /**/           /**/           /**/
+        /**/    ___,   /**/    ___,   /**/
+        /**/           /**/           /**/
+        /*=============================================*/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /*===============*/           /**/           /**/
+        /**/           /**/           /**/           /**/
+        /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
+        /**/           /**/           /**/           /**/
+        /*=============================================*/
+    ),
+
+};
-- 
cgit v1.2.3