The Ordinary Layout is the best one, the one you are looking for. Really. Check it out.

example_keyboards
Nicholas Keene 8 years ago
parent 54785c1976
commit af942f2e57

@ -19,7 +19,9 @@
#define RSpec 15 // right special-shift key #define RSpec 15 // right special-shift key
#define NotEq 16 // != macro #define NotEq 16 // != macro
#define Point 17 // -> macro #define GrtEq 17 // >= macro
#define LesEq 18 // <= macro
#define DeRef 19 // -> macro
#define MUL 20 // mouse up left #define MUL 20 // mouse up left
#define MUR 21 // mouse up right #define MUR 21 // mouse up right
@ -71,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC
,M(LSymb) ,LT(RBASE, KC_A),KC_S ,KC_D ,LT(RBASE, KC_F) ,KC_G ,M(LSymb) ,LT(RBASE, KC_A),KC_S ,KC_D ,LT(RBASE, KC_F) ,KC_G
,KC_LSFT ,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_SCLN ,MEH_T(KC_NO) ,ALL_T(KC_NO),KC_LALT,KC_LGUI ,KC_LCTL ,MEH_T(KC_NO) ,ALL_T(KC_NO),KC_LALT,KC_LGUI
,KC_HOME,KC_END ,KC_HOME,KC_END
,KC_PGUP ,KC_PGUP
,KC_BSPC,KC_DEL ,KC_PGDN ,KC_BSPC,KC_DEL ,KC_PGDN
@ -100,9 +102,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ; | & | * | < | > | | 0 | . | = | + | Enter | * | ; | & | * | < | > | | 0 | . | = | + | Enter |
* `-----------------------------------' `-----------------------------------' * `-----------------------------------' `-----------------------------------'
* ,-------------. ,-------------. * ,-------------. ,-------------.
* ||||||||||||||| ||||||||||||||| * | |||| | |||| | | |||| | |||| |
* ,------|------|------| |------+------+------. * ,------|------|------| |------+------+------.
* | Plus | Equal|||||||| |||||||| Under| Dash | * | Plus | Equal| |||| | | |||| | Under| Dash |
* | | |------| |------| Score| | * | | |------| |------| Score| |
* | + | = | != | | -> | _ | - | * | + | = | != | | -> | _ | - |
* `--------------------' `--------------------' * `--------------------' `--------------------'
@ -113,8 +115,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) ,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_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB
,KC_LCTL ,KC_AMPR ,KC_ASTR ,LSFT(KC_COMM),LSFT(KC_DOT) ,KC_SCLN ,KC_AMPR ,KC_ASTR ,LSFT(KC_COMM),LSFT(KC_DOT)
,KC_NO ,KC_NO ,M(GrtEq),M(LesEq)
,KC_NO ,KC_NO
,KC_PLUS ,KC_EQL ,M(NotEq) ,KC_PLUS ,KC_EQL ,M(NotEq)
// right hand // right hand
@ -125,21 +127,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT
,KC_NO ,KC_NO ,KC_NO ,KC_NO
,KC_NO ,KC_NO
,M(Point) ,LSFT(KC_MINS),KC_MINS ,M(DeRef) ,LSFT(KC_MINS),KC_MINS
), ),
/******* Media Layer ******************************************************************************************************* /******* Media Layer *******************************************************************************************************
* *
* ,---------------------------------------------------------------. ,---------------------------------------------------------------. * ,---------------------------------------------------------------. ,---------------------------------------------------------------.
* | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | * | | 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 | | * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | |
* |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------|
* | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | |
* |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------|
* | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | * | | |||| |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | |||| | End | Down | PgDn | |||| | |
* `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------'
* | | | MClick | LClick | R Click| | Insert | Del | | | | * | ||| | |||| | MClick | LClick | R Click| | Insert | Del | |||| | |||| | ||| |
* `---------------------------------------------' `---------------------------------------------' * `---------------------------------------------' `---------------------------------------------'
* ,-------------. ,-------------. * ,-------------. ,-------------.
* | Stop |Refrsh| | Prev | Next | * | Stop |Refrsh| | Prev | Next |
@ -219,7 +221,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------|
* | \| | P | O | I | U | Y | ] | | [ | T | R | E | W | Q | Tab | * | \| | P | O | I | U | Y | ] | | [ | T | R | E | W | Q | Tab |
* |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------|
* | | ; | L | K | J | H |------| |------| G | F | D | S | A | '" | * | '" | ; | L | K | J | H |------| |------| G | F | D | S | A | |
* |------------+------+------+------+------+------| Tab | |Shift |------+------+------+------+------+------------| * |------------+------+------+------+------+------| Tab | |Shift |------+------+------+------+------+------------|
* | Capitals | / | . | , | M | N | | | -Tab | B | V | C | X | Z | Capitals | * | Capitals | / | . | , | M | N | | | -Tab | B | V | C | X | Z | Capitals |
* `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------'
@ -237,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left hand // left hand
KC_EQL ,KC_0 ,KC_9 ,KC_8 ,KC_7 ,KC_6 ,KC_MINS KC_EQL ,KC_0 ,KC_9 ,KC_8 ,KC_7 ,KC_6 ,KC_MINS
,KC_BSLS ,KC_P ,KC_O ,KC_I ,KC_U ,KC_Y ,KC_RBRC ,KC_BSLS ,KC_P ,KC_O ,KC_I ,KC_U ,KC_Y ,KC_RBRC
,KC_NO ,LT(RBASE, KC_SCLN) ,KC_L ,KC_K ,LT(RBASE, KC_J) ,KC_H ,KC_QUOT ,LT(RBASE, KC_SCLN) ,KC_L ,KC_K ,LT(RBASE, KC_J) ,KC_H
,KC_RSFT ,KC_SLSH ,KC_DOT ,KC_COMM,KC_M ,KC_N ,KC_TAB ,KC_RSFT ,KC_SLSH ,KC_DOT ,KC_COMM,KC_M ,KC_N ,KC_TAB
,KC_RCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_RALT,KC_RGUI ,KC_RCTL ,MEH_T(KC_NO),ALL_T(KC_NO),KC_RALT,KC_RGUI
,KC_LEFT ,KC_RGHT ,KC_LEFT ,KC_RGHT
@ -246,7 +248,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// right hand // right hand
,KC_ESC ,KC_5 ,KC_4 ,KC_3 ,KC_2 ,KC_1 ,KC_GRV ,KC_ESC ,KC_5 ,KC_4 ,KC_3 ,KC_2 ,KC_1 ,KC_GRV
,KC_LBRC ,KC_T ,KC_R ,KC_E ,KC_W ,KC_Q ,KC_TAB ,KC_LBRC ,KC_T ,KC_R ,KC_E ,KC_W ,KC_Q ,KC_TAB
,KC_G ,LT(RBASE, KC_F),KC_D ,KC_S ,LT(RBASE, KC_A) ,F(LSymb) ,KC_G ,LT(RBASE, KC_F),KC_D ,KC_S ,LT(RBASE, KC_A) ,KC_NO
,LSFT(KC_TAB),KC_B ,KC_V ,KC_C ,KC_X ,KC_Z ,KC_LSFT ,LSFT(KC_TAB),KC_B ,KC_V ,KC_C ,KC_X ,KC_Z ,KC_LSFT
,KC_LGUI,KC_LALT,KC_HYPR ,KC_MEH,KC_LCTL ,KC_LGUI,KC_LALT,KC_HYPR ,KC_MEH,KC_LCTL
,KC_HOME ,KC_END ,KC_HOME ,KC_END
@ -390,13 +392,25 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
case NotEq: case NotEq:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( I(30), T(EXLM), T(EQL), END ); // return MACRO( I(10), D(LSFT), T(EXLM), U(LSFT), T(EQL), END ); // !=
}
break;
case GrtEq:
if (record->event.pressed) {
return MACRO( I(10), D(LSFT), T(COMM), U(LSFT), T(EQL), END ); // <=
}
break;
case LesEq:
if (record->event.pressed) {
return MACRO( I(10), D(LSFT), T(DOT), U(LSFT), T(EQL), END ); // >=
} }
break; break;
case Point: case DeRef:
if (record->event.pressed) { if (record->event.pressed) {
return MACRO( I(30), T(MINS), T(DOT), END ); // return MACRO( I(10), T(MINS), D(LSFT), T(DOT), U(LSFT), END ); // ->
} }
break; break;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

@ -16,12 +16,12 @@
[{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"], [{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"],
[{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"], [{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"],
[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"<",{x:10.5,c:"#89b087"},"."], [{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"<",{x:10.5,c:"#89b087"},"."],
[{y:-0.875,x:2.5,c:"#bbddbb"},"*",{x:1,a:5},">",{x:8.5,c:"#89b087",a:4},"0",{x:1},"="], [{y:-0.875,x:2.5,c:"#bbddbb"},"*",{x:1},">",{x:8.5,c:"#89b087"},"0",{x:1},"="],
[{y:-0.75,x:0.5,c:"#bbddbb"},";","&",{x:14.5,c:"#89b087"},"+","Enter"], [{y:-0.75,x:0.5,c:"#bbddbb"},";","&",{x:14.5,c:"#89b087"},"+","Enter"],
[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#737373",a:7},"",""], [{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#bbddbb"},"<=",">="],
[{c:"#bbddbb",h:2},"+",{h:2},"=",{c:"#737373"},""], [{a:7,h:2},"+",{h:2},"=",{c:"#737373"},""],
[{x:2,c:"#bbddbb"},"!="], [{x:2,c:"#bbddbb",a:4},"!="],
[{r:-30,rx:13,y:-1,x:-3,c:"#737373"},"",""], [{r:-30,rx:13,y:-1,x:-3,c:"#737373",a:7},"",""],
[{x:-3},"",{c:"#bbddbb",h:2},"_",{h:2},"-"], [{x:-3},"",{c:"#bbddbb",h:2},"_",{h:2},"-"],
[{x:-3},"->"] [{x:-3,a:4},"->"]

@ -10,13 +10,13 @@ no rights reserved, use for any purposes, credit me if you are a nice person
## The Base Layout ## ## The Base Layout ##
* *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets). * *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets, and who touch-types brackets?).
* *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 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.
* *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). * *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).
* Several of the shift keys double for entry of characters which would typically be in those locations. * Several of the shift keys double for entry of characters which would typically be in those locations.
* *Thumb Keys* shown in orange are for text navigation and manipulation. * *Thumb Keys* shown in orange are for text navigation and manipulation.
* The keys under pinky fingers and index fingers will *reverse* the keyboard layout. * The keys under pinky fingers and index fingers will *reverse* the keyboard layout.
* *Escape* is red and it is always found in that location no matter what. * *Escape* is red and it is always found in that location (*except* when the layout is reversed).
![Ordinary base layout](ordinary-base.png) ![Ordinary base layout](ordinary-base.png)
@ -26,18 +26,18 @@ The Forward Tab and Backward Tab keys are in their locations mostly because I en
#### Reversing The Base Layout #### #### Reversing The Base Layout ####
The 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 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. The 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.
## The Symbols Layer ## ## The Symbols Layer ##
* *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. * *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.
* *F-Keys* are bright green and overlay the row of numerals. This layer has F1-F10, higher *F-Keys* are on the Symbols layer. * *F-Keys* are bright green and overlay the row of numerals. This layer has F1-F10, higher *F-Keys* are on the Symbols layer.
* *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. * *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.
* The dark gray keys do nothing in case you bump them by accident.
![Ordinary symbol layout](ordinary-symbol.png) ![Ordinary symbol layout](ordinary-symbol.png)
The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys. The Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys.
* The dark gray keys do nothing in case you bump them by accident.
## The Media Layer ## ## The Media Layer ##
@ -85,7 +85,7 @@ The Escape and Backspace special sequences are so useful why not have a few more
## Errata ## ## Errata ##
Some of the symbols on the Symbols layer are produced by the keyboard by "capitalizing" another symbol (such as *!* from *1*) so when you type that key you will notice the Capitals Shift red LED turn on. Some 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.
**** ****

Loading…
Cancel
Save