aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-02-16 09:49:24 -0500
committerGitHub <noreply@github.com>2017-02-16 09:49:24 -0500
commite34c3936b7db8f9d39f1eb0d0f4734fc37d7ebe3 (patch)
treef11295f871b8cc4eee77c1d233289ae6e93a2569
parent0b76f4f5085b35d94f9efda25fbae6f8b0404ae7 (diff)
parentd99f03a1a60877ac18bfcceb3e9aff3796a4464b (diff)
downloadqmk_firmware-e34c3936b7db8f9d39f1eb0d0f4734fc37d7ebe3.tar.gz
qmk_firmware-e34c3936b7db8f9d39f1eb0d0f4734fc37d7ebe3.zip
Merge pull request #1105 from nrrkeene/master
The Ordinary Layout v5
-rw-r--r--keyboards/ergodox/keymaps/ordinary/keymap.c168
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-base.pngbin98200 -> 120512 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-base.txt6
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-media.pngbin123435 -> 123523 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-media.txt8
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-symbol.pngbin101255 -> 90642 bytes
-rw-r--r--keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt22
-rw-r--r--keyboards/ergodox/keymaps/ordinary/readme.md41
8 files changed, 165 insertions, 80 deletions
diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c
index 5c01d9678..1dfdf7e62 100644
--- a/keyboards/ergodox/keymaps/ordinary/keymap.c
+++ b/keyboards/ergodox/keymaps/ordinary/keymap.c
@@ -9,6 +9,7 @@
9#define SYMB 1 // symbols layer 9#define SYMB 1 // symbols layer
10#define MDIA 2 // media layer 10#define MDIA 2 // media layer
11#define SPEC 3 // special layer 11#define SPEC 3 // special layer
12#define RBASE 4 // reverse default layer
12 13
13#define LSymb 10 // left symbol-shift key 14#define LSymb 10 // left symbol-shift key
14#define LMdia 11 // left media-shift key 15#define LMdia 11 // left media-shift key
@@ -17,15 +18,23 @@
17#define RMdia 14 // right media-shift key 18#define RMdia 14 // right media-shift key
18#define RSpec 15 // right special-shift key 19#define RSpec 15 // right special-shift key
19 20
21#define NotEq 16 // != macro
22#define GrtEq 17 // >= macro
23#define LesEq 18 // <= macro
24#define DeRef 19 // -> macro
25
20#define MUL 20 // mouse up left 26#define MUL 20 // mouse up left
21#define MUR 21 // mouse up right 27#define MUR 21 // mouse up right
22#define MDL 22 // mouse down left 28#define MDL 22 // mouse down left
23#define MDR 23 // mouse down right 29#define MDR 23 // mouse down right
24 30
31
32
25/* 33/*
26 * The Ordinary Layout for the Ergodox EZ keyboard, v4.20 34 * The Ordinary Layout for the Ergodox EZ keyboard, v5
27 * 35 *
28 * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com 36 * Modifications from the default Ergodox EZ layout
37 * by Nicholas Keene ergodoxez@nicholaskeene.com
29 * 38 *
30 * No rights reserved. This software is in the public domain. 39 * No rights reserved. This software is in the public domain.
31 * Credit me if you are friendly but if you're a jerk don't bother. 40 * Credit me if you are friendly but if you're a jerk don't bother.
@@ -44,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
44 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| 53 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
45 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | 54 * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media |
46 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| 55 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
47 * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol | 56 * | Symbol | ^A | S | D | ^F | G |------| |------| H | ^J | K | L | ^; | '" Symbol |
48 * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------| 57 * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------|
49 * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals | 58 * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals |
50 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' 59 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
@@ -60,24 +69,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
60 */ 69 */
61[BASE] = KEYMAP( 70[BASE] = KEYMAP(
62// left hand 71// left hand
63 F(LSpec) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC 72 F(LSpec) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC
64,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC 73,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
65,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G 74,M(LSymb) ,LT(RBASE, KC_A),KC_S ,KC_D ,LT(RBASE, KC_F) ,KC_G
66,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) 75,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB)
67,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI 76,KC_LCTL ,MEH_T(KC_NO) ,ALL_T(KC_NO),KC_LALT,KC_LGUI
68 ,KC_HOME,KC_END 77 ,KC_HOME,KC_END
69 ,KC_PGUP 78 ,KC_PGUP
70 ,KC_BSPC,KC_DEL ,KC_PGDN 79 ,KC_BSPC,KC_DEL ,KC_PGDN
71 // right hand 80 // right hand
72 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec) 81 ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec)
73 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) 82 ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia)
74 ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) 83 ,KC_H ,LT(RBASE, KC_J),KC_K ,KC_L ,LT(RBASE,KC_SCLN),F(RSymb)
75 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT 84 ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT
76 ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL 85 ,KC_RGUI ,KC_RALT,KC_HYPR,KC_MEH ,KC_RCTL
77 ,KC_LEFT ,KC_RGHT 86 ,KC_LEFT ,KC_RGHT
78 ,KC_UP 87 ,KC_UP
79 ,KC_DOWN ,KC_ENT ,KC_SPC 88 ,KC_DOWN ,KC_ENT ,KC_SPC
80 ), 89),
81 90
82/******* Symbols Layer ************************************************************************************************* 91/******* Symbols Layer *************************************************************************************************
83 * 92 *
@@ -87,52 +96,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
87 * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | | 96 * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | |
88 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| 97 * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------|
89 * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | 98 * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | |
90 * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| 99 * |-----------+------+------+------+------+------| ' | | " |------+------+------+------+------+-----------|
91 * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | 100 * | | % | ^ | [ | ] | ~ | | | | \ | 1 | 2 | 3 | - | |
92 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' 101 * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------'
93 * | LCtrl | Meh |Hyper | LAlt | LGui | | 0 | . | = | + | Ent | 102 * | ; | & | * | < | > | | 0 | . | = | + | Enter |
94 * `-----------------------------------' `-----------------------------------' 103 * `-----------------------------------' `-----------------------------------'
95 * ,-------------. ,-------------. 104 * ,-------------. ,-------------.
96 * | Left | Right| | Home | End | 105 * | |||| | |||| | | |||| | |||| |
97 * ,------|------|------| |------+------+------. 106 * ,------|------|------| |------+------+------.
98 * | | | Up | | PgUp | | | 107 * | Plus | Equal| |||| | | |||| | Under| Dash |
99 * |Space |Enter |------| |------|BackSp| Del | 108 * | | |------| |------| Score| |
100 * | | | Down | | PgDn | | | 109 * | + | = | != | | -> | _ | - |
101 * `--------------------' `--------------------' 110 * `--------------------' `--------------------'
102 */ 111 */
103[SYMB] = KEYMAP( 112[SYMB] = KEYMAP(
104// left hand 113// left hand
105 KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC 114 KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC
106,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) 115,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM)
107,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV 116,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV
108,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB 117,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_QUOT
109,KC_LCTL ,KC_MEH ,KC_HYPR ,KC_LALT ,KC_LGUI 118,KC_SCLN ,KC_AMPR ,KC_ASTR ,LSFT(KC_COMM),LSFT(KC_DOT)
110 ,KC_LEFT ,KC_RGHT 119 ,M(GrtEq),M(LesEq)
111 ,KC_UP 120 ,KC_NO
112 ,KC_SPC ,KC_ENT ,KC_DOWN 121 ,KC_PLUS ,KC_EQL ,M(NotEq)
113 // right hand 122 // right hand
114 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS 123 ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS
115 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS 124 ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS
116 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS 125 ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS
117 ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS 126 ,LSFT(KC_QUOT),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS
118 ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT 127 ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
119 ,KC_HOME ,KC_END 128 ,KC_NO ,KC_NO
120 ,KC_PGUP 129 ,KC_NO
121 ,KC_PGDN ,KC_BSPC ,KC_DEL 130 ,M(DeRef) ,LSFT(KC_MINS),KC_MINS
122), 131),
123 132
124/******* Media Layer ******************************************************************************************************* 133/******* Media Layer *******************************************************************************************************
125 * 134 *
126 * ,---------------------------------------------------------------. ,---------------------------------------------------------------. 135 * ,---------------------------------------------------------------. ,---------------------------------------------------------------.
127 * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | 136 * | | F11 | F12 | F13 | F14 | F15 | Esc | | |||| | F16 | F17 | F18 | F19 | F20 | |
128 * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| 137 * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------|
129 * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | 138 * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | |
130 * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| 139 * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
131 * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | 140 * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | |
132 * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| 141 * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
133 * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | 142 * | | |||| |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | |||| | End | Down | PgDn | |||| | |
134 * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' 143 * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
135 * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| 144 * | ||| | |||| | MClick | LClick | R Click| | Insert | Del | |||| | |||| | ||| |
136 * `---------------------------------------------' `---------------------------------------------' 145 * `---------------------------------------------' `---------------------------------------------'
137 * ,-------------. ,-------------. 146 * ,-------------. ,-------------.
138 * | Stop |Refrsh| | Prev | Next | 147 * | Stop |Refrsh| | Prev | Next |
@@ -148,7 +157,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
148,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U 157,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U
149,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD 158,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD
150,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D 159,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D
151,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2 160,KC_NO ,KC_NO ,KC_BTN3 ,KC_BTN1 ,KC_BTN2
152 ,KC_WSTP ,KC_WREF 161 ,KC_WSTP ,KC_WREF
153 ,KC_WSCH 162 ,KC_WSCH
154 ,KC_WBAK ,KC_NO ,KC_WHOM 163 ,KC_WBAK ,KC_NO ,KC_WHOM
@@ -157,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
157 ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS 166 ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS
158 ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS 167 ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS
159 ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS 168 ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS
160 ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL 169 ,KC_INS ,KC_DEL ,KC_NO ,KC_NO ,KC_NO
161 ,KC_MPRV ,KC_MNXT 170 ,KC_MPRV ,KC_MNXT
162 ,KC_VOLU 171 ,KC_VOLU
163 ,KC_VOLD ,KC_MSTP ,KC_MPLY 172 ,KC_VOLD ,KC_MSTP ,KC_MPLY
@@ -203,7 +212,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
203 ,KC_TRNS ,KC_TRNS 212 ,KC_TRNS ,KC_TRNS
204 ,KC_TRNS 213 ,KC_TRNS
205 ,KC_TRNS ,KC_TRNS ,KC_TRNS 214 ,KC_TRNS ,KC_TRNS ,KC_TRNS
206 ) 215),
216
217/******* Reverse Base Layer *********************************************************************************************
218 *
219 * ,------------------------------------------------------. ,------------------------------------------------------.
220 * | =+ | 0 | 9 | 8 | 7 | 6 | - | | Esc | 5 | 4 | 3 | 2 | 1 | `~ |
221 * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
222 * | \| | P | O | I | U | Y | ] | | [ | T | R | E | W | Q | Tab |
223 * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
224 * | '" | ; | L | K | J | H |------| |------| G | F | D | S | A | |
225 * |------------+------+------+------+------+------| Tab | |Shift |------+------+------+------+------+------------|
226 * | Capitals | / | . | , | M | N | | | -Tab | B | V | C | X | Z | Capitals |
227 * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
228 * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl |
229 * `-----------------------------------' `-----------------------------------'
230 * ,-------------. ,-------------.
231 * | Left | Right| | Home | End |
232 * ,------|------|------| |------+------+------.
233 * | | | Up | | PgUp | | |
234 * |Space |Enter |------| |------|BackSp| Del |
235 * | | | Down | | PgDn | | |
236 * `--------------------' `--------------------'
237 */
238[RBASE] = KEYMAP(
239// left hand
240 KC_EQL ,KC_0 ,KC_9 ,KC_8 ,KC_7 ,KC_6 ,KC_MINS
241,KC_BSLS ,KC_P ,KC_O ,KC_I ,KC_U ,KC_Y ,KC_RBRC
242,KC_QUOT ,LT(RBASE, KC_SCLN) ,KC_L ,KC_K ,LT(RBASE, KC_J) ,KC_H
243,KC_RSFT ,KC_SLSH ,KC_DOT ,KC_COMM,KC_M ,KC_N ,KC_TAB
244,KC_RCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_RALT,KC_RGUI
245 ,KC_LEFT ,KC_RGHT
246 ,KC_UP
247 ,KC_SPC ,KC_ENT ,KC_DOWN
248 // right hand
249 ,KC_ESC ,KC_5 ,KC_4 ,KC_3 ,KC_2 ,KC_1 ,KC_GRV
250 ,KC_LBRC ,KC_T ,KC_R ,KC_E ,KC_W ,KC_Q ,KC_TAB
251 ,KC_G ,LT(RBASE, KC_F),KC_D ,KC_S ,LT(RBASE, KC_A) ,KC_NO
252 ,LSFT(KC_TAB),KC_B ,KC_V ,KC_C ,KC_X ,KC_Z ,KC_LSFT
253 ,KC_LGUI,KC_LALT,KC_HYPR ,KC_MEH,KC_LCTL
254 ,KC_HOME ,KC_END
255 ,KC_PGUP
256 ,KC_PGDN ,KC_BSPC ,KC_DEL
257)
207}; 258};
208 259
209const uint16_t PROGMEM fn_actions[] = { 260const uint16_t PROGMEM fn_actions[] = {
@@ -227,14 +278,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
227{ 278{
228 switch(id) { 279 switch(id) {
229 // There are two shift keys for each layer so we increment a layer_shift var when one 280 // There are two shift keys for each layer so we increment a layer_shift var when one
230 // is pressed and decrement when one is released. If both are pressed at the same time 281 // is pressed and decrement when one is released. The shift counts are bound between 0 and 2
231 // then the layer is locked (or unlocked). The shift counts are bound between 0 and 2
232 // only because sometimes rapid pressing led to irregular events; this way the states 282 // only because sometimes rapid pressing led to irregular events; this way the states
233 // are self healing during use. 283 // are self healing during use.
234 284
235 case LSymb: // 285 case LSymb: //
236 if (record->event.pressed) { // when the LSymb button is pressed 286 if (record->event.pressed) { // when the LSymb button is pressed
237 if(++symb_shift > 2) mdia_shift = 2; // increment the symb shift count, max two 287 if(++symb_shift > 2) symb_shift = 2; // increment the symb shift count, max two
238 if(spec_shift) symb_lock = !symb_lock; // if the Special layer is on, toggle the shift lock 288 if(spec_shift) symb_lock = !symb_lock; // if the Special layer is on, toggle the shift lock
239 layer_on(SYMB); // in any case, turn on the Symbols layer 289 layer_on(SYMB); // in any case, turn on the Symbols layer
240 } else { // when the LSymb button is released 290 } else { // when the LSymb button is released
@@ -264,7 +314,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
264 314
265 case LSpec: 315 case LSpec:
266 if (record->event.pressed) { // when the LSpec button is pressed 316 if (record->event.pressed) { // when the LSpec button is pressed
267 if(symb_shift) symb_lock == !symb_lock; // if another layer button is engaged, then 317 if(symb_shift) symb_lock = !symb_lock; // if another layer button is engaged, then
268 else if(mdia_shift) mdia_lock = !mdia_lock; // lock that layer, be it caps or symb or mdia 318 else if(mdia_shift) mdia_lock = !mdia_lock; // lock that layer, be it caps or symb or mdia
269 else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) { 319 else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) {
270 register_code(KC_GRV); // otherwise, if it's an uninterrupted tap, emit a char 320 register_code(KC_GRV); // otherwise, if it's an uninterrupted tap, emit a char
@@ -340,6 +390,30 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
340 } 390 }
341 break; 391 break;
342 392
393 case NotEq:
394 if (record->event.pressed) {
395 return MACRO( I(10), D(LSFT), T(EXLM), U(LSFT), T(EQL), END ); // !=
396 }
397 break;
398
399 case GrtEq:
400 if (record->event.pressed) {
401 return MACRO( I(10), D(LSFT), T(COMM), U(LSFT), T(EQL), END ); // <=
402 }
403 break;
404
405 case LesEq:
406 if (record->event.pressed) {
407 return MACRO( I(10), D(LSFT), T(DOT), U(LSFT), T(EQL), END ); // >=
408 }
409 break;
410
411 case DeRef:
412 if (record->event.pressed) {
413 return MACRO( I(10), T(MINS), D(LSFT), T(DOT), U(LSFT), END ); // ->
414 }
415 break;
416
343 // mouse diagonals 417 // mouse diagonals
344 418
345 case MUL: // mouse up left 419 case MUL: // mouse up left
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
index 831db4f5d..18c6c4ab2 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
index 7763c3d37..4fc11faf9 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-base.txt
@@ -7,10 +7,10 @@
7[{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"], 7[{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"],
8[{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"], 8[{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"],
9[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"], 9[{y:-0.375,x:3.5,c:"#cccccc",t:"#000000"},"D",{x:10.5},"K"],
10[{y:-0.875,x:2.5},"S",{x:1},"F",{x:8.5},"J",{x:1},"L"], 10[{y:-0.875,x:2.5},"S",{x:1,fa:[0,0,0,1]},"F\n\n\nreverse",{x:8.5},"J\n\n\nreverse",{x:1},"L"],
11[{y:-0.875,x:5.5},"G",{x:6.5},"H"], 11[{y:-0.875,x:5.5},"G",{x:6.5},"H"],
12[{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"], 12[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A\n\n\nreverse",{x:14.5},":\n;\n\nreverse",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"],
13[{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"], 13[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"],
14[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"], 14[{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"],
15[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."], 15[{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."],
16[{y:-0.875,x:5.5},"B",{x:6.5},"N"], 16[{y:-0.875,x:5.5},"B",{x:6.5},"N"],
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
index 5ff3f5338..491f698d8 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
index e1467b22e..67b7840b5 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt
@@ -15,10 +15,10 @@
15[{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"], 15[{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"],
16[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""], 16[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""],
17[{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"], 17[{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"],
18[{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"], 18[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#1e8fff"},"Delete"],
19[{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"], 19[{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",{x:1,c:"#737373",a:7},""],
20[{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"], 20[{y:-0.75,x:0.5},"","",{x:14.5},"",""],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee",a:4,fa:[0,0,0,1]},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"],
22[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"], 22[{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"],
23[{x:2},"Home\n\n\nBrowser"], 23[{x:2},"Home\n\n\nBrowser"],
24[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"], 24[{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"],
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
index dd9086329..1277f7483 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png
Binary files differ
diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
index 001bf370d..65eca9d6a 100644
--- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
+++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt
@@ -10,18 +10,18 @@
10[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"], 10[{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"],
11[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"], 11[{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"],
12[{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"], 12[{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"],
13[{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"], 13[{y:-0.625,x:6.5,c:"#bbddbb",t:"#000000",a:6,h:1.5},"'",{x:4.5,h:1.5},"\""],
14[{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"], 14[{y:-0.75,x:3.5,a:4},"[",{x:10.5,c:"#89b087"},"2"],
15[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"], 15[{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"],
16[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"], 16[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
17[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], 17[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"],
18[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."], 18[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"<",{x:10.5,c:"#89b087"},"."],
19[{y:-0.875,x:2.5,c:"#dddd77"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="], 19[{y:-0.875,x:2.5,c:"#bbddbb"},"*",{x:1},">",{x:8.5,c:"#89b087"},"0",{x:1},"="],
20[{y:-0.75,x:0.5,c:"#dddd77"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"], 20[{y:-0.75,x:0.5,c:"#bbddbb"},";","&",{x:14.5,c:"#89b087"},"+","Enter"],
21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"], 21[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbddbb"},"<=",">="],
22[{h:2},"Space",{h:2},"Enter","Up"], 22[{a:7,h:2},"+",{h:2},"=",{c:"#737373"},""],
23[{x:2},"Down"], 23[{x:2,c:"#bbddbb",a:4},"!="],
24[{r:-30,rx:13,y:-1,x:-3},"Home","End"], 24[{r:-30,rx:13,y:-1,x:-3,c:"#737373",a:7},"",""],
25[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], 25[{x:-3},"",{c:"#bbddbb",h:2},"_",{h:2},"-"],
26[{x:-3},"Page\n\n\n\n\n\nDown"] 26[{x:-3,a:4},"->"]
27 27
diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md
index 820b80b45..e13cb7ec8 100644
--- a/keyboards/ergodox/keymaps/ordinary/readme.md
+++ b/keyboards/ergodox/keymaps/ordinary/readme.md
@@ -10,12 +10,13 @@ no rights reserved, use for any purposes, credit me if you are a nice person
10 10
11## The Base Layout ## 11## The Base Layout ##
12 12
13* *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets). 13* *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets, and who touch-types brackets?).
14* *Modifier Keys* are light yellow and in the traditional location: Control, Option, Command, plus Hyper and Meh. 14* *Modifier Keys* are light yellow and in the traditional locationn at the bottom of the keyboard: Control, Option, Command, plus Hyper and Meh. Modifier keys are only found on the base layout.
15* *Shift Keys* are dark yellow, found on the outsides of the keyboard. Capitals Shift (traditional shift) is found in the usual place and above that is found Symbol Shift, Media Shift, and Special Shift (Shift Lock). 15* *Shift Keys* are dark yellow, found on the outsides of the keyboard. Capitals Shift (traditional Shift) is found in the usual place and above that are Symbol Shift, Media Shift, and Special Shift (Shift Lock).
16* Several of the shift keys double for entry of characters which would typically be in those locations. 16* Several of the shift keys double for entry of characters which would typically be in those locations.
17* *Thumb Keys* shown in orange are for text navigation and manipulation. 17* *Thumb Keys* shown in orange are for text navigation and manipulation.
18* *Escape* is red and it is always found in that location no matter what. 18* The keys under pinky fingers and index fingers will *reverse* the keyboard layout.
19* *Escape* is red and it is always found in that location (*except* when the layout is reversed).
19 20
20![Ordinary base layout](ordinary-base.png) 21![Ordinary base layout](ordinary-base.png)
21 22
@@ -23,12 +24,16 @@ The four big orange keys are arranged differently than in the default Ergodox EZ
23 24
24The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code. 25The Forward Tab and Backward Tab keys are in their locations mostly because I ended up with two extra buttons and needed something to do with them. My muscle memory from using the Truly Ergonomic Keyboard makes me look for the Tab key with my right index finger, so it is handy to have this redundant Tab, and the idea with the Backward Tab key is that it becomes easy to navigate text fields in forms, or to indent/unindent code.
25 26
27#### Reversing The Base Layout ####
28
29The Ordinary Layout can be used to perform one-handed chorded text input. If you hold down the key under either index finger or either pinky finger (A, F, J and Semicolon), the whole base layout reverses order. Most keys are _mirrored_ but the delete keys, home/end, and left/right arrow keys are merely *translated* to preserve directionality. Pro-tip: This feature is particularly handly for bringing the Enter key to the left hand when the right hand is using the mouse.
30
26## The Symbols Layer ## 31## The Symbols Layer ##
27 32
28* *Symbols* shown in light green. All kinds of brackets are available on this layer. Ampersand and Pipe justapose each other. Pipe, slash, and backslash are arranged in a column. 33* *Symbols* shown in light green. All kinds of brackets are available on this layer. Ampersand and Pipe juxtapose each other. Pipe, slash, and backslash are arranged in a column.
29* *F-Keys* are bright green and overlay the row of numerals. 34* *F-Keys* are bright green and overlay the row of numerals. This layer has F1-F10, higher *F-Keys* are on the Symbols layer.
30* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed. 35* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed.
31* *Thumb keys* on this layer are the *reverse* of the orange keys on the base layer, with the keys either mirrored or shifted. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the turquoise keys, and Enter is right where it should be. 36* The dark gray keys do nothing in case you bump them by accident.
32 37
33![Ordinary symbol layout](ordinary-symbol.png) 38![Ordinary symbol layout](ordinary-symbol.png)
34 39
@@ -42,7 +47,7 @@ The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout
42* Higher-order *F-Keys* are shown in bright green overylaying the numerals. 47* Higher-order *F-Keys* are shown in bright green overylaying the numerals.
43* *Application Keys* to control web browsers and audio players are dark purple but don't get too excited because these have weak support on operating systems I've looked at. Good luck. 48* *Application Keys* to control web browsers and audio players are dark purple but don't get too excited because these have weak support on operating systems I've looked at. Good luck.
44* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir). 49* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir).
45* The dark gray keys do nothing in case you bump them by accident 50* The dark gray keys do nothing in case you bump them by accident.
46 51
47![Ordinary media layout](ordinary-media.png) 52![Ordinary media layout](ordinary-media.png)
48 53
@@ -64,27 +69,33 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact
64 69
65The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations. 70The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations.
66 71
67### Escape ### 72#### Escape ####
68 73
69The 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. 74The One True Location for an Escape key is separated from the rest of the keys, way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location, however, 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.
70 75
71The 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. 76The 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.
72 77
73### Backspace ### 78#### Backspace ####
74 79
75At 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. 80At the top right corner of the Ergodox EZ you can do **Special Shift + 0** 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.
76 81
77### Other Characters ### 82#### Other Characters ####
78 83
79The 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. 84The 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.
80 85
86## Errata ##
87
88Some of the symbols on the Symbols layer are produced by the keyboard by "capitalizing" another character (such as *!* from *1*) so when you type that key you will notice the Capitals Shift red LED turn on.
89
81**** 90****
82 91
83The Ordinary Layout for the Ergodox EZ keyboard, v4.20 92The Ordinary Layout for the Ergodox EZ keyboard, v5
84 93
85Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com 94Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com
86 95
87No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother. 96No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother.
88 97
98Keyboard layout images were created with http://www.keyboard-layout-editor.com/ by Ian Prest my thanks to that free service
99
89Details: readme.md 100Details: readme.md
90 https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary 101 https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary