]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
The Ordinary Layout is the unsurprising layout
authorNicholas Keene <git@nicholaskeene.com>
Sat, 13 Aug 2016 20:53:03 +0000 (15:53 -0500)
committerNicholas Keene <git@nicholaskeene.com>
Sat, 13 Aug 2016 20:53:03 +0000 (15:53 -0500)
keyboards/ergodox/keymaps/ordinary/keymap.c
keyboards/ergodox/keymaps/ordinary/ordinary-base.png
keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
keyboards/ergodox/keymaps/ordinary/ordinary-media.png
keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
keyboards/ergodox/keymaps/ordinary/ordinary-special.png
keyboards/ergodox/keymaps/ordinary/ordinary-special.txt
keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
keyboards/ergodox/keymaps/ordinary/readme.md

index bf0574ea2cabc7dbdc2c8c463d541af0e034a911..eda45b7cb30345a11325ba99eb18e071da96a80e 100644 (file)
@@ -1,23 +1,20 @@
-#include "ergodox.h"
+#include "ergodox_ez.h"
 #include "led.h"
 #include "debug.h"
 #include "action_layer.h"
 #include "action_util.h"
-#include "mousekey.h"
 
 #define BASE   0 // default layer
 #define SYMB   1 // symbols layer
 #define MDIA   2 // media layer
 #define SPEC   3 // special layer
 
-#define LCaps 10 // left caps-shift key
-#define LSymb 11 // left symbol-shift key
-#define LMdia 12 // left media-shift key
-#define LSpec 13 // left special-shift key
-#define RCaps 14 // right caps-shift key
-#define RSymb 15 // right symbol-shift key
-#define RMdia 16 // right media-shift key
-#define RSpec 17 // right special-shift key
+#define LSymb 10 // left symbol-shift key
+#define LMdia 11 // left media-shift key
+#define LSpec 12 // left special-shift key
+#define RSymb 13 // right symbol-shift key
+#define RMdia 14 // right media-shift key
+#define RSpec 15 // right special-shift key
 
 #define MUL   20 // mouse up left
 #define MUR   21 // mouse up right
 #define MDR   23 // mouse down right
 
 /*
- * The Ordinary Layout for the Ergodox EZ keyboard, v4
- * 
+ * The Ordinary Layout for the Ergodox EZ keyboard, v4.20
+ *
  * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
  *
  * No rights reserved. This software is in the public domain.
  * Credit me if you are friendly but if you're a jerk don't bother.
- * 
+ * If you use or modify this layout I would love to hear from you.
+ *
  * Details: readme.md
  *          https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary
  */
@@ -61,10 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  */
 [BASE] = KEYMAP(
 // left hand
- F(LSpec),KC_1,KC_2,KC_3   ,KC_4  ,KC_5  ,KC_ESC
+ F(LSpec)  ,KC_1   ,KC_2   ,KC_3   ,KC_4  ,KC_5  ,KC_ESC
 ,F(LMdia)  ,KC_Q   ,KC_W   ,KC_E   ,KC_R  ,KC_T  ,KC_LBRC
 ,M(LSymb)  ,KC_A   ,KC_S   ,KC_D   ,KC_F  ,KC_G
-,M(LCaps)  ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
+,KC_LSFT   ,KC_Z   ,KC_X   ,KC_C   ,KC_V  ,KC_B  ,LSFT(KC_TAB)
 ,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI
                                          ,KC_HOME,KC_END
                                                  ,KC_PGUP
@@ -73,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                                      ,KC_MINS ,KC_6   ,KC_7   ,KC_8   ,KC_9    ,KC_0     ,F(RSpec)
                                                                      ,KC_RBRC ,KC_Y   ,KC_U   ,KC_I   ,KC_O    ,KC_P     ,F(RMdia)
                                                                               ,KC_H   ,KC_J   ,KC_K   ,KC_L    ,KC_SCLN  ,F(RSymb)
-                                                                     ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,M(RCaps)
+                                                                     ,KC_TAB  ,KC_N   ,KC_M   ,KC_COMM,KC_DOT  ,KC_SLSH  ,KC_RSFT
                                                                                       ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH   ,KC_RCTL
                                                                      ,KC_LEFT ,KC_RGHT
                                                                      ,KC_UP
@@ -91,8 +89,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  * |-----------+------+------+------+------+------| Tab  |           | Shift|------+------+------+------+------+-----------|
  * |           |   %  |   ^  |   [  |   ]  |   ~  |      |           |  -Tab|   \  |   1  |   2  |   3  |   -  |           |
  * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent|
- *     `-----------------------------------'                                       `-------------------------------------'
+ *     | LCtrl | Meh  |Hyper | LAlt | LGui |                                       |   0  |   .  |   =  |   +  |  Ent  |
+ *     `-----------------------------------'                                       `-----------------------------------'
  *                                         ,-------------.           ,-------------.
  *                                         | Left | Right|           | Home | End  |
  *                                  ,------|------|------|           |------+------+------.
@@ -105,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 // left hand
  KC_TRNS ,KC_F1   ,KC_F2   ,KC_F3   ,KC_F4   ,KC_F5   ,KC_ESC
 ,KC_TRNS ,KC_EXLM ,KC_AT   ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
-,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV 
+,KC_TRNS ,KC_HASH ,KC_DLR  ,KC_LPRN ,KC_RPRN ,KC_GRV
 ,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
 ,KC_LCTL   ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI
                                              ,KC_LEFT ,KC_RGHT
@@ -116,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                                                      ,LSFT(KC_DOT),KC_PIPE ,KC_7  ,KC_8   ,KC_9  ,KC_SLSH ,KC_TRNS
                                                                                   ,KC_SLSH ,KC_4  ,KC_5   ,KC_6  ,KC_ASTR ,KC_TRNS
                                                                      ,LSFT(KC_TAB),KC_BSLS ,KC_1  ,KC_2   ,KC_3  ,KC_MINS ,KC_TRNS
-                                                                                           ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT)
+                                                                                           ,KC_0  ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
                                                                      ,KC_HOME     ,KC_END
                                                                      ,KC_PGUP
                                                                      ,KC_PGDN     ,KC_BSPC ,KC_DEL
@@ -124,24 +122,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /******* Media Layer *******************************************************************************************************
  *
- * ,---------------------------------------------------------------.           ,---------------------------------------------------------------.
- * |      |   F11   |   F12   |   F13   |   F14   |   F15   | Esc  |           |      |   F16   |   F17   |   F18   |   F19   |   F20   |      |
- * |------+---------+---------+---------+---------+----------------|           |------+---------+---------+---------+---------+---------+------|
- * |      |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll|           |Scroll|PrintScrn|   Home  |    Up   |   PgUp  |   Mail  |      |
- * |------+---------+---------+---------+---------+---------|  Up  |           |  Up  |---------+---------+---------+---------+---------+------|
- * |      |  Sleep  |MouseLeft|MouseDown|MouseRght|Volume Dn|------|           |------| Num Lock|   Left  |   Down  |   Right | MyComp  |      |
- * |------+---------+---------+---------+---------+---------|Scroll|           |Scroll|---------+---------+---------+---------+---------+------|
- * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |           | Down |         |   End   |   Down  |   PgDn  |         |      |
- * `------+---------+---------+---------+---------+----------------'           `----------------+---------+---------+---------+---------+------'
- *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                             |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
- *  `---------------------------------------------'                                             `---------------------------------------------'
- *                                                   ,-------------.           ,-------------.
- *                                                   | Stop |Refrsh|           | Prev | Next |
- *                                            ,------|------|------|           |------+------+------.
- *                                            |Brwser|Brwser|Search|           |VolUp |      |      |
- *                                            |Back  | Fwd  |------|           |------| Stop | Play-|
- *                                            |      |      | Home |           |VolDn |      | Pause|
- *                                            `--------------------'           `--------------------'
+ * ,---------------------------------------------------------------.    ,---------------------------------------------------------------.
+ * |      |   F11   |   F12   |   F13   |   F14   |   F15   | Esc  |    |      |   F16   |   F17   |   F18   |   F19   |   F20   |      |
+ * |------+---------+---------+---------+---------+----------------|    |------+---------+---------+---------+---------+---------+------|
+ * |      |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll|    |Scroll|PrintScrn|   Home  |    Up   |   PgUp  |   Mail  |      |
+ * |------+---------+---------+---------+---------+---------|  Up  |    |  Up  |---------+---------+---------+---------+---------+------|
+ * |      |  Sleep  |MouseLeft|MouseDown|MouseRght|Volume Dn|------|    |------| Num Lock|   Left  |   Down  |   Right | MyComp  |      |
+ * |------+---------+---------+---------+---------+---------|Scroll|    |Scroll|---------+---------+---------+---------+---------+------|
+ * |      |         |MouseDnLf|MouseDown|MouseDnRg|  Mute   | Down |    | Down |         |   End   |   Down  |   PgDn  |         |      |
+ * `------+---------+---------+---------+---------+----------------'    `----------------+---------+---------+---------+---------+------'
+ *  |LCtrl|   Meh   |  MClick | LClick  |  R Click|                                      |Cmd/Insrt|Optn/Del | Hyper   |  Meh    |RCtrl|
+ *  `---------------------------------------------'                                      `---------------------------------------------'
+ *                                                   ,-------------.    ,-------------.
+ *                                                   | Stop |Refrsh|    | Prev | Next |
+ *                                            ,------|------|------|    |------+------+------.
+ *                                            |Brwser|Brwser|Search|    |VolUp |      |      |
+ *                                            |Back  | Fwd  |------|    |------| Stop | Play-|
+ *                                            |      |      | Home |    |VolDn |      | Pause|
+ *                                            `--------------------'    `--------------------'
  */
 [MDIA] = KEYMAP(
 // left hand
@@ -166,67 +164,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 /******* Special Layer *****************************************************************************************************
  *
- * ,-----------------------------------------------------.           ,-----------------------------------------------------.
- * |           |  Esc |      |      |      |      |      |           |      |      |      |      |      | Bspc |           |
- * |-----------+------+------+------+------+-------------|           |------+------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |      |           |      |      |      |      |      |      |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |------|           |------|      |      |      |      |      |           |
- * |-----------+------+------+------+------+------|      |           |      |------+------+------+------+------+-----------|
- * |           |      |      |      |      |      |      |           |      |      |      |      |      |      | RShift    |
- * `-----------+------+------+------+------+-------------'           `-------------+------+------+------+------+-----------'
- *      |      |      |      |      |      |                                       |      |      |      |      |      |
- *      `----------------------------------'                                       `----------------------------------'
- *                                         ,-------------.           ,-------------.
- *                                         |      |      |           |      |      |
- *                                  ,------|------|------|           |------+------+------.
- *                                  |      |      |      |           |      |      |      |
- *                                  |      |      |------|           |------|      |      |
- *                                  |      |      |      |           |      |      |      |
- *                                  `--------------------'           `--------------------'
+ * ,-------------------------------------------------------.    ,-------------------------------------------------------.
+ * |             |  Esc |      |      |      |      |      |    |      |      |      |      |   -  | Bspc |             |
+ * |-------------+------+------+------+------+-------------|    |------+------+------+------+------+------+-------------|
+ * | Media Lock  |      |      |      |      |      |      |    |      |      |      |      |  [   |   ]  | Media Lock  |
+ * |-------------+------+------+------+------+------|      |    |      |------+------+------+------+------+-------------|
+ * | Symbol Lock |      |      |      |      |      |------|    |------|      |      |      |      |      | Symbol Lock |
+ * |-------------+------+------+------+------+------|      |    |      |------+------+------+------+------+-------------|
+ * | Caps Lock   |      |      |      |      |      |      |    |      |      |      |      |      |      | Caps Lock   |
+ * `-------------+------+------+------+------+-------------'    `-------------+------+------+------+------+-------------'
+ *      |        |      |      |      |      |                                |      |      |      |      |        |
+ *      `------------------------------------'                                `------------------------------------'
+ *                                         ,-------------.     ,-------------.
+ *                                         |      |      |     |      |      |
+ *                                  ,------|------|------|     |------+------+------.
+ *                                  |      |      |      |     |      |      |      |
+ *                                  |      |      |------|     |------|      |      |
+ *                                  |      |      |      |     |      |      |      |
+ *                                  `--------------------'     `--------------------'
  */
 [SPEC] = KEYMAP(
 // left hand
  KC_TRNS ,KC_ESC  ,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 ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+,KC_CAPS ,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
                                      ,KC_TRNS,KC_TRNS ,KC_TRNS
-                                                                     // right hand
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,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
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT
-                                                                                       ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
-
-                                                                     ,KC_TRNS ,KC_TRNS
-                                                                     ,KC_TRNS
-                                                                     ,KC_TRNS ,KC_TRNS ,KC_TRNS
+                                                             // right hand
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MINS ,KC_BSPC ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LBRC ,KC_RBRC ,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_CAPS
+                                                                               ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS
+                                                             ,KC_TRNS
+                                                             ,KC_TRNS ,KC_TRNS ,KC_TRNS
     )
 };
 
 const uint16_t PROGMEM fn_actions[] = {
      // the faux shift keys are implemented as macro taps
-     [LCaps] = ACTION_MACRO_TAP(LCaps)
-    ,[LSymb] = ACTION_MACRO_TAP(LSymb)
+     [LSymb] = ACTION_MACRO_TAP(LSymb)
     ,[LMdia] = ACTION_MACRO_TAP(LMdia)
     ,[LSpec] = ACTION_MACRO_TAP(LSpec)
-    ,[RCaps] = ACTION_MACRO_TAP(RCaps)
     ,[RSymb] = ACTION_MACRO_TAP(RSymb)
     ,[RMdia] = ACTION_MACRO_TAP(RMdia)
     ,[RSpec] = ACTION_MACRO_TAP(RSpec)
 };
 
-uint16_t caps_shift = 0;
 uint16_t symb_shift = 0;
 uint16_t mdia_shift = 0;
+uint16_t spec_shift = 0;
 
-bool symb_lock = false;
 bool mdia_lock = false;
+bool symb_lock = false;
 
 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 {
@@ -237,50 +231,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         // only because sometimes rapid pressing led to irregular events; this way the states
         // are self healing during use.
 
-        case LCaps: // both caps-shift keys trigger Left Shift
-        case RCaps: // so they don't interfere with the magic combo
-        if (record->event.pressed && !record->tap.count) {
-            if(++caps_shift > 2) caps_shift = 2;
-            if(caps_shift == 2)  {
-                register_code(KC_CAPS);
-                unregister_code(KC_CAPS);
-            } else if(caps_shift == 1) {
-                register_code(KC_LSFT);
-            }
-        } else {
-            if(--caps_shift < 0) caps_shift = 0;
-            if(caps_shift == 0) unregister_code(KC_LSFT);
-        }
-        break;
-
-        case LSymb:
-        if (record->event.pressed) {
-            if(++symb_shift > 2) symb_shift = 2;
-            if(symb_shift == 2)  {
-                symb_lock = !symb_lock;
-            } else if(symb_shift == 1) {
-                layer_on(SYMB);
-            }
-        } else {
-            if(--symb_shift < 0) symb_shift = 0;
-            if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB);
+        case LSymb:                                               //
+        if (record->event.pressed) {                              // when the LSymb button is pressed
+            if(++symb_shift > 2) mdia_shift = 2;                  // increment the symb shift count, max two
+            if(spec_shift) symb_lock = !symb_lock;                // if the Special layer is on, toggle the shift lock
+            layer_on(SYMB);                                       // in any case, turn on the Symbols layer
+        } else {                                                  // when the LSymb button is released
+            if(--symb_shift < 0) symb_shift = 0;                  // decrement the shift count, minimum zero
+            if((!symb_shift) && (!symb_lock)) layer_off(SYMB);    // if both shifts are released and the lock is off, turn off the Symbols layer
         }
         break;
 
         case LMdia:
         if (record->event.pressed) {
-            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+           if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 register_code(KC_TAB);
             } else {
+                if(spec_shift) mdia_lock = !mdia_lock;
                 if(++mdia_shift > 2) mdia_shift = 2;
-                if(mdia_shift == 2)  {
-                    mdia_lock = !mdia_lock;
-                } else if(mdia_shift == 1) {
-                    layer_on(MDIA);
-                }
+                layer_on(MDIA);
             }
         } else {
-            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 unregister_code(KC_TAB);
             } else {
                 if(--mdia_shift < 0) mdia_shift = 0;
@@ -290,35 +262,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
         break;
 
         case LSpec:
-        if (record->event.pressed) {
-            if (record->tap.count && !record->tap.interrupted) {
-                register_code(KC_GRV);
+        if (record->event.pressed) {                                     // when the LSpec button is pressed
+            if(symb_shift) symb_lock == !symb_lock;                      // if another layer button is engaged, then
+            else if(mdia_shift) mdia_lock = !mdia_lock;                  // lock that layer, be it caps or symb or mdia
+            else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
+                register_code(KC_GRV);                                   // otherwise, if it's an uninterrupted tap, emit a char
             } else {
-                layer_on(SPEC);
+                if(++spec_shift > 2) spec_shift = 2;
+                layer_on(SPEC);                                          // otherwise, turn on the Special layer
             }
         } else {
-            if(record->tap.count && !record->tap.interrupted) {
+            if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 unregister_code(KC_GRV);
             } else {
-                layer_off(SPEC);
+                if(--spec_shift < 0) spec_shift = 0;
+                if(!spec_shift) layer_off(SPEC);
             }
         }
         break;
 
         case RSymb:
         if (record->event.pressed) {
-            if (record->tap.count && (!symb_shift) && (!symb_lock)) {
+            if (record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
                 register_code(KC_QUOT);
             } else {
                 if(++symb_shift > 2) symb_shift = 2;
-                if(symb_shift == 2)  {
-                    symb_lock = !symb_lock;
-                } else if(symb_shift == 1) {
-                    layer_on(SYMB);
-                }
+                if(spec_shift) symb_lock = !symb_lock;
+                layer_on(SYMB);
             }
         } else {
-            if(record->tap.count && symb_shift == 0) {
+            if(record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) {
                 unregister_code(KC_QUOT);
             } else {
                 if(--symb_shift < 0) symb_shift = 0;
@@ -329,18 +302,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case RMdia:
         if (record->event.pressed) {
-            if (record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 register_code(KC_BSLS);
             } else {
                 if(++mdia_shift > 2) mdia_shift = 2;
-                if(mdia_shift == 2)  {
-                    mdia_lock = !mdia_lock;
-                } else if(mdia_shift == 1) {
-                    layer_on(MDIA);
-                }
+                if(spec_shift) mdia_lock = !mdia_lock;
+                layer_on(MDIA);
             }
         } else {
-            if(record->tap.count && (!mdia_shift) && (!mdia_lock)) {
+            if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) {
                 unregister_code(KC_BSLS);
             } else {
                 if(--mdia_shift < 0) mdia_shift = 0;
@@ -351,16 +321,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 
         case RSpec:
         if (record->event.pressed) {
-            if (record->tap.count && !record->tap.interrupted) {
+            if(symb_shift) symb_lock = !symb_lock;
+            else if(mdia_shift) mdia_lock = !mdia_lock;
+            else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 register_code(KC_EQL);
             } else {
+                if(++spec_shift > 2) spec_shift = 2;
                 layer_on(SPEC);
             }
         } else {
-            if(record->tap.count && !record->tap.interrupted) {
+            if(record->tap.count && !record->tap.interrupted && (!spec_shift)) {
                 unregister_code(KC_EQL);
             } else {
-                layer_off(SPEC);
+                if(--spec_shift < 0) spec_shift = 0;
+                if(!spec_shift) layer_off(SPEC);
             }
         }
         break;
@@ -419,7 +393,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
             // none
             break;
     }
-    
+
     return MACRO_NONE;
 };
 
@@ -431,7 +405,9 @@ void matrix_init_user(void) {
 // Runs constantly in the background, in a loop.
 void matrix_scan_user(void) {
     // shift or caps lock turns on red light
-    if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
+    if((keyboard_report->mods & MOD_BIT(KC_LSFT))
+    || (keyboard_report->mods & MOD_BIT(KC_RSFT))
+    || (host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK))) {
         ergodox_right_led_1_on();
     } else {
         ergodox_right_led_1_off();
@@ -451,4 +427,3 @@ void matrix_scan_user(void) {
         ergodox_right_led_3_off();
     }
 };
-
index 9c561a10aa2b67b19f682c6c9cdfc9eb0be566f6..7f8c1b5c1f5d8f6541f9f903013d86936c7fd2c8 100644 (file)
Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png differ
index 25731ea2e6b449b6bddb0025ba5854700735c927..7763c3d37eabfd7a8f74c3cf1c4e732c3b787c70 100644 (file)
@@ -1,24 +1,24 @@
 [{x:3.5},"#\n3",{x:10.5},"*\n8"],
 [{y:-0.875,x:2.5},"@\n2",{x:1},"$\n4",{x:8.5},"&\n7",{x:1},"(\n9"],
 [{y:-0.875,x:5.5},"%\n5",{c:"#ff4444"},"Esc",{x:4.5,c:"#cccccc"},"_\n\n\n\n\n\n-","^\n6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#2277ff",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
+[{y:-0.875,c:"#c6c600",w:1.5},"Special\n\n~\n\n\n\nShift\n`",{c:"#cccccc"},"!\n1",{x:14.5},")\n0",{c:"#c6c600",w:1.5},"+\n\nSpecial\n\n\n\n=\nShift"],
 [{y:-0.375,x:3.5,c:"#cccccc"},"E",{x:10.5},"I"],
 [{y:-0.875,x:2.5},"W",{x:1},"R",{x:8.5},"U",{x:1},"O"],
 [{y:-0.875,x:5.5},"T",{h:1.5},"{\n\n\n\n\n\n[",{x:4.5,h:1.5},"}\n\n\n\n\n\n]","Y"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc"},"Q",{x:14.5},"P",{c:"#2277ff",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#cccccc"},"D",{x:10.5},"K"],
+[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\nTab\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Q",{x:14.5},"P",{c:"#c6c600",t:"#002299",w:1.5},"|\n\\\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"],
 [{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"],
 [{y:-0.875,x:5.5},"G",{x:6.5},"H"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc"},"A",{x:14.5},":\n;",{c:"#2277ff",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#54d6de",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
+[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A",{x:14.5},":\n;",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
 [{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
 [{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
 [{y:-0.875,x:5.5},"B",{x:6.5},"N"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Z",{x:14.5},"?\n/",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"],
 [{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Home","End"],
 [{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"],
 [{x:2},"Page\n\n\n\n\n\nDown"],
 [{r:-30,rx:13,y:-1,x:-3},"Left","Right"],
index 99e5ed80b14d45f145f8e7e6cca897c65241140c..bb78b7c7a85563c84319c0c0748d3470593c6a56 100644 (file)
Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png differ
index 4eccc9f350eeeafa89edef214429a64daf10683a..e1467b22e1dae0697c744d2e3244c2c9a2c41028 100644 (file)
@@ -1,27 +1,27 @@
 [{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"],
 [{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"],
 [{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
-[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#1e8fff"},"Home",{x:1},"Page\n\n\n\n\n\nUp"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#1e8fff",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#9977ee"},"Print\n\n\n\n\n\nScreen"],
+[{y:-0.875,c:"#000000",t:"#3f68ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#3f68ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
 [{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
-[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
-[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
-[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""],
-[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"],
+[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#c6c600",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#1e8fff",t:"#000000",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"],
+[{y:-0.75,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"],
+[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#1e8fff"},"End",{x:1},"Page\n\n\n\n\n\nDown"],
+[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""],
+[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#1e8fff",fa:[0,0,0,1]},"Delete\n\n\nOption"],
+[{y:-0.875,x:2.5,c:"#0066cc"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#1e8fff"},"Insert\n\n\nCmd",{x:1,c:"#dddd77"},"Hyper"],
 [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
 [{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
 [{x:2},"Home\n\n\nBrowser"],
 [{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
-[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ccbb00",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
-[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"]
+[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#6633ee",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"],
+[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nDown"]
 
index 6eecf447ee42e80c9a4cc3a8ee5fce56e162a8d5..399c5fc754d485585ef5aa2774b3b1525a122444 100644 (file)
Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png differ
index a08827c6de9dc86891e0afb64e64c5c4b559ad8a..6f9d8ef047cf0fe7bdddb7b4ce9f4acfc5d48fa0 100644 (file)
@@ -1,21 +1,21 @@
 [{x:3.5,a:7},"",{x:10.5},""],
-[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
-[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"_\n\n\n\n\n\n-"],
+[{y:-0.875,x:5.5,a:7},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""],
 [{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
 [{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""],
-[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
-[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
-[{y:-0.375,x:3.5},"",{x:10.5},""],
+[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"{\n["],
+[{y:-0.875,x:5.5,a:7},"",{h:1.5},"",{x:4.5,h:1.5},"",""],
+[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.875,x:5.5},"",{x:6.5},""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""],
-[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""],
+[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"],
+[{y:-0.625,x:6.5,c:"#cccccc",a:7,h:1.5},"",{x:4.5,h:1.5},""],
 [{y:-0.75,x:3.5},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.875,x:5.5},"",{x:6.5},""],
-[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"],
-[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""],
+[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"],
+[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""],
 [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""],
 [{y:-0.75,x:0.5},"","",{x:14.5},"",""],
 [{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""],
index e4de64a96f1a4445bedfd0dd9a0330fc08580cd6..48cda5f6b6a895f615a2dd63e4f415863ca88cab 100644 (file)
Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png differ
index e199f5c59f4486d0d7e148d5fa9444bd73cb3c79..5c5bc155aa1aee1656b5406e0b2eaf633b3be80b 100644 (file)
@@ -1,24 +1,24 @@
 [{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"],
 [{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"],
 [{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"],
+[{y:-0.875,c:"#dddd77",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#dddd77",w:1.5},"\n\nShift\n\n\n\n\nLock"],
 [{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"],
+[{y:-0.875,c:"#dddd77",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#dddd77",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"(",{x:10.5,c:"#89b087"},"5"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"],
-[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
-[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
+[{y:-0.875,c:"#000000",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"],
+[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"],
 [{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"],
 [{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
 [{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
-[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
-[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"],
-[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"],
-[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"],
-[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"],
+[{y:-0.875,c:"#dddd77",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#dddd77",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
+[{y:-0.375,x:3.5,c:"#c6c600",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."],
+[{y:-0.875,x:2.5,c:"#c6c600"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="],
+[{y:-0.75,x:0.5,c:"#c6c600"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"],
+[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"],
 [{h:2},"Space",{h:2},"Enter","Up"],
 [{x:2},"Down"],
 [{r:-30,rx:13,y:-1,x:-3},"Home","End"],
index 6465cd79e068b09800f2453b4b76281fedc94e21..21d40477ca9f3cdcb48a10f4dab7b12932c68e0d 100644 (file)
@@ -69,7 +69,7 @@ Alas, the yellow keys have at best spotty success with common software. Good luc
 
 In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active.
 
-Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. If you press both of a pair of shift keys, the layer will lock on until you press both shift keys again. For instance, the widely and rightly loathed Caps Lock is engaged by pressing both Capitals Shift buttons. All the Shift keys work this way.
+Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. Lock the shift keys using the Shift Lock button, which is the same as the Special Shift button. You can press the shift and shift-lock buttons in either order.
 
 Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols.
 
@@ -79,7 +79,7 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact
 
 ### Escape ###
 
-The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, whnich is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape.
+The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, which is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape.
 
 The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers.
 
@@ -87,9 +87,9 @@ The Ordinary layout offers as a consolation prize a Special sequence for Escape:
 
 At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence, using the 0 key, to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times.
 
-### RShift ###
+### Other Characters ###
 
-The Ordinary Layout locks layers by pressing both of a pair of shift keys. This interferes with the QMK firmware magic sequence, which is LShift+RShift. To work around this, both of the Capitals Shift keys produce a *Left Shift* keystroke. If for some reason a person needs *Right Shift* they can find it by pressing a Special Shift key, then the Capitals Shift key on the right side of the keyboard.
+The Escape and Backspace special sequences are so useful why not have a few more? You can find dash under 9, left bracket under o, and right bracket under p. That's pretty much all the characters from the top right corner of the keyboard which moved to make room for the columnar layout.
 
 ****