From 8f3cdea35706d03c1049c2d510340360930d70ba Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Wed, 13 Jul 2016 13:17:55 -0700 Subject: Created "teckinesis" keymap folder (Based on "ordinary" keymap by Nicholas Keene) --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 454 +++++++++++++++++++++ .../keymaps/teckinesis/ordinary-base.png | Bin 0 -> 99605 bytes .../keymaps/teckinesis/ordinary-base.txt | 27 ++ .../keymaps/teckinesis/ordinary-media.png | Bin 0 -> 124144 bytes .../keymaps/teckinesis/ordinary-media.txt | 27 ++ .../keymaps/teckinesis/ordinary-special.png | Bin 0 -> 63065 bytes .../keymaps/teckinesis/ordinary-special.txt | 27 ++ .../keymaps/teckinesis/ordinary-symbol.png | Bin 0 -> 103735 bytes .../keymaps/teckinesis/ordinary-symbol.txt | 27 ++ keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 103 +++++ 10 files changed, 665 insertions(+) create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/keymap.c create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.png create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/readme.md (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c new file mode 100644 index 0000000000..778cbc63cf --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -0,0 +1,454 @@ +#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 MUL 20 // mouse up left +#define MUR 21 // mouse up right +#define MDL 22 // mouse down left +#define MDR 23 // mouse down right + +/* + * The Ordinary Layout for the Ergodox EZ keyboard, v4 + * + * 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. + * + * Details: readme.md + * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/******* Base Layer ******************************************************************************************************** + * + * ,------------------------------------------------------. ,------------------------------------------------------. + * | Special `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Special | + * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| + * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | + * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| + * | Symbol | A | S | D | F | G |------| |------| H | J | K | L | ; | '" Symbol | + * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------| + * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals | + * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' + * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | Home | End | | Left | Right| + * ,------|------|------| |------+------+------. + * | | | PgUp | | Up | | | + * |Backsp| Del |------| |------| Enter| Space| + * | | | PgDn | | Down | | | + * `--------------------' `--------------------' + */ +[BASE] = KEYMAP( +// left hand + 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_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI + ,KC_HOME,KC_END + ,KC_PGUP + ,KC_BSPC,KC_DEL ,KC_PGDN + // right hand + ,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_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_DOWN ,KC_ENT ,KC_SPC + ), + +/******* Symbols Layer ***************************************************************************************************** + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | Esc | | - | F6 | F7 | F8 | F9 | F10 | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | ! | @ | { | } | & | < | | > | | | 7 | 8 | 9 | / | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | # | $ | ( | ) | ` |------| |------| / | 4 | 5 | 6 | * | | + * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| + * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| + * `-----------------------------------' `-------------------------------------' + * ,-------------. ,-------------. + * | Left | Right| | Home | End | + * ,------|------|------| |------+------+------. + * | | | Up | | PgUp | | | + * |Space |Enter |------| |------|BackSp| Del | + * | | | Down | | PgDn | | | + * `--------------------' `--------------------' + */ +[SYMB] = KEYMAP( +// 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_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 + ,KC_UP + ,KC_SPC ,KC_ENT ,KC_DOWN + // right hand + ,KC_MINS ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_TRNS + ,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_HOME ,KC_END + ,KC_PGUP + ,KC_PGDN ,KC_BSPC ,KC_DEL +), + +/******* 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| + * `--------------------' `--------------------' + */ +[MDIA] = KEYMAP( +// left hand + KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC +,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U +,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD +,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D +,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2 + ,KC_WSTP ,KC_WREF + ,KC_WSCH + ,KC_WBAK ,KC_NO ,KC_WHOM + // right hand + ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS + ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS + ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS + ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS + ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL + ,KC_MPRV ,KC_MNXT + ,KC_VOLU + ,KC_VOLD ,KC_MSTP ,KC_MPLY +), + +/******* Special Layer ***************************************************************************************************** + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | Esc | | | | | | | | | | | | Bspc | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | RShift | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[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_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 + ) +}; + +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) + ,[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; + +bool symb_lock = false; +bool mdia_lock = false; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + // There are two shift keys for each layer so we increment a layer_shift var when one + // is pressed and decrement when one is released. If both are pressed at the same time + // then the layer is locked (or unlocked). The shift counts are bound between 0 and 2 + // 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); + } + break; + + case LMdia: + if (record->event.pressed) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + register_code(KC_TAB); + } else { + if(++mdia_shift > 2) mdia_shift = 2; + if(mdia_shift == 2) { + mdia_lock = !mdia_lock; + } else if(mdia_shift == 1) { + layer_on(MDIA); + } + } + } else { + if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + unregister_code(KC_TAB); + } else { + if(--mdia_shift < 0) mdia_shift = 0; + if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); + } + } + break; + + case LSpec: + if (record->event.pressed) { + if (record->tap.count && !record->tap.interrupted) { + register_code(KC_GRV); + } else { + layer_on(SPEC); + } + } else { + if(record->tap.count && !record->tap.interrupted) { + unregister_code(KC_GRV); + } else { + layer_off(SPEC); + } + } + break; + + case RSymb: + if (record->event.pressed) { + if (record->tap.count && (!symb_shift) && (!symb_lock)) { + 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); + } + } + } else { + if(record->tap.count && symb_shift == 0) { + unregister_code(KC_QUOT); + } else { + if(--symb_shift < 0) symb_shift = 0; + if((!symb_shift) && (!symb_lock)) layer_off(SYMB); + } + } + break; + + case RMdia: + if (record->event.pressed) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + 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); + } + } + } else { + if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + unregister_code(KC_BSLS); + } else { + if(--mdia_shift < 0) mdia_shift = 0; + if((!mdia_shift) && (!mdia_lock)) layer_off(MDIA); + } + } + break; + + case RSpec: + if (record->event.pressed) { + if (record->tap.count && !record->tap.interrupted) { + register_code(KC_EQL); + } else { + layer_on(SPEC); + } + } else { + if(record->tap.count && !record->tap.interrupted) { + unregister_code(KC_EQL); + } else { + layer_off(SPEC); + } + } + break; + + // mouse diagonals + + case MUL: // mouse up left + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + mousekey_send(); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + mousekey_send(); + } + break; + + case MUR: // mouse up right + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + mousekey_send(); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + mousekey_send(); + } + break; + + case MDL: // mouse down left + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + mousekey_send(); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + mousekey_send(); + } + break; + + case MDR: // mouse down right + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + mousekey_send(); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + mousekey_send(); + } + break; + + default: + // none + break; + } + + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +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<\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,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"], +[{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"], +[{x:-3},"Up",{h:2},"Enter",{h:2},"Space"], +[{x:-3},"Down"] + diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png new file mode 100644 index 0000000000..99e5ed80b1 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt new file mode 100644 index 0000000000..4eccc9f350 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt @@ -0,0 +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,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.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"], +[{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"] + diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png new file mode 100644 index 0000000000..6eecf447ee Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.png differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt new file mode 100644 index 0000000000..a08827c6de --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-special.txt @@ -0,0 +1,27 @@ +[{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,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},""], +[{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.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,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},"",""], +[{h:2},"",{h:2},"",""], +[{x:2},""], +[{r:-30,rx:13,y:-1,x:-3},"",""], +[{x:-3},"",{h:2},"",{h:2},""], +[{x:-3},""] + diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png new file mode 100644 index 0000000000..e4de64a96f Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt new file mode 100644 index 0000000000..e199f5c59f --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt @@ -0,0 +1,27 @@ +[{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.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,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.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"], +[{h:2},"Space",{h:2},"Enter","Up"], +[{x:2},"Down"], +[{r:-30,rx:13,y:-1,x:-3},"Home","End"], +[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], +[{x:-3},"Page\n\n\n\n\n\nDown"] + diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md new file mode 100644 index 0000000000..6465cd79e0 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -0,0 +1,103 @@ +# The Ordinary Layout, a familiar and powerful layout # + +The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards, and it features enhanced Symbol and Media layers compared to the default Ergodox EZ layout. + +The Ordinary Layout is supposed to look mostly like a normal keyboard, except in the ways that the Ergodox key arrangement is unique. The thumbs are responsible for space, enter, plus both forward and backward delete; with only a couple exceptions, all other keys are in the same place they are found on traditional keyboards. + +Nicholas Keene +ordinarylayout@nicholaskeene.com +no rights reserved, use for any purposes, credit me if you are a nice person + +## The Base Layout ## + +* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh +* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key +* Several dark blue keys double for entry of characters which would typically be in those locations +* The turquoise keys are text navigation and manipulation +* The red keys is Escape and it is always found in that location no matter what + +![Ordinary base layout](ordinary-base.png) + +This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. The modifier keys are all in the same place on all layers, although some layers also assign symbols on those buttons. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer. + +Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence. + +The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another. + +The 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. + +## The Symbols Layer ## + +* The light green keys are the eponymous symbols +* The bright green keys are F-Keys +* The dark green keys constitute a number pad +* The turquoise keys are the *reverse* of the turquoise keys on the base layer + +![Ordinary symbol layout](ordinary-symbol.png) + +The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout. + +The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements: + +* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers. +* The slash, backslash, and pipe characters are grouped together as a memory aid. +* The & and | symbols are juxtaposed as a memory aid + +The number pad area here, in green, 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, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons. + +Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from 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. + +## The Media Layer ## + +* The dark orange keys on the left move the mouse cursor +* The dark orange keys on the right move the text cursor +* The light orange keys are for scrolling and paging +* The bright green keys are more F-keys +* The dark yellow keys signal Web and Audio applications +* The light yellow keys signal the operating system +* The dark gray keys do nothing in case you bump them by accident + +![Ordinary media layout](ordinary-media.png) + +This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents. + +Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand. + +Alas, the yellow keys have at best spotty success with common software. Good luck with those but don't expect too much. + +## Switching Between Layers ## + +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. + +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. + +## Special Sequences ## + +![Ordinary special layout](ordinary-special.png) + +### 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 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. + +### Backspace ### + +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 ### + +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 Ordinary Layout for the Ergodox EZ keyboard, v4 + +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. + +Details: readme.md + https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary -- cgit v1.2.1 From 825aead3bdb74effee17d9436d79f2952550b5cf Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Thu, 14 Jul 2016 00:38:00 -0700 Subject: Replaced readme.md with stub (incl. reference to original layout) --- keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 97 ++--------------------- 1 file changed, 5 insertions(+), 92 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md index 6465cd79e0..5d2f1d07d1 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -1,103 +1,16 @@ -# The Ordinary Layout, a familiar and powerful layout # +# teckinesis Layout # -The Ordinary Layout is intended to be unremarkably mundane and remarkably useful. This layout maintains most key positions from common QWERTY keyboards, and it features enhanced Symbol and Media layers compared to the default Ergodox EZ layout. - -The Ordinary Layout is supposed to look mostly like a normal keyboard, except in the ways that the Ergodox key arrangement is unique. The thumbs are responsible for space, enter, plus both forward and backward delete; with only a couple exceptions, all other keys are in the same place they are found on traditional keyboards. - -Nicholas Keene -ordinarylayout@nicholaskeene.com -no rights reserved, use for any purposes, credit me if you are a nice person +*A blend of TECK and Kinesis layouts, based on ["The Ordinary Layout" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)* ## The Base Layout ## -* The light blue keys are modifiers: traditional Control, Option, and Command keys, plus Hyper and Meh -* The dark blue keys are Shift keys: Capitals Shift (traditional shift), Symbol Shift, and Media Shift; plus a Shift Lock key -* Several dark blue keys double for entry of characters which would typically be in those locations -* The turquoise keys are text navigation and manipulation -* The red keys is Escape and it is always found in that location no matter what - -![Ordinary base layout](ordinary-base.png) - -This layout puts the modifier keys along the bottom of the keyboard where they are on most keyboards. They are in the regular order, with the addition of Hyper and Meh keys. The modifier keys are all in the same place on all layers, although some layers also assign symbols on those buttons. On the outside edges are the Shift keys. The traditional shift key is called Capitals Shift and it is in the normal location. Above that are Symbols Shift and Media Shift. Each Shift key momentarily switches the layout to that layer, and if you use the Shift Lock button you can lock the layout to that layer. - -Touch typists will also find tilde, tab, equals/plus, slash/pipe, and quote/double-quote sharing space on those Shift keys where they would probably be on a common keyboard. Other than the turquoise keys the only buttons which move to new locations are the Brackets and Dash and Escape. Most touch typists dont touch-type brackets or dash anyway so only Escape really requires retraining of muscle memory, and see below for the Special Escape Sequence. - -The four big turquoise keys are arranged differently than in the default Ergodox EZ layout. The Ordinary Layout here copies the design of the old Fingerworks TouchStream keyboard, but also reflects the natural presumptions of the author -- me! I type the space character with my right hand, and to me it makes sense for the two delete keys to be next to one another. - -The 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. +(placeholder) ## The Symbols Layer ## -* The light green keys are the eponymous symbols -* The bright green keys are F-Keys -* The dark green keys constitute a number pad -* The turquoise keys are the *reverse* of the turquoise keys on the base layer - -![Ordinary symbol layout](ordinary-symbol.png) - -The Ergodox EZ ships with the "Coder Layer" which I like to call the Symbols layer. There are some significant improvements in The Ordinary Layout over the default layout. - -The symbol keys are mostly the same as on the default layout, which did a good job in this regard, but with a few enhancements: - -* Angle brackets on this layer mean that curly, square, and angle brackets are all available on different layers of the same two buttons. Also, they mean that all kinds of brackets, including parentheses, are available on both the Base and Symbols layers. -* The slash, backslash, and pipe characters are grouped together as a memory aid. -* The & and | symbols are juxtaposed as a memory aid - -The number pad area here, in green, 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, because this layout does not use a Num Lock key to switch the buttons between numeric keycodes and navigational keycodes. See the explanation in The Media Layout section about navigation using these same buttons. - -Finally, consider the turquoise text-nav keys. Here in the Symbols layer, these are *reversed* from 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. +(placeholder) ## The Media Layer ## -* The dark orange keys on the left move the mouse cursor -* The dark orange keys on the right move the text cursor -* The light orange keys are for scrolling and paging -* The bright green keys are more F-keys -* The dark yellow keys signal Web and Audio applications -* The light yellow keys signal the operating system -* The dark gray keys do nothing in case you bump them by accident - -![Ordinary media layout](ordinary-media.png) - -This layer was inspired by the Media layer on the Ergodox EZ but takes it farther. The Fingerworks TouchStream keyboard had a very useful feature for controlling the text cursor easily and this layer does something similar. The left hand can move the mouse, the right hand moves the text cursor, in all four directions, in small or large increments. This greatly enhances navigation in text documents. - -Moreover, the orange keys on the right overlay the numberpad from the Symbols Layer, such that in the Media Layer the same keys can be used as if they were a number pad in navigational mode (Num Lock off). For instance, in traditional number pads the '3' key became 'Page Down', and so it is here. This means a user can do text navigation without moving either hand. - -Alas, the yellow keys have at best spotty success with common software. Good luck with those but don't expect too much. - -## Switching Between Layers ## - -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. - -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. - -## Special Sequences ## - -![Ordinary special layout](ordinary-special.png) - -### 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 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. - -### Backspace ### - -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 ### - -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 Ordinary Layout for the Ergodox EZ keyboard, v4 - -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. +(placeholder) -Details: readme.md - https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary -- cgit v1.2.1 From b58724543086dc04603d7289c038267779357629 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Thu, 14 Jul 2016 00:39:01 -0700 Subject: Replaced ordinary-base.{png|json} with new base layout. --- .../keymaps/teckinesis/ordinary-base.png | Bin 99605 -> 0 bytes .../keymaps/teckinesis/ordinary-base.txt | 27 -- .../keymaps/teckinesis/teckinesis-base.json | 452 +++++++++++++++++++++ .../keymaps/teckinesis/teckinesis-base.png | Bin 0 -> 94828 bytes 4 files changed, 452 insertions(+), 27 deletions(-) delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.png delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.png deleted file mode 100644 index 9c561a10aa..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.png and /dev/null differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.txt deleted file mode 100644 index 25731ea2e6..0000000000 --- a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-base.txt +++ /dev/null @@ -1,27 +0,0 @@ -[{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.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,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.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,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"], -[{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"], -[{x:-3},"Up",{h:2},"Enter",{h:2},"Space"], -[{x:-3},"Down"] - diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json new file mode 100644 index 0000000000..f1efab2721 --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json @@ -0,0 +1,452 @@ +[ + { + "name": "teckinesis", + "author": "Will Wolff-Myren", + "notes": "# teckinesis Layout # \r\n\r\n*A blend of TECK and Kinesis layouts, based on [\"The Ordinary Layout\" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)*\r\n\r\n## The Base Layout ##\r\n\r\n(placeholder)\r\n\r\n## The Symbols Layer ##\r\n\r\n(placeholder)\r\n\r\n## The Media Layer ##\r\n\r\n(placeholder)", + "switchMount": "cherry", + "switchBrand": "gateron", + "switchType": "KS-3-Tea" + }, + [ + { + "x": 3.5 + }, + "#\n3", + { + "x": 10.5 + }, + ")\n0" + ], + [ + { + "y": -0.875, + "x": 2.5 + }, + "@\n2", + { + "x": 1 + }, + "$\n4" + ], + [ + { + "y": -0.995, + "x": 14 + }, + "(\n9", + { + "x": 1 + }, + "_\n-" + ], + [ + { + "y": -0.8799999999999999, + "x": 5.5 + }, + "%\n5", + "^\n6", + { + "x": 4.5 + }, + "&\n7", + "*\n8" + ], + [ + { + "y": -0.875, + "x": 1.5 + }, + "!\n1", + { + "x": 14.5 + }, + "+\n=" + ], + [ + { + "y": -0.995, + "c": "#2277ff", + "w": 1.5 + }, + "Media\n\nEsc\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "~\n`\nMedia\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "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, + "x": 1.5 + }, + "Q", + { + "x": 14.5 + }, + "P" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "w": 1.5 + }, + "Symbols\n\n?\n/\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "|\n\\\nSymbols\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "x": 3.5, + "c": "#cccccc" + }, + "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, + "x": 1.5 + }, + "A", + { + "x": 14.5 + }, + ":\n;" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "w": 1.5 + }, + "Capitals\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nCapitals\n\n\n\n\nShift" + ], + [ + { + "y": -0.6299999999999999, + "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.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, + "x": 1.5 + }, + "Z", + { + "x": 14.5 + }, + "?\n/" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "w": 1.5 + }, + "Ctrl", + { + "x": 16.5, + "w": 1.5 + }, + "Ctrl" + ], + [ + { + "y": -0.3799999999999999, + "x": 3.5, + "c": "#77aaff" + }, + "Option\n\n\nLAlt", + { + "x": 10.5 + }, + "Option\n\n\nRAlt" + ], + [ + { + "y": -0.875, + "x": 2.5, + "f": 3 + }, + "Hyper\n\n}\n]", + { + "x": 1 + }, + "Cmd\n\n\nSuper", + { + "x": 8.5, + "fa": [ + 5, + 0, + 0, + 1, + 0, + 0, + 0 + ] + }, + "\n\n\nSuper", + { + "x": 1, + "fa": [ + 5, + 0, + 0, + 0, + 0, + 0, + 1 + ] + }, + "\n\n~\n`\n\n\nHyper" + ], + [ + { + "y": -0.75, + "x": 0.5, + "f": 2 + }, + "Print\n\n\n\n\n\nScreen", + { + "f": 3 + }, + "Meh\n\n{\n[", + { + "x": 14.5, + "fa": [ + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ] + }, + "\n\n\"\n'\n\n\nMeh" + ], + [ + { + "y": -0.9950000000000001, + "x": 18, + "f": 2 + }, + "Special\n\n\n\n\n\nShift" + ], + [ + { + "r": 30, + "rx": 6.5, + "ry": 4.25, + "y": -1, + "x": 1, + "c": "#54d6de", + "f": 3 + }, + "Home", + "End" + ], + [ + { + "fa": [ + 0, + 0, + 0, + 1 + ], + "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" + ], + [ + { + "x": -3 + }, + "Up", + { + "h": 2 + }, + "Enter", + { + "h": 2 + }, + "Space" + ], + [ + { + "x": -3 + }, + "Down" + ] +] \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png new file mode 100644 index 0000000000..f1a5eda0d1 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png differ -- cgit v1.2.1 From 1b776f0f339032bc6990269e24f35dc2153adae6 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Thu, 14 Jul 2016 01:03:45 -0700 Subject: Replaced ordinary-symbol.{png|json} with new base layout. --- .../keymaps/teckinesis/ordinary-symbol.png | Bin 103735 -> 0 bytes .../keymaps/teckinesis/ordinary-symbol.txt | 27 -- keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 4 +- .../keymaps/teckinesis/teckinesis-symbol.json | 428 +++++++++++++++++++++ .../keymaps/teckinesis/teckinesis-symbol.png | Bin 0 -> 97055 bytes 5 files changed, 430 insertions(+), 29 deletions(-) delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png deleted file mode 100644 index e4de64a96f..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.png and /dev/null differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt deleted file mode 100644 index e199f5c59f..0000000000 --- a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-symbol.txt +++ /dev/null @@ -1,27 +0,0 @@ -[{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.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,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.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"], -[{h:2},"Space",{h:2},"Enter","Up"], -[{x:2},"Down"], -[{r:-30,rx:13,y:-1,x:-3},"Home","End"], -[{x:-3},"Page\n\n\n\n\n\nUp",{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete"], -[{x:-3},"Page\n\n\n\n\n\nDown"] - diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md index 5d2f1d07d1..e4881dbbfd 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -4,11 +4,11 @@ ## The Base Layout ## -(placeholder) +![teckinesis base layout](teckinesis-base.png) ## The Symbols Layer ## -(placeholder) +![teckinesis symbols layout](teckinesis-symbol.png) ## The Media Layer ## diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json new file mode 100644 index 0000000000..052c23da5a --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json @@ -0,0 +1,428 @@ +[ + { + "name": "teckinesis (Symbols Layer)", + "switchMount": "cherry", + "switchBrand": "gateron", + "switchType": "KS-3-Tea" + }, + [ + { + "x": 3.5, + "c": "#99de2a" + }, + "F3", + { + "x": 10.5 + }, + "F10" + ], + [ + { + "y": -0.875, + "x": 2.5 + }, + "F2", + { + "x": 1 + }, + "F4" + ], + [ + { + "y": -0.995, + "x": 14 + }, + "F9", + { + "x": 1 + }, + "F11" + ], + [ + { + "y": -0.8799999999999999, + "x": 5.5 + }, + "F5", + "F6", + { + "x": 4.5 + }, + "F7", + "F8" + ], + [ + { + "y": -0.875, + "x": 1.5 + }, + "F1" + ], + [ + { + "y": -0.995, + "c": "#2277ff", + "w": 1.5 + }, + "Media\n\nEsc\n\n\n\nShift", + { + "x": 15.5, + "c": "#99de2a" + }, + "F12", + { + "c": "#2277ff", + "w": 1.5 + }, + "\n\nMedia\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "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, + "x": 1.5 + }, + "!", + { + "x": 14.5, + "c": "#89b087" + }, + "/" + ], + [ + { + "y": -0.9950000000000001, + "c": "#000000", + "t": "#ff0000", + "w": 1.5 + }, + "Symbols\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nSymbols\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "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, + "x": 1.5 + }, + "#", + { + "x": 14.5, + "c": "#89b087" + }, + "*" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "w": 1.5 + }, + "Capitals\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nCapitals\n\n\n\n\nShift" + ], + [ + { + "y": -0.6299999999999999, + "x": 6.5, + "c": "#54d6de", + "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, + "x": 1.5 + }, + "%", + { + "x": 14.5, + "c": "#89b087" + }, + "-" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "w": 1.5 + }, + "Ctrl", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nCtrl" + ], + [ + { + "y": -0.3799999999999999, + "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" + ], + [ + { + "h": 2 + }, + "Space", + { + "h": 2 + }, + "Enter", + "Up" + ], + [ + { + "x": 2 + }, + "Down" + ], + [ + { + "r": -30, + "rx": 13, + "y": -1, + "x": -3 + }, + "Home", + "End" + ], + [ + { + "x": -3 + }, + "Page\n\n\n\n\n\nUp", + { + "h": 2 + }, + "< Del\n\n\nBackspace", + { + "h": 2 + }, + "Del >\n\n\nDelete" + ], + [ + { + "x": -3 + }, + "Page\n\n\n\n\n\nDown" + ] +] \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png new file mode 100644 index 0000000000..4750dbf1f4 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png differ -- cgit v1.2.1 From 76469ebbcfd5b2582a45eb0dd0966bad724e4cdd Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Thu, 14 Jul 2016 01:22:15 -0700 Subject: Replaced ordinary-media.{png|json} with new media layout --- .../keymaps/teckinesis/ordinary-media.png | Bin 124144 -> 0 bytes .../keymaps/teckinesis/ordinary-media.txt | 27 -- .../keymaps/teckinesis/teckinesis-media.json | 436 +++++++++++++++++++++ .../keymaps/teckinesis/teckinesis-media.png | Bin 0 -> 112216 bytes 4 files changed, 436 insertions(+), 27 deletions(-) delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png deleted file mode 100644 index 99e5ed80b1..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.png and /dev/null differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt b/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt deleted file mode 100644 index 4eccc9f350..0000000000 --- a/keyboards/ergodox_ez/keymaps/teckinesis/ordinary-media.txt +++ /dev/null @@ -1,27 +0,0 @@ -[{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,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.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"], -[{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"] - diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json new file mode 100644 index 0000000000..65fe394e8a --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.json @@ -0,0 +1,436 @@ +[ + { + "name": "teckinesis (MediaLayer)", + "author": "Will Wolff-Myren", + "switchMount": "cherry", + "switchBrand": "gateron", + "switchType": "KS-3-Tea" + }, + [ + { + "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 + }, + "Esc", + { + "c": "#99de2a" + }, + "F16" + ], + [ + { + "y": -0.875, + "x": 1.5 + }, + "F11", + { + "x": 14.5 + }, + "F20" + ], + [ + { + "y": -0.995, + "c": "#000000", + "t": "#ff0000", + "w": 1.5 + }, + "Media\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nMedia\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "x": 3.5, + "c": "#ff8500", + "t": "#000000" + }, + "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, + "x": 1.5, + "c": "#737373", + "a": 7 + }, + "", + { + "x": 14.5 + }, + "" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "a": 4, + "w": 1.5 + }, + "Symbols\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nSymbols\n\n\n\n\nShift" + ], + [ + { + "y": -0.3799999999999999, + "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\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, + "x": 1.5, + "c": "#737373", + "a": 7 + }, + "", + { + "x": 14.5 + }, + "" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "a": 4, + "w": 1.5 + }, + "Capitals\n\n\n\n\n\nShift", + { + "x": 16.5, + "w": 1.5 + }, + "\n\nCapitals\n\n\n\n\nShift" + ], + [ + { + "y": -0.6299999999999999, + "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, + "x": 1.5 + }, + "", + { + "x": 14.5 + }, + "" + ], + [ + { + "y": -0.9950000000000001, + "c": "#2277ff", + "a": 4, + "w": 1.5 + }, + "Ctrl", + { + "x": 16.5, + "w": 1.5 + }, + "Ctrl" + ], + [ + { + "y": -0.3799999999999999, + "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.75, + "x": 0.5 + }, + "Alt\n\n\nLAlt", + "Meh", + { + "x": 14.5 + }, + "Meh", + "Alt\n\n\nRAlt" + ], + [ + { + "r": 30, + "rx": 6.5, + "ry": 4.25, + "y": -1, + "x": 1, + "c": "#ccbb00" + }, + "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" + ] +] \ No newline at end of file diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png new file mode 100644 index 0000000000..cc51605f92 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-media.png differ -- cgit v1.2.1 From 0a2653bac8950fed180cd2cf9e7a5caab8755cd2 Mon Sep 17 00:00:00 2001 From: Seth Chandler Date: Sun, 17 Jul 2016 03:38:53 -0400 Subject: update broken link --- .../ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md index 4188d2b50c..16cebd0912 100644 --- a/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md +++ b/keyboards/ergodox_ez/keymaps/romanzolotarev-norman-plover-osx-hjkl/readme.md @@ -10,7 +10,7 @@ There are four layers: Looking for IJKL arrows? [Here we go](../romanzolotarev-norman-plover-osx/). -[![keyboard-layout](romanzolotarev-norman-plover-osx-hjkl.png)](rttp://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0) +[![keyboard-layout](romanzolotarev-norman-plover-osx-hjkl.png)](http://www.keyboard-layout-editor.com/#/gists/56ffedceb0668dda47c993e7271563e0) ## Switching -- cgit v1.2.1 From 973ea2f917001ed11238a3d2c747c602a2765298 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 13:58:43 -0700 Subject: LSpec: KC_GRV -> KC_EQL --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 778cbc63cf..3e3763e3f5 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -292,13 +292,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case LSpec: if (record->event.pressed) { if (record->tap.count && !record->tap.interrupted) { - register_code(KC_GRV); + register_code(KC_EQL); } else { layer_on(SPEC); } } else { if(record->tap.count && !record->tap.interrupted) { - unregister_code(KC_GRV); + unregister_code(KC_EQL); } else { layer_off(SPEC); } -- cgit v1.2.1 From e900c39669d457263d2ded393f512e928a64c6a2 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:01:41 -0700 Subject: RSpec: KC_EQL -> KC_MINS --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 3e3763e3f5..933d1d80cc 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -352,13 +352,13 @@ 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) { - register_code(KC_EQL); + register_code(KC_MINS); } else { layer_on(SPEC); } } else { if(record->tap.count && !record->tap.interrupted) { - unregister_code(KC_EQL); + unregister_code(KC_MINS); } else { layer_off(SPEC); } -- cgit v1.2.1 From 11f8d167eccf4b11f4405175c3a195717252c373 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:07:14 -0700 Subject: [BASE]: KC_MINS -> KC_GRV --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 933d1d80cc..9c0a96ebb6 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -70,7 +70,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_PGUP ,KC_BSPC,KC_DEL ,KC_PGDN // right hand - ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec) + ,KC_GRV ,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) -- cgit v1.2.1 From e9453b3fdc73a4b79bbc43024e0eeba9469e6910 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:08:22 -0700 Subject: Update Base Layer comment to match new layout. --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 9c0a96ebb6..60b9afd3ef 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /******* Base Layer ******************************************************************************************************** * * ,------------------------------------------------------. ,------------------------------------------------------. - * | Special `~ | 1 | 2 | 3 | 4 | 5 | ESC | | - | 6 | 7 | 8 | 9 | 0 | =+ Special | + * | Special =+ | 1 | 2 | 3 | 4 | 5 | ESC | | ` | 6 | 7 | 8 | 9 | 0 | -_ Special | * |------------+------+------+------+------+-------------| |------+------+------+------+------+------+------------| * | Media Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \| Media | * |------------+------+------+------+------+------| | | |------+------+------+------+------+------------| -- cgit v1.2.1 From ecc0fce210e398566ed9cfbd69887d729ef0d8bd Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:16:31 -0700 Subject: [BASE]: Meh, Hyper now have symbols on both sides Left: MEH_T(KC_BSLS),ALL_T(KC_SLSH) Right: ALL_T(KC_LBRC),MEH_T(KC_RBRC) --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 60b9afd3ef..4654f1cb98 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------------+------+------+------+------+------|Shift | | Tab |------+------+------+------+------+------------| * | Capitals | Z | X | C | V | B | -Tab | | | N | M | , | . | / | Capitals | * `------------+------+------+------+------+-------------' `-------------+------+------+------+------+------------' - * | LCtrl | Meh |Hyper | LAlt | LGui | | RGui | RAlt | Hyper| Meh | RCtrl | + * | LCtrl |Meh/\ |Hypr//| LAlt | LGui | | RGui | RAlt |Hypr/[|Meh/] | RCtrl | * `-----------------------------------' `-----------------------------------' * ,-------------. ,-------------. * | Home | End | | Left | Right| @@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,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_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI +,KC_LCTL,MEH_T(KC_BSLS),ALL_T(KC_SLSH),KC_LALT,KC_LGUI ,KC_HOME,KC_END ,KC_PGUP ,KC_BSPC,KC_DEL ,KC_PGDN @@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,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_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL + ,KC_RGUI,KC_RALT,ALL_T(KC_LBRC),MEH_T(KC_RBRC),KC_RCTL ,KC_LEFT ,KC_RGHT ,KC_UP ,KC_DOWN ,KC_ENT ,KC_SPC @@ -107,7 +107,7 @@ 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_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_LCTL ,KC_MEH ,KC_HYPR ,KC_LALT ,KC_LGUI ,KC_LEFT ,KC_RGHT ,KC_UP ,KC_SPC ,KC_ENT ,KC_DOWN -- cgit v1.2.1 From 5bf40bfb36fbd54dc154ef25c2dad41ddcb0b268 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:19:22 -0700 Subject: [MEDIA]: Remove Power, Sleep, Mail, MyComp I kept hitting these on accident while attempting to move the cursor or mouse. =P --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index 4654f1cb98..dc0f8aa6cf 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -127,9 +127,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,---------------------------------------------------------------. ,---------------------------------------------------------------. * | | 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 | | + * | | |MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | | | * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| - * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | + * | | |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | | | * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' @@ -146,8 +146,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [MDIA] = KEYMAP( // left hand KC_TRNS ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,KC_ESC -,KC_TRNS ,KC_POWER ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U -,KC_TRNS ,KC_SLEP ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD +,KC_TRNS ,KC_NO ,M(MUL) ,KC_MS_U ,M(MUR) ,KC_VOLU ,KC_WH_U +,KC_TRNS ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_VOLD ,KC_TRNS ,KC_NO ,M(MDL) ,KC_MS_D ,M(MDR) ,KC_MUTE ,KC_WH_D ,KC_LCTL ,KC_MEH ,KC_BTN3 ,KC_BTN1 ,KC_BTN2 ,KC_WSTP ,KC_WREF @@ -155,8 +155,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_WBAK ,KC_NO ,KC_WHOM // right hand ,KC_NO ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,KC_TRNS - ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_MAIL ,KC_TRNS - ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_MYCM ,KC_TRNS + ,KC_WH_U ,KC_PSCR ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_TRNS + ,KC_NLCK ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO ,KC_TRNS ,KC_WH_D ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_TRNS ,GUI_T(KC_INS),ALT_T(KC_DEL),KC_HYPR ,KC_MEH ,KC_RCTL ,KC_MPRV ,KC_MNXT -- cgit v1.2.1 From ea2b1670f61d166463d9edcba637564fca5d9a7a Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 14:56:37 -0700 Subject: Update description comment. --- keyboards/ergodox_ez/keymaps/teckinesis/keymap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c index dc0f8aa6cf..ec6ceb96bc 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c +++ b/keyboards/ergodox_ez/keymaps/teckinesis/keymap.c @@ -25,15 +25,16 @@ #define MDR 23 // mouse down right /* - * The Ordinary Layout for the Ergodox EZ keyboard, v4 + * teckinesis layout for ErgoDox (EZ) * + * Modifications from The Ordinary Layout v4 by Will Wolff-Myren willwm@gmail.com * 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. * * Details: readme.md - * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary + * https://github.com/willwm/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/teckinesis */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -- cgit v1.2.1 From 8fb407457857c48e16f27d1a774a08f2214d50e6 Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 15:04:50 -0700 Subject: Update readme.md * Updated layout images, json from Keyboard Layout Designer * Added links to Keyboard Layout Designer templates. * Added images of TECK, Kinesis layouts. --- .../keymaps/teckinesis/advantage_layout_win.png | Bin 0 -> 93337 bytes keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 39 +++- .../keymaps/teckinesis/teck209layout.jpg | Bin 0 -> 89673 bytes .../keymaps/teckinesis/teckinesis-base.json | 200 ++++++++++----------- .../keymaps/teckinesis/teckinesis-base.png | Bin 94828 -> 93743 bytes .../keymaps/teckinesis/teckinesis-symbol.json | 130 +++++++------- .../keymaps/teckinesis/teckinesis-symbol.png | Bin 97055 -> 97350 bytes 7 files changed, 191 insertions(+), 178 deletions(-) create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png create mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png b/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png new file mode 100644 index 0000000000..0a1df68091 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md index e4881dbbfd..c6f2c666f7 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -2,15 +2,52 @@ *A blend of TECK and Kinesis layouts, based on ["The Ordinary Layout" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)* +I love "The Ordinary Layout", but I still use a [TECK](https://www.trulyergonomic.com/store/index.php) +at the office, and I found the transition back and forth to be a bit more difficult than I expected. + +This layout consists of only slight changes to "The Ordinary Layout" based on the layouts of the +[(original) TECK Model 209](https://www.trulyergonomic.com/store/layout-designer--configurator--reprogrammable--truly-ergonomic-mechanical-keyboard/#KTo7PD0+P0BBQkNERUw5394rNR4fICEi4yMkJSYnLS4xOBQaCBUXTBwYDBITLzDhBBYHCQorCw0ODzPl4B0bBhkFKhEQNjc05OPiSktOTSwoLFBSUU/mZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX2BhAFZXAAAAAAAAAAAAXF1eVAAAAAAAAAAAAABZWltVAAAAAAAAAAAAYgBjAAAAAAAAAAAAWFcAAAAAAACTAQAMAiMBAAwBigEADAIhAQAMAZQBAAwBkgEADAGDAQAMALYBAAwAzQEADAC1AQAMAOIBAAwA6gEADADpAQAMALhJAEYAAAAAAEitR64AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACk6Ozw9Pj9AQUJDREVMOd/eKzUeHyAhIuMjJCUmJy0uMTgUGggVF0wcGAwSEy8w4QQWBwkKKwsNDg8z5eMdGwYZBSoREDY3NOfg4kpLTk0sKCxQUlFP5uQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9gYQBWVwAAAAAAAAAAAFxdXlQAAAAAAAAAAAAAWVpbVQAAAAAAAAAAAGIAYwAAAAAAAAAAAFhXAAAAAAAAkwEADAIjAQAMAYoBAAwCIQEADAGUAQAMAZIBAAwBgwEADAC2AQAMAM0BAAwAtQEADADiAQAMAOoBAAwA6QEADAC4SQBGAAAAAABIrUeuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) and +the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/advantage_layout_win.pdf) + ## The Base Layout ## +[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/befd4c5800d92114aa9e50d4f7c0dfb0) \ ![teckinesis base layout](teckinesis-base.png) +### Changes from The Ordinary Layout ### + +* Moved KC_MINS from the key left of the 6 to the RSpec key. +* Moved KC_EQL from RSpec to LSpec. +* Moved KC_GRV from LSpec to the key left of the 6. +* Mdded KC_BSLS to the left Meh key. +* Added KC_SLSH to the left Hyper key. +* Added KC_LBRC to the right Hyper key. +* Added KC_RBRC to the right Meh key. + ## The Symbols Layer ## +[teckinesis (Symbols Layer)](http://www.keyboard-layout-editor.com/#/gists/e6ddc4e9e0d194b3e52ac0616238ab61) \ ![teckinesis symbols layout](teckinesis-symbol.png) +### Changes from The Ordinary Layout ### + +* None. + ## The Media Layer ## -(placeholder) +[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908) \ +![teckinesis media layout](teckinesis-media.png) + +### Changes from The Ordinary Layout ### + +* Removed Power, Sleep, Mail, My Computer keys. +(I kept hitting these while using the mouse/cursor. =P) + +## TECK Layout ## + +![TECK 209 Layout](teck209layout.jpg) + +## Kinesis Advantage Layout ## + +![Kinesis Advantage Layout](advantage_layout_win.png) diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg b/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg new file mode 100644 index 0000000000..a97844f4fc Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json index f1efab2721..69fe28cf7c 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json +++ b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.json @@ -1,8 +1,8 @@ [ { - "name": "teckinesis", + "name": "teckinesis (Base Layer)", "author": "Will Wolff-Myren", - "notes": "# teckinesis Layout # \r\n\r\n*A blend of TECK and Kinesis layouts, based on [\"The Ordinary Layout\" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)*\r\n\r\n## The Base Layout ##\r\n\r\n(placeholder)\r\n\r\n## The Symbols Layer ##\r\n\r\n(placeholder)\r\n\r\n## The Media Layer ##\r\n\r\n(placeholder)", + "notes": "# teckinesis Layout # \r\n\r\n*A blend of TECK and Kinesis layouts, based on [\"The Ordinary Layout\" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)*\r\n\r\n## The Base Layout ##\r\n\r\n![teckinesis base layout](teckinesis-base.png)\r\n\r\n## The Symbols Layer ##\r\n\r\n![teckinesis symbols layout](teckinesis-symbol.png)\r\n\r\n## The Media Layer ##\r\n\r\n(placeholder)\r\n", "switchMount": "cherry", "switchBrand": "gateron", "switchType": "KS-3-Tea" @@ -15,7 +15,7 @@ { "x": 10.5 }, - ")\n0" + "*\n8" ], [ { @@ -26,59 +26,57 @@ { "x": 1 }, - "$\n4" - ], - [ + "$\n4", { - "y": -0.995, - "x": 14 + "x": 8.5 }, - "(\n9", + "&\n7", { "x": 1 }, - "_\n-" + "(\n9" ], [ { - "y": -0.8799999999999999, + "y": -0.875, "x": 5.5 }, "%\n5", - "^\n6", { - "x": 4.5 + "c": "#ff4444" }, - "&\n7", - "*\n8" + "Esc", + { + "x": 4.5, + "c": "#cccccc" + }, + "~\n`", + "^\n6" ], [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "w": 1.5 + }, + "Special\n\n+\n\n\n\nShift\n=", + { + "c": "#cccccc" }, "!\n1", { "x": 14.5 }, - "+\n=" - ], - [ + ")\n0", { - "y": -0.995, "c": "#2277ff", "w": 1.5 }, - "Media\n\nEsc\n\n\n\nShift", - { - "x": 16.5, - "w": 1.5 - }, - "~\n`\nMedia\n\n\n\n\nShift" + "_\n\nSpecial\n\n\n\n-\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, "c": "#cccccc" }, @@ -127,30 +125,33 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "fa": [ + 0, + 0, + 4 + ], + "w": 1.5 + }, + "Media\n\n\n\n\n\nShift", + { + "c": "#cccccc" }, "Q", { "x": 14.5 }, - "P" - ], - [ + "P", { - "y": -0.9950000000000001, "c": "#2277ff", + "f": 3, "w": 1.5 }, - "Symbols\n\n?\n/\n\n\nShift", - { - "x": 16.5, - "w": 1.5 - }, - "|\n\\\nSymbols\n\n\n\n\nShift" + "|\n\\\nMedia\n\n\n\n\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, "c": "#cccccc" }, @@ -193,36 +194,34 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "w": 1.5 + }, + "Symbols\n\n\n\n\n\nShift", + { + "c": "#cccccc" }, "A", { "x": 14.5 }, - ":\n;" - ], - [ + ":\n;", { - "y": -0.9950000000000001, "c": "#2277ff", + "f": 3, "w": 1.5 }, - "Capitals\n\n\n\n\n\nShift", - { - "x": 16.5, - "w": 1.5 - }, - "\n\nCapitals\n\n\n\n\nShift" + "\"\n'\nSymbols\n\n\n\n\nShift" ], [ { - "y": -0.6299999999999999, + "y": -0.625, "x": 6.5, "c": "#54d6de", "fa": [ 0, 0, - 0, + 4, 1 ], "h": 1.5 @@ -279,109 +278,99 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "w": 1.5 + }, + "Capitals\n\n\n\n\n\nShift", + { + "c": "#cccccc" }, "Z", { "x": 14.5 }, - "?\n/" - ], - [ + "?\n/", { - "y": -0.9950000000000001, "c": "#2277ff", + "f": 3, "w": 1.5 }, - "Ctrl", - { - "x": 16.5, - "w": 1.5 - }, - "Ctrl" + "\n\nCapitals\n\n\n\n\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, - "c": "#77aaff" + "c": "#77aaff", + "fa": [ + 5, + 0, + 4, + 1 + ] }, - "Option\n\n\nLAlt", + "\n\n\nLAlt", { "x": 10.5 }, - "Option\n\n\nRAlt" + "\n\n\nRAlt" ], [ { "y": -0.875, "x": 2.5, - "f": 3 - }, - "Hyper\n\n}\n]", - { - "x": 1 + "fa": [ + 5, + 1 + ] }, - "Cmd\n\n\nSuper", + "\nHyper\n?\n/", { - "x": 8.5, + "x": 1, "fa": [ 5, - 0, - 0, 1, 0, - 0, - 0 + 1 ] }, "\n\n\nSuper", + { + "x": 8.5 + }, + "\n\n\nSuper", { "x": 1, "fa": [ - 5, - 0, - 0, 0, 0, 0, 1 ] }, - "\n\n~\n`\n\n\nHyper" + "{\n[\n\nHyper" ], [ { "y": -0.75, - "x": 0.5, - "f": 2 + "x": 0.5 }, - "Print\n\n\n\n\n\nScreen", + "Ctrl\n\n\nLCtrl", { - "f": 3 + "f2": 1 }, - "Meh\n\n{\n[", + "\nMeh\n|\n\\", { "x": 14.5, "fa": [ 0, 0, - 0, - 0, - 0, - 0, - 2 + 1, + 1 ] }, - "\n\n\"\n'\n\n\nMeh" - ], - [ - { - "y": -0.9950000000000001, - "x": 18, - "f": 2 - }, - "Special\n\n\n\n\n\nShift" + "}\n]\n\nMeh", + "Ctrl\n\n\nRCtrl" ], [ { @@ -390,20 +379,13 @@ "ry": 4.25, "y": -1, "x": 1, - "c": "#54d6de", - "f": 3 + "c": "#54d6de" }, "Home", "End" ], [ { - "fa": [ - 0, - 0, - 0, - 1 - ], "h": 2 }, "< Del\n\n\nBackspace", diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png index f1a5eda0d1..7c4584e9f3 100644 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png and b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-base.png differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json index 052c23da5a..439d0128ea 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json +++ b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.json @@ -1,6 +1,7 @@ [ { - "name": "teckinesis (Symbols Layer)", + "name": "teckinesis (Symbol Layer)", + "author": "Will Wolff-Myren", "switchMount": "cherry", "switchBrand": "gateron", "switchType": "KS-3-Tea" @@ -14,7 +15,7 @@ { "x": 10.5 }, - "F10" + "F8" ], [ { @@ -25,60 +26,60 @@ { "x": 1 }, - "F4" - ], - [ + "F4", { - "y": -0.995, - "x": 14 + "x": 8.5 }, - "F9", + "F7", { "x": 1 }, - "F11" + "F9" ], [ { - "y": -0.8799999999999999, + "y": -0.875, "x": 5.5 }, "F5", - "F6", { - "x": 4.5 + "c": "#ff4444" }, - "F7", - "F8" - ], - [ + "Esc", { - "y": -0.875, - "x": 1.5 + "x": 4.5, + "c": "#bbddbb" }, - "F1" + "_\n\n\n\n\n\n-", + { + "c": "#99de2a" + }, + "F6" ], [ { - "y": -0.995, + "y": -0.875, "c": "#2277ff", "w": 1.5 }, - "Media\n\nEsc\n\n\n\nShift", + "Special\n\n\n\n\n\nShift", { - "x": 15.5, "c": "#99de2a" }, - "F12", + "F1", + { + "x": 14.5 + }, + "F10", { "c": "#2277ff", "w": 1.5 }, - "\n\nMedia\n\n\n\n\nShift" + "\n\nSpecial\n\n\n\n\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, "c": "#bbddbb" }, @@ -131,35 +132,30 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "w": 1.5 + }, + "Media\n\n\n\n\n\nShift", + { + "c": "#bbddbb" }, "!", { "x": 14.5, "c": "#89b087" }, - "/" - ], - [ + "/", { - "y": -0.9950000000000001, - "c": "#000000", - "t": "#ff0000", - "w": 1.5 - }, - "Symbols\n\n\n\n\n\nShift", - { - "x": 16.5, + "c": "#2277ff", "w": 1.5 }, - "\n\nSymbols\n\n\n\n\nShift" + "\n\nMedia\n\n\n\n\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, - "c": "#bbddbb", - "t": "#000000" + "c": "#bbddbb" }, "(", { @@ -204,33 +200,34 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#000000", + "t": "#ff0000", + "w": 1.5 + }, + "Symbols\n\n\n\n\n\nShift", + { + "c": "#bbddbb", + "t": "#000000" }, "#", { "x": 14.5, "c": "#89b087" }, - "*" - ], - [ + "*", { - "y": -0.9950000000000001, - "c": "#2277ff", - "w": 1.5 - }, - "Capitals\n\n\n\n\n\nShift", - { - "x": 16.5, + "c": "#000000", + "t": "#ff0000", "w": 1.5 }, - "\n\nCapitals\n\n\n\n\nShift" + "\n\nSymbols\n\n\n\n\nShift" ], [ { - "y": -0.6299999999999999, + "y": -0.625, "x": 6.5, "c": "#54d6de", + "t": "#000000", "fa": [ 0, 0, @@ -295,35 +292,32 @@ [ { "y": -0.875, - "x": 1.5 + "c": "#2277ff", + "w": 1.5 + }, + "Capitals\n\n\n\n\n\nShift", + { + "c": "#bbddbb" }, "%", { "x": 14.5, "c": "#89b087" }, - "-" - ], - [ + "-", { - "y": -0.9950000000000001, "c": "#2277ff", "w": 1.5 }, - "Ctrl", - { - "x": 16.5, - "w": 1.5 - }, - "\n\nCtrl" + "\n\nCapitals\n\n\n\n\nShift" ], [ { - "y": -0.3799999999999999, + "y": -0.375, "x": 3.5, "c": "#77aaff" }, - "Option\n\n\nLAlt", + "\n\n\nLAlt", { "x": 10.5, "c": "#89b087" @@ -340,7 +334,7 @@ { "x": 1 }, - "Cmd\n\n\nSuper", + "\n\n\nSuper", { "x": 8.5, "c": "#89b087" diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png index 4750dbf1f4..7ca86cf47d 100644 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png and b/keyboards/ergodox_ez/keymaps/teckinesis/teckinesis-symbol.png differ -- cgit v1.2.1 From 3c4620bf8192a38e0d5e83e4e65ffda4a33a882d Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 17 Jul 2016 15:08:04 -0700 Subject: Update readme.md * Markdown cleanup --- keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md index c6f2c666f7..84b7375056 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -1,4 +1,4 @@ -# teckinesis Layout # +# teckinesis Layout *A blend of TECK and Kinesis layouts, based on ["The Ordinary Layout" by Nicholas Keene](http://qmk.fm/keyboards/ergodox_ez/keymaps/ordinary/#the-ordinary-layout-a-familiar-and-powerful-layout)* @@ -11,7 +11,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a ## The Base Layout ## -[Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/befd4c5800d92114aa9e50d4f7c0dfb0) \ +[teckinesis (Base Layer)](http://www.keyboard-layout-editor.com/#/gists/befd4c5800d92114aa9e50d4f7c0dfb0) ![teckinesis base layout](teckinesis-base.png) ### Changes from The Ordinary Layout ### @@ -26,7 +26,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a ## The Symbols Layer ## -[teckinesis (Symbols Layer)](http://www.keyboard-layout-editor.com/#/gists/e6ddc4e9e0d194b3e52ac0616238ab61) \ +[teckinesis (Symbols Layer)](http://www.keyboard-layout-editor.com/#/gists/e6ddc4e9e0d194b3e52ac0616238ab61) ![teckinesis symbols layout](teckinesis-symbol.png) ### Changes from The Ordinary Layout ### @@ -35,7 +35,7 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a ## The Media Layer ## -[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908) \ +[teckinesis (Media Layer)](http://www.keyboard-layout-editor.com/#/gists/41ff65e6a7c490211fd6702fb34d9908) ![teckinesis media layout](teckinesis-media.png) ### Changes from The Ordinary Layout ### @@ -43,7 +43,9 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a * Removed Power, Sleep, Mail, My Computer keys. (I kept hitting these while using the mouse/cursor. =P) -## TECK Layout ## +# Truly Ergonomic and Kinesis Advantage Layouts + +## TECK 209 Layout ## ![TECK 209 Layout](teck209layout.jpg) -- cgit v1.2.1 From 53eb36c085dafc1305de77de629eb157a0a8ef8f Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 18 Jul 2016 08:46:04 +0200 Subject: ergodox_ez: Update my keymap to v1.3 This updates my ErgoDox EZ layout to v1.3, which has the following noteworthy changes: * Added support for logging keys, by pressing `LEAD d`. Also included is a tool to generate a **heatmap** out of the logs. * The arrow and navigation keys were rearranged again, and now require an additional key being held to activate. See the **base layer** for an image that shows where arrows are. * The **experimental** layer has been redone, and is now called **ADORE**, and as such, can be enabled by `LEAD a` now. * Switching between Dvorak and ADORE is now persisted into EEPROM, and survives a reboot. Signed-off-by: Gergely Nagy --- keyboards/ergodox_ez/keymaps/algernon/Makefile | 3 + .../keymaps/algernon/images/adore-layer.png | Bin 0 -> 95615 bytes .../keymaps/algernon/images/base-layer.png | Bin 105162 -> 95654 bytes .../keymaps/algernon/images/experimental-layer.png | Bin 105172 -> 0 bytes .../ergodox_ez/keymaps/algernon/images/heatmap.png | Bin 0 -> 137912 bytes keyboards/ergodox_ez/keymaps/algernon/keymap.c | 181 +++---- keyboards/ergodox_ez/keymaps/algernon/readme.md | 207 ++++---- .../algernon/tools/heatmap-base-layout.json | 533 +++++++++++++++++++++ .../keymaps/algernon/tools/log-to-heatmap.py | 145 ++++++ 9 files changed, 855 insertions(+), 214 deletions(-) create mode 100644 keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png delete mode 100644 keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png create mode 100644 keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png create mode 100644 keyboards/ergodox_ez/keymaps/algernon/tools/heatmap-base-layout.json create mode 100755 keyboards/ergodox_ez/keymaps/algernon/tools/log-to-heatmap.py (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/algernon/Makefile b/keyboards/ergodox_ez/keymaps/algernon/Makefile index cd7e9e9d2a..005f9750c3 100644 --- a/keyboards/ergodox_ez/keymaps/algernon/Makefile +++ b/keyboards/ergodox_ez/keymaps/algernon/Makefile @@ -3,6 +3,9 @@ COMMAND_ENABLE=no SLEEP_LED_ENABLE=no UNICODE_ENABLE=no FORCE_NKRO ?= yes +DEBUG_ENABLE = no +CONSOLE_ENABLE = yes +TAP_DANCE_ENABLE = yes ifeq (${FORCE_NKRO},yes) OPT_DEFS += -DFORCE_NKRO diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png new file mode 100644 index 0000000000..3df68ea53d Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/algernon/images/adore-layer.png differ diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png index c4e298b6b7..7b25a05b3a 100644 Binary files a/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png and b/keyboards/ergodox_ez/keymaps/algernon/images/base-layer.png differ diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png b/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png deleted file mode 100644 index 81155851b5..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/algernon/images/experimental-layer.png and /dev/null differ diff --git a/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png b/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png new file mode 100644 index 0000000000..356035e0a6 Binary files /dev/null and b/keyboards/ergodox_ez/keymaps/algernon/images/heatmap.png differ diff --git a/keyboards/ergodox_ez/keymaps/algernon/keymap.c b/keyboards/ergodox_ez/keymaps/algernon/keymap.c index 2af3d5f8cd..09d8dffd59 100644 --- a/keyboards/ergodox_ez/keymaps/algernon/keymap.c +++ b/keyboards/ergodox_ez/keymaps/algernon/keymap.c @@ -10,12 +10,13 @@ #include "mousekey.h" #include "timer.h" #include "keymap_plover.h" +#include "eeconfig.h" /* Layers */ enum { BASE = 0, - EXPRM, + ADORE, ARRW, APPSEL, HUN, @@ -94,7 +95,7 @@ enum { /* Custom keycodes */ enum { - CT_CLN = 0x7101 + CT_CLN = 0 }; /* States & timers */ @@ -114,8 +115,7 @@ uint16_t oh_left_blink_timer = 0; uint8_t oh_right_blink = 0; uint16_t oh_right_blink_timer = 0; -uint8_t ct_cln_count = 0; -uint16_t ct_cln_timer = 0; +bool log_enable = false; /* The Keymap */ @@ -124,18 +124,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Base Layer * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | 1HND | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| * | Next/Prev | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | \ | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Tab | A | O | E | U | I |------| |------| D | H | T | N | S | = | + * | Tab/ARROW | A | O | E | U | I |------| |------| D | H | T | N | S | = / Arrow | * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| * | Play/Pause| / | Q | J | K | X | | | | B | M | W | V | Z | Stop | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | Left | Up | : | | - | Down | Rght | | | + * | | | | | : | | - | | | | | * `-----------------------------------' `-----------------------------------' * ,-------------. ,-------------. - * | LAlt | GUI | | MDIA | ARRW | + * | LAlt | GUI | | MDIA | 1HND | * ,------|------|------| |------+------+------. * | | | Ctrl | | LEAD | | | * |Backsp|LShift|------| |------| Enter| Space| @@ -146,67 +146,67 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_GRV ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) ,M(A_MPN) ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC -,KC_TAB ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I +,LT(ARRW,KC_TAB) ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I ,KC_MPLY ,KC_SLSH ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_LPRN -,KC_NO ,KC_NO ,KC_LEFT ,KC_UP ,CT_CLN +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN) ,F(F_ALT),F(F_GUI) ,F(F_CTRL) ,KC_BSPC,F(F_SFT),M(A_ESC) // right hand - ,M(OH_LEFT),M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 - ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS - ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL - ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP - ,KC_MINS,KC_DOWN,KC_RGHT ,KC_NO ,KC_NO + ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,KC_RBRC ,KC_F ,KC_G ,KC_C ,KC_R ,KC_L ,KC_BSLS + ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,LT(ARRW, KC_EQL) + ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP + ,KC_MINS,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,OSL(NMDIA),OSL(ARRW) + ,OSL(NMDIA),M(OH_LEFT) ,KC_LEAD ,F(F_HUN) ,KC_ENT ,KC_SPC ), -/* Keymap 1: Experimental layer +/* Keymap 1: Adore layer * * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | 1HND | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | Next/Prev | ' | , | . | P | Y | [ | | ] | L | F | C | R | J | = | + * | Next/Prev | , | . | L | W | M | [ | | ] | F | H | C | P | Y | \ | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Tab | A | O | E | U | I |------| |------| D | H | T | N | S | \ | + * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = / Arrow | * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| - * | Play/Pause| Z | G | V | K | X | | | | Q | M | W | B | / | Stop | + * | Play/Pause| / | Z | ' | K | X | | | | B | G | V | J | Q | Stop | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | Left | Up | : | | - | Down | Rght | | | + * | | | | | : | | - | | | | | * `-----------------------------------' `-----------------------------------' * ,-------------. ,-------------. - * | LAlt | GUI | | MDIA | ARRW | + * | LAlt | GUI | | MDIA | 1HND | * ,------|------|------| |------+------+------. * | | | Ctrl | | LEAD | | | * |Backsp|LShift|------| |------| Enter| Space| * | | | ESC | | HUN | | | * `--------------------' `--------------------' */ -[EXPRM] = KEYMAP( +[ADORE] = KEYMAP( // left hand KC_GRV ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) -,M(A_MPN) ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC -,KC_TAB ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I -,KC_MPLY ,KC_Z ,KC_G ,KC_V ,KC_K ,KC_X ,KC_LPRN -,KC_NO ,KC_NO ,KC_LEFT ,KC_UP ,CT_CLN +,M(A_MPN) ,KC_COMM ,KC_DOT ,KC_L ,KC_W ,KC_M ,KC_LBRC +,LT(ARRW, KC_TAB) ,KC_A ,KC_O ,KC_E ,KC_I ,KC_U +,KC_MPLY ,KC_SLSH ,KC_Z ,KC_QUOT,KC_K ,KC_X ,KC_LPRN +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,TD(CT_CLN) ,F(F_ALT),F(F_GUI) ,F(F_CTRL) ,KC_BSPC,F(F_SFT),M(A_ESC) // right hand - ,M(OH_LEFT),M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 - ,KC_RBRC ,KC_L ,KC_F ,KC_C ,KC_R ,KC_J ,KC_BSLS - ,KC_D ,KC_H ,KC_T ,KC_N ,KC_S ,KC_EQL - ,KC_RPRN ,KC_Q ,KC_M ,KC_W ,KC_B ,KC_SLSH ,KC_MSTP - ,KC_MINS,KC_DOWN,KC_RGHT ,KC_NO ,KC_NO + ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,KC_RBRC ,KC_F ,KC_H ,KC_C ,KC_P ,KC_Y ,KC_BSLS + ,KC_D ,KC_R ,KC_T ,KC_N ,KC_S ,LT(ARRW, KC_EQL) + ,KC_RPRN ,KC_B ,KC_G ,KC_V ,KC_J ,KC_Q ,KC_MSTP + ,KC_MINS,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,OSL(NMDIA),OSL(ARRW) + ,OSL(NMDIA),M(OH_LEFT) ,KC_LEAD ,F(F_HUN) ,KC_ENT ,KC_SPC ), @@ -216,19 +216,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------. ,-----------------------------------------------------. * | | | | | | | | | | | | | | | | * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | + * | | | | | | | | | | | Home | Up | End | | | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | | | | | | + * | | | | | | |------| |------| | Left | Down | Rght | | | * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| * | | | | | | | | | | | | | | | | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | Home | PgUp | | | | PgDn | End | | | + * | | | | | | | | | | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. * | | | | | | | | - * | | |------| |------| | | + * | | |------| |------| PgUp | PgDn | * | | | | | | | | * `--------------------' `--------------------' */ @@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,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_HOME ,KC_PGUP ,KC_TRNS +,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS @@ -247,14 +247,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_HOME ,KC_UP ,KC_END ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_LEFT ,KC_DOWN ,KC_RGHT ,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_PGDN ,KC_END ,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_PGUP ,KC_PGDN ), /* Keymap 3: Application select layer @@ -843,8 +843,12 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return MACRO_NONE; }; +uint8_t is_adore = 0; + // Runs just one time when the keyboard initializes. void matrix_init_user(void) { + uint8_t dl; + ergodox_led_all_on(); for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { ergodox_led_all_set (i); @@ -856,6 +860,12 @@ void matrix_init_user(void) { _delay_ms (10); } ergodox_led_all_off(); + + if (!eeconfig_is_enabled()) + eeconfig_init(); + dl = eeconfig_read_default_layer (); + if (dl == (1UL << ADORE)) + is_adore = 1; }; LEADER_EXTERNS(); @@ -882,29 +892,32 @@ void ang_tap (uint16_t codes[]) { register_code (code); \ unregister_code (code) -uint8_t is_exp = 0; - -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM) - unregister_code (KC_LGUI); - - if (ct_cln_timer && timer_elapsed (ct_cln_timer) > TAPPING_TERM) { - if (ct_cln_count == 1) { +void ang_tap_dance (qk_tap_dance_state_t *state) { + switch (state->keycode) { + case TD(CT_CLN): + if (state->count == 1) { register_code (KC_RSFT); register_code (KC_SCLN); unregister_code (KC_SCLN); unregister_code (KC_RSFT); - } else if (ct_cln_count == 2) { + } else if (state->count == 2) { register_code (KC_SCLN); unregister_code (KC_SCLN); + reset_tap_dance (state); } - - ct_cln_count = 0; - ct_cln_timer = 0; } +} + +const qk_tap_dance_action_t tap_dance_actions[] = { + [CT_CLN] = ACTION_TAP_DANCE_FN (ang_tap_dance) +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + uint8_t layer = biton32(layer_state); + + if (gui_timer && timer_elapsed (gui_timer) > TAPPING_TERM) + unregister_code (KC_LGUI); if (layer != OHLFT) oh_left_blink = 0; @@ -921,7 +934,7 @@ void matrix_scan_user(void) { ergodox_right_led_1_on (); ergodox_right_led_2_on (); ergodox_right_led_3_on (); - } else if (layer == EXPRM) { + } else if (layer == ADORE) { ergodox_right_led_1_on (); ergodox_right_led_2_on (); ergodox_right_led_3_on (); @@ -961,7 +974,7 @@ void matrix_scan_user(void) { ergodox_right_led_1_on (); } else { ergodox_right_led_1_set (LED_BRIGHTNESS_LO); - if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != EXPRM) + if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE) ergodox_right_led_1_off (); } @@ -971,7 +984,7 @@ void matrix_scan_user(void) { ergodox_right_led_2_on (); } else { ergodox_right_led_2_set (LED_BRIGHTNESS_LO); - if (layer != OHRGT && layer != HUN && layer != OHLFT && layer != NMDIA && layer != PLVR && layer != EXPRM) + if (layer != OHRGT && layer != HUN && layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE) ergodox_right_led_2_off (); } @@ -981,7 +994,7 @@ void matrix_scan_user(void) { ergodox_right_led_3_on (); } else { ergodox_right_led_3_set (LED_BRIGHTNESS_LO); - if (layer != OHRGT && layer != HUN && layer != PLVR && layer != EXPRM) + if (layer != OHRGT && layer != HUN && layer != PLVR && layer != ADORE) ergodox_right_led_3_off (); } @@ -989,6 +1002,10 @@ void matrix_scan_user(void) { leading = false; leader_end (); + SEQ_ONE_KEY (KC_D) { + log_enable = !log_enable; + } + SEQ_ONE_KEY (KC_U) { ang_do_unicode (); } @@ -1036,11 +1053,12 @@ void matrix_scan_user(void) { unregister_code (KC_LGUI); } - SEQ_ONE_KEY (KC_E) { - if (is_exp == 0) { + SEQ_ONE_KEY (KC_A) { + if (is_adore == 0) { default_layer_and (0); - default_layer_or ((1 << EXPRM)); - is_exp = 1; + default_layer_or ((1UL << ADORE)); + eeconfig_update_default_layer ((1UL << ADORE)); + is_adore = 1; ergodox_led_all_off (); ergodox_right_led_3_on (); @@ -1054,9 +1072,10 @@ void matrix_scan_user(void) { _delay_ms (100); ergodox_right_led_1_off (); } else { - is_exp = 0; + is_adore = 0; default_layer_and (0); - default_layer_or (1 << BASE); + default_layer_or (1UL << BASE); + eeconfig_update_default_layer ((1UL << BASE)); ergodox_led_all_off (); ergodox_right_led_1_on (); @@ -1075,29 +1094,11 @@ void matrix_scan_user(void) { } bool process_record_user (uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - case CT_CLN: - if (record->event.pressed) { - ct_cln_count++; - ct_cln_timer = timer_read (); - } else { - } - return false; - break; + uint8_t layer = biton32(layer_state); - default: - if (ct_cln_count == 1) { - register_code (KC_RSFT); - register_code (KC_SCLN); - unregister_code (KC_SCLN); - unregister_code (KC_RSFT); - } else if (ct_cln_count == 2) { - register_code (KC_SCLN); - unregister_code (KC_SCLN); - } - ct_cln_count = 0; - ct_cln_timer = 0; - break; + if (log_enable && layer == BASE) { + xprintf ("KL: col=%d, row=%d\n", record->event.key.col, + record->event.key.row); } return true; diff --git a/keyboards/ergodox_ez/keymaps/algernon/readme.md b/keyboards/ergodox_ez/keymaps/algernon/readme.md index 6b7e8fa2e1..2312dc59e2 100644 --- a/keyboards/ergodox_ez/keymaps/algernon/readme.md +++ b/keyboards/ergodox_ez/keymaps/algernon/readme.md @@ -1,27 +1,28 @@ + + algernon's layout ======================= -This is an unconventional layout for the ErgoDox EZ. For more details about the -history of the layout, see my -[blog posts about my ErgoDox journey][blog-ergodox]. +This is an unconventional layout for the ErgoDox EZ. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox]. [blog-ergodox]: https://asylum.madhouse-project.org/blog/tags/ergodox/ -Some of the things in the layout only work when one uses Spacemacs and GNOME -under Linux. Your mileage may vary. +Some of the things in the layout only work when one uses Spacemacs and GNOME under Linux. Your mileage may vary. ## Table of Contents * [Layouts](#layouts) - - [Base layer](#base-layer) - - [Experimental layer](#experimental-layer) - - [Hungarian layer](#hungarian-layer) - - [Navigation and media layer](#navigation-and-media-layer) - - [One-handed layer](#one-handed-layer) - - [Steno layer](#steno-layer) - - [LED states](#led-states) + - [Base layer](#base-layer) + - [ADORE layer](#adore-layer) + - [Hungarian layer](#hungarian-layer) + - [Navigation and media layer](#navigation-and-media-layer) + - [One-handed layer](#one-handed-layer) + - [Steno layer](#steno-layer) + - [LED states](#led-states) +* [Tools](#tools) + - [Heatmap](#heatmap) * [Building](#building) - - [Using on Windows](#using-on-windows) + - [Using on Windows](#using-on-windows) * [Changelog](#changelog) * [License](#license) @@ -31,133 +32,98 @@ under Linux. Your mileage may vary. [![Base layer](images/base-layer.png)](http://www.keyboard-layout-editor.com/#/gists/28f7eb305fdbff943613e1dc7aa9e82b) -At its core, this is a Dvorak layout, with some minor changes. The more -interesting parts are how certain keys behave: - -* The keys on the number row double as function keys, when held for a bit longer - than an usual tap. This allows me to use the function keys without having to - switch layers. -* The `Shift`, `Alt`, and `Control` modifiers are one-shot. When tapped, they - are considered active for the next key press only. When double tapped, they - toggle on, until a third, single tap sometime later. When held, they act as - expected. My usual pattern is that I use these for the next keypress only, so - this behaviour is perfect. If I need them held, I'll just double-tap. -* The `GUI` key is special, because when I double-tap it, it sends `GUI + w`, - which pops up an application selector. It also switches to a one-shot layer, - where the number row on the left half turns into app selector macros, for the - most common things I usually want to switch to. Otherwise it behaves as on a - normal layout. -* The `ESC` key also doubles as a one-shot cancel key: if tapped while any of - the one-shot modifiers are in-flight (as in, single-tapped, and not expired - yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if - active. Otherwise it sends the usual keycode. -* The **Media**, **Arrow**, and **Hun** layer keys are one-shot, the **1Hand** - and **STENO** keys are toggles. -* Toggling the **Arrow** layer toggles between the cursor arrows and the paging - keys on the bottom row. +At its core, this is a Dvorak layout, with some minor changes. The more interesting parts are how certain keys behave: + +* The keys on the number row double as function keys, when held for a bit longer than an usual tap. This allows me to use the function keys without having to switch layers. +* The `Shift`, `Alt`, and `Control` modifiers are one-shot. When tapped, they are considered active for the next key press only. When double tapped, they toggle on, until a third, single tap sometime later. When held, they act as expected. My usual pattern is that I use these for the next keypress only, so this behaviour is perfect. If I need them held, I'll just double-tap. +* The `GUI` key is special, because when I double-tap it, it sends `GUI + w`, which pops up an application selector. It also switches to a one-shot layer, where the number row on the left half turns into app selector macros, for the most common things I usually want to switch to. Otherwise it behaves as on a normal layout. +* The `ESC` key also doubles as a one-shot cancel key: if tapped while any of the one-shot modifiers are in-flight (as in, single-tapped, and not expired yet), it cancels all one-shot modifiers. It also cancels the **Hun** layer, if active. Otherwise it sends the usual keycode. +* The **Media** and **Hun** layer keys are one-shot, the **1Hand** and **STENO** keys are toggles. +* When holding any of the **Arrow** layer keys, the arrow layer activates while the layer key is held. Tapping the key produces the normal key. * Tapping the `:` key once yields `:`, tapping it twice yields `;`. -* The **Lead** key allows me to type in a sequence of keys, and trigger some - actions: - - `LEAD u` enters unicode input mode, by sending the GTK+ key sequence that - does this. +* The **Lead** key allows me to type in a sequence of keys, and trigger some actions: + - `LEAD u` enters unicode input mode, by sending the GTK+ key sequence that does this. - `LEAD l` uses the unicode input method to enter a `λ`. - `LEAD s` does a lot of magic to type in a shruggie: `¯\_(ツ)_/¯` - `LEAD y` types `\o/`. - `LEAD w m` maximises the currently focused window. - - `LEAD e` makes the [experimental layer](#experimental-layer) the default. + - `LEAD a` makes the [ADORE layer](#adore-layer) the default. - `LEAD v` prints the firmware version, the keyboard and the keymap. + - `LEAD d` toggles logging keypress positions to the HID console. -## Experimental layer +## ADORE layer -[![Experimental layer](images/experimental-layer.png)](http://www.keyboard-layout-editor.com/#/gists/6ff50bf71248e05aab5b3fec4fae3d08) +[![ADORE layer](images/adore-layer.png)](http://www.keyboard-layout-editor.com/#/gists/45681a17453d235925b6028dd83bf12a) -While using the standard Dvorak layout, I encountered a number of -inconveniences, and on this layer, I am playing with ideas to make the layout -feel better. Initially, it was based on [Capewell-Dvorak][cpd], but that too, -had shortcomings I was not happy with. So now this is something inbetween, with -own observations thrown in. How it works out in the long run remains to be seen. +While using the standard Dvorak layout, I encountered a number of inconveniences, and on this layer, I am playing with ideas to make the layout feel better. Initially, it was based on [Capewell-Dvorak][cpd], but that too, had shortcomings I was not happy with. So now this is something inbetween, with own observations thrown in. How it works out in the long run remains to be seen. [cpd]: http://www.michaelcapewell.com/projects/keyboard/layout_capewell-dvorak.htm + +Based on a week and a half of typing, the keys were rearranged, and the home row neatly spelled out **ADORE**, that gave the layout its name. ## Hungarian layer [![Hungarian layer](images/hun-layer.png)](http://www.keyboard-layout-editor.com/#/gists/b160f6ec90d58c127c114c89f66e9dc9) -On this layer, the accented characters are at the same position as their base -variant. For some, which can have other diatribes, the long one is on top, -short's on bottom. Tapping any of the accented characters takes us back to the -base layer. +On this layer, the accented characters are at the same position as their base variant. For some, which can have other diatribes, the long one is on top, short's on bottom. Tapping any of the accented characters takes us back to the base layer. ## Navigation and media layer [![Navigation and media layer](images/nav-n-media-layer.png)](http://www.keyboard-layout-editor.com/#/gists/c59c453f9fe1a3238ba1494e7e5c6892) -This layer is primarily for navigating with the cursor or the mouse, and some -media things. +This layer is primarily for navigating with the cursor or the mouse, and some media things. ## One-handed layer [![One-handed layer](images/one-handed-layer.png)](http://www.keyboard-layout-editor.com/#/gists/edff2495135955b8963198dace7f7ece) -The one-handed layer is used in situations where the right hand is occupied, by -mousing around, for example. Tapping the `OTHER` key switches which side is -active. For the most part, keys remain in their usual position. When the right -half is active, keys are mirrored to the left half. +The one-handed layer is used in situations where the right hand is occupied, by mousing around, for example. Tapping the `OTHER` key switches which side is active. For the most part, keys remain in their usual position. When the right half is active, keys are mirrored to the left half. The differences are as follows: -* The `ESC` key has been moved to the bottom row, so the `OTHER` key is easier - to tap. -* Most keys on the thumb cluster now have dual uses, and these do not change - when switching sides: - - The `Space`/`Backspace` key sends `Space` on tap, `Backspace` when held - for longer than a normal tap. +* The `ESC` key has been moved to the bottom row, so the `OTHER` key is easier to tap. +* Most keys on the thumb cluster now have dual uses, and these do not change when switching sides: + - The `Space`/`Backspace` key sends `Space` on tap, `Backspace` when held for longer than a normal tap. - The `Enter`/`Shift` key sends `Enter` on short-tap, `Shift` on long-tap. -* The `Apps`/`BASE` key can be used to go back to the base layer, by - long-tapping it. A short-tap will send the `App` key, as usual. +* The `Apps`/`BASE` key can be used to go back to the base layer, by long-tapping it. A short-tap will send the `App` key, as usual. ## Steno layer [![Steno layer for Plover](images/steno-layer.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667) -This is to be used with [Plover](http://www.openstenoproject.org/plover/), -nothing really fancy here. The **STENO** key toggles the layer on and off, and -sends the toggle command to Plover too. +This is to be used with [Plover](http://www.openstenoproject.org/plover/), nothing really fancy here. The **STENO** key toggles the layer on and off, and sends the toggle command to Plover too. ## LED states -The primary purpose of the LEDs is to show the modifier status, a secondary, to -show which layer is active. Each modifier, `Shift`, `Alt` and `Control` each -have their designated LEDs: the *red*, *green* and *blue*, respectively. When a -modifier is in a one-shot state, the respective LED will turn on with a dimmer -light. If the modifier is toggled on, the brightness of the LED turns full. +The primary purpose of the LEDs is to show the modifier status, a secondary, to show which layer is active. Each modifier, `Shift`, `Alt` and `Control` each have their designated LEDs: the *red*, *green* and *blue*, respectively. When a modifier is in a one-shot state, the respective LED will turn on with a dimmer light. If the modifier is toggled on, the brightness of the LED turns full. For the layers, the following rules apply: -* When the [Experimental layer](#experimental-layer) is toggled on, LEDs will - light up from left to right in a sequence, then turn off. When the layer is - toggled off, the LEDs light up and turn off in the other direction. No LEDs - are on while the layer is active. -* When the [Hungarian layer](#hungarian-layer) is active, the *green* and *blue* - LEDs are on. -* When the [Navigation and media layer](#navigation-and-media-layer) is active, - the *red* and *green* ones are on. -* When the [One-handed layer](#one-handed-layer) is active, the *green* LED is - on and bright, and either the *red* or the *blue* one is going to slowly - blink, depending on the currently active side. +* When the [ADORE layer](#adore-layer) is toggled on, LEDs will light up from left to right in a sequence, then turn off. When the layer is toggled off, the LEDs light up and turn off in the other direction. No LEDs are on while the layer is active. +* When the [Hungarian layer](#hungarian-layer) is active, the *green* and *blue* LEDs are on. +* When the [Navigation and media layer](#navigation-and-media-layer) is active, the *red* and *green* ones are on. +* When the [One-handed layer](#one-handed-layer) is active, the *green* LED is on and bright, and either the *red* or the *blue* one is going to slowly blink, depending on the currently active side. * For the [Steno layer](#steno-layer), all LEDs will be turned on. -Unless noted otherwise, the layers use a dim light for the LEDs, while modifiers -use a stronger one, and modifiers override any layer preferences. For example, -when on the one-handed layer, with the left side active (*red* light blinking), -if `Shift` is on, the *red* light will be constantly on. +Unless noted otherwise, the layers use a dim light for the LEDs, while modifiers use a stronger one, and modifiers override any layer preferences. For example, when on the one-handed layer, with the left side active (*red* light blinking), if `Shift` is on, the *red* light will be constantly on. + +# Tools + +## Heatmap + +When the keypress logging functionality is enabled (by `LEAD d`), the keyboard will output a line every time a key is pressed, containing the position of the key in the matrix. This allows one to collect this information, and build analytics over it, such as a heat map, including dead keys too. + +Included with the firmware is a small tool that can parse these logs, and create a heatmap that one can import into [KLE][kle]. To use it, simply point `tools/log-to-heatmap.py` to a base layout file (one is included in the `tools/` directory), and the key position log. The latter one can create by running `hid-listen`, and redirecting its output to a file. + + [kle]: http://www.keyboard-layout-editor.com/ + +The generated heatmap looks somewhat like this: + + ![Heatmap](images/heatmap.png) # Building -To make my workflow easier, this layout is maintained in -[its own repository][algernon:ez-layout]. To build it, you will need the -[QMK][qmk] firmware checked out, and this repo either checked out to something -like `keyboards/ergodox_ez/algernon-master`. One way to achieve that is this: +To make my workflow easier, this layout is maintained in [its own repository][algernon:ez-layout]. To build it, you will need the [QMK][qmk] firmware checked out, and this repo either checked out to something like `keyboards/ergodox_ez/algernon-master`. One way to achieve that is this: [algernon:ez-layout]: https://github.com/algernon/ergodox-layout [qmk]: https://github.com/jackhumbert/qmk_firmware @@ -170,9 +136,7 @@ $ git clone https://github.com/algernon/ergodox-layout.git \ $ make KEYBOARD=ergodox_ez KEYMAP=algernon-master ``` -From time to time, updates may be submitted back to the QMK repository. If you -are reading it there, you can build the firmware like any other firmware -included with it (assuming you are in the root directory of the firmware): +From time to time, updates may be submitted back to the QMK repository. If you are reading it there, you can build the firmware like any other firmware included with it (assuming you are in the root directory of the firmware): ``` $ make KEYBOARD=ergodox_ez KEYMAP=algernon @@ -180,43 +144,40 @@ $ make KEYBOARD=ergodox_ez KEYMAP=algernon ## Using on Windows -The keymap default to forcing NKRO, which seems to upset Windows, and except the -modifiers, none of them work. If you experience this problem, recompile the -firmware with `FORCE_NKRO=no` added to the `make` command line. +The keymap default to forcing NKRO, which seems to upset Windows, and except the modifiers, none of them work. If you experience this problem, recompile the firmware with `FORCE_NKRO=no` added to the `make` command line. # Changelog +## v1.3 - 2016-07-06 + +* Added support for logging keys, by pressing `LEAD d`. Also included is a tool to generate a [heatmap](#heatmap) out of the logs. +* The arrow and navigation keys were rearranged again, and now require an additional key being held to activate. See the [base layer](#base-layer) for an image that shows where arrows are. +* The **experimental** layer has been redone, and is now called [ADORE](#adore-layer), and as such, can be enabled by `LEAD a` now. +* Switching between Dvorak and ADORE is now persisted into EEPROM, and survives a reboot. + ## v1.2 - 2016-06-22 -* The forced NKRO mode can be easily toggled off at compile-time, to make the - firmware compatible with [certain operating systems](#using-on-windows). -* The `:;` key has changed behaviour: to access the `;` symbol, the key needs to - be double-tapped, instead of shifted. -* The `=` and `\` keys were swapped, `=` moved to the home row, on both the - [base](#base-layer) and the [experimental](#experimental-layer) layers. -* The arrow and navigation keys were redone, they are now more accessible, but - the navigation keys require an extra tap to access. -* The **Emacs** layer is gone, replaced by a simplified - [navigation and media](#navigation-and-media-layer) layer. +* The forced NKRO mode can be easily toggled off at compile-time, to make the firmware compatible with [certain operating systems](#using-on-windows). +* The `:;` key has changed behaviour: to access the `;` symbol, the key needs to be double-tapped, instead of shifted. +* The `=` and `\` keys were swapped, `=` moved to the home row, on both the [base](#base-layer) and the **experimental** layers. +* The arrow and navigation keys were redone, they are now more accessible, but the navigation keys require an extra tap to access. +* The **Emacs** layer is gone, replaced by a simplified [navigation and media](#navigation-and-media-layer) layer. * `LEAD v` types the firmware version, and the keymap version. -* On the [experimental](#experimental-layer) layer, the `L` and `Q`, and the `K` - and `G` keys were swapped. -* The [Steno](#steno-layer) layer gained a few more `#` and `*` keys, to make it - easier on my fingers. +* On the **experimental** layer, the `L` and `Q`, and the `K` and `G` keys were swapped. +* The [Steno](#steno-layer) layer gained a few more `#` and `*` keys, to make it easier on my fingers. ## v1.1 - 2016-06-14 * The keyboard starts in NKRO mode, bootmagic and other things are disabled. * A [Steno](#steno-layer) layer was added, to be used with Plover. -* An [experimental](#experimental-layer) layer was added, something halfway - between Dvorak and Capewell-Dvorak. A work in progress. +* An **experimental** layer was added, something halfway between Dvorak and Capewell-Dvorak. A work in progress. * `LEAD y` types `\o/`. * Some keys on the [Base](#base-layer) layer have been moved around: - - `?` moved to the left pinky, left of `Q`. - - `=` shifted one row down, but `F11` stayed where it was. - - `-` on the left half was replaced by `Tab`. - - `Tab`'s original position is taken by a `Media Next`/`Media Prev` key. - - `:` now inputs `;` when shifted. + - `?` moved to the left pinky, left of `Q`. + - `=` shifted one row down, but `F11` stayed where it was. + - `-` on the left half was replaced by `Tab`. + - `Tab`'s original position is taken by a `Media Next`/`Media Prev` key. + - `:` now inputs `;` when shifted. * `ESC` cancels the [Hungarian](#hungarian-layer) layer too, not just modifiers. ## v1.0 - 2016-05-26 @@ -225,6 +186,4 @@ Initial version. # License -The layout, being a derivative of the original TMK firmware which is under the -GPL-2+, this layout is under the GPL as well, but GPL-3+, rather than the older -version. +The layout, being a derivative of the original TMK firmware which is under the GPL-2+, this layout is under the GPL as well, but GPL-3+, rather than the older version. diff --git a/keyboards/ergodox_ez/keymaps/algernon/tools/heatmap-base-layout.json b/keyboards/ergodox_ez/keymaps/algernon/tools/heatmap-base-layout.json new file mode 100644 index 0000000000..148bb1f23b --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/algernon/tools/heatmap-base-layout.json @@ -0,0 +1,533 @@ +[ + { + "backcolor": "#ffffff", + "name": "ErgoDox - algernon's layout: Heatmap", + "author": "Gergely Nagy ", + "notes": "See [here](https://github.com/algernon/ergodox-layout#readme) for the QMK keymap source.", + "switchMount": "cherry", + "switchBrand": "gateron", + "switchType": "KS-3-Tea", + "pcb": true, + "css": ".keyborder { -webkit-filter: blur(5px); filter: blur(5px); } .keytop { -webkit-filter: blur(10px); } .keylabels { border: 1px solid black; }" + }, + [ + { + "x": 3.5, + "c": "#a7d0db", + "fa": [ + 0, + 0, + 2 + ] + }, + "#\n3\nF3", + { + "x": 10.5, + "c": "#a7d0db", + "t": "#000000", + "a": 4, + "fa": [ + 0, + 0, + 2 + ] + }, + "*\n8\nF8" + ], + [ + { + "y": -0.875, + "x": 2.5, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "@\n2\nF2", + { + "x": 1, + "c": "#7adabd", + "t": "#000000" + }, + "$\n4\nF4", + { + "x": 8.5 + }, + "&\n7\nF7", + { + "x": 1, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "(\n9\nF9" + ], + [ + { + "y": -0.875, + "x": 5.5, + "c": "#7adabd", + "t": "#000000" + }, + "%\n5\nF5", + { + "c": "#f9cd31", + "a": 7, + "f": 2 + }, + "STENO", + { + "x": 4.5, + "f": 6 + }, + "", + { + "c": "#7adabd", + "a": 4, + "f": 3, + "fa": [ + 0, + 0, + 2 + ] + }, + "^\n6\nF6" + ], + [ + { + "y": -0.875, + "c": "#ffb2d2", + "f": 3, + "w": 1.5 + }, + "\n\n~\n`", + { + "t": "#0d0d0b" + }, + "!\n1\nF1", + { + "x": 14.5 + }, + ")\n0\nF10", + { + "a": 7, + "w": 1.5 + }, + "F11" + ], + [ + { + "y": -0.375, + "x": 3.5, + "c": "#a7d0db", + "t": "#000000", + "a": 4 + }, + ">\n.", + { + "x": 10.5, + "a": 6 + }, + "C" + ], + [ + { + "y": -0.875, + "x": 2.5, + "c": "#bfbad1", + "t": "#0d0d0b", + "a": 4 + }, + "<\n,", + { + "x": 1, + "c": "#7adabd", + "t": "#000000", + "a": 6 + }, + "P", + { + "x": 8.5 + }, + "G", + { + "x": 1, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "R" + ], + [ + { + "y": -0.875, + "x": 5.5, + "c": "#7adabd", + "t": "#000000" + }, + "Y", + { + "c": "#93c9b7", + "a": 4, + "h": 1.5 + }, + "{\n[", + { + "x": 4.5, + "h": 1.5 + }, + "}\n]", + { + "c": "#7adabd", + "a": 6 + }, + "F" + ], + [ + { + "y": -0.875, + "c": "#ffb07b", + "t": "#0d0d0b", + "f": 6, + "w": 1.5 + }, + "\n\n", + { + "c": "#ffb2d2", + "a": 4, + "f": 3 + }, + "\"\n'", + { + "x": 14.5, + "a": 6 + }, + "L", + { + "a": 4, + "w": 1.5 + }, + "|\n\\" + ], + [ + { + "y": -0.375, + "x": 3.5, + "c": "#a7d0db", + "t": "#000000", + "a": 6 + }, + "E", + { + "x": 10.5 + }, + "T" + ], + [ + { + "y": -0.875, + "x": 2.5, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "O", + { + "x": 1, + "c": "#7adabd", + "t": "#000000", + "n": true + }, + "U", + { + "x": 8.5, + "n": true + }, + "H", + { + "x": 1, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "N" + ], + [ + { + "y": -0.875, + "x": 5.5, + "c": "#7adabd", + "t": "#000000" + }, + "I", + { + "x": 6.5 + }, + "D" + ], + [ + { + "y": -0.875, + "c": "#ffb2d2", + "t": "#0d0d0b", + "fa": [ + 6 + ], + "w": 1.5 + }, + "\n\nTab", + { + "f": 3 + }, + "A", + { + "x": 14.5, + "f": 3 + }, + "S", + { + "a": 4, + "fa": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6 + ], + "w": 1.5 + }, + "+\n=" + ], + [ + { + "y": -0.625, + "x": 6.5, + "c": "#93c9b7", + "t": "#000000", + "a": 7, + "h": 1.5 + }, + "(", + { + "x": 4.5, + "h": 1.5 + }, + ")" + ], + [ + { + "y": -0.75, + "x": 3.5, + "c": "#a7d0db", + "a": 6 + }, + "J", + { + "x": 10.5 + }, + "W" + ], + [ + { + "y": -0.875, + "x": 2.5, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "Q", + { + "x": 1, + "c": "#7adabd", + "t": "#000000" + }, + "K", + { + "x": 8.5 + }, + "M", + { + "x": 1, + "c": "#bfbad1", + "t": "#0d0d0b" + }, + "V" + ], + [ + { + "y": -0.875, + "x": 5.5, + "c": "#7adabd", + "t": "#000000" + }, + "X", + { + "x": 6.5 + }, + "B" + ], + [ + { + "y": -0.875, + "c": "#ffb07b", + "f": 9, + "w": 1.5 + }, + "\n\n", + { + "c": "#ffb2d2", + "t": "#0d0d0b", + "a": 4, + "f": 3 + }, + "?\n/", + { + "x": 14.5, + "a": 6 + }, + "Z", + { + "c": "#ffb07b", + "t": "#000000", + "f": 9, + "w": 1.5 + }, + "" + ], + [ + { + "y": -0.375, + "x": 3.5, + "c": "#d9dae0", + "g": true, + "a": 7, + "f": 3 + }, + "", + { + "x": 10.5 + }, + "" + ], + [ + { + "y": -0.875, + "x": 2.5 + }, + "", + { + "x": 1, + "c": "#d4872a", + "g": false, + "a": 5 + }, + ";\n:", + { + "x": 8.5 + }, + "_\n-", + { + "x": 1, + "c": "#d9dae0", + "g": true, + "a": 7 + }, + "" + ], + [ + { + "y": -0.75, + "x": 0.5 + }, + "", + {}, + "", + { + "x": 14.5 + }, + "", + {}, + "" + ], + [ + { + "r": 30, + "rx": 6.5, + "ry": 4.25, + "y": -1, + "x": 1, + "c": "#f9cd31", + "g": false + }, + "Alt", + { + "a": 4, + "fa": [ + 0, + 0, + 0, + 9 + ] + }, + "\n\n\n" + ], + [ + { + "c": "#d4872a", + "a": 7, + "f": 9, + "h": 2 + }, + "", + { + "h": 2 + }, + "", + { + "c": "#f9cd31", + "f": 3 + }, + "Ctrl" + ], + [ + { + "x": 2, + "c": "#e26757" + }, + "ESC" + ], + [ + { + "r": -30, + "rx": 13, + "y": -1, + "x": -3, + "c": "#f9cd31", + "f": 2 + }, + "MEDIA", + {}, + "1HAND" + ], + [ + { + "x": -3 + }, + "LEAD", + { + "c": "#d4872a", + "f": 9, + "h": 2 + }, + "", + { + "f": 3, + "h": 2 + }, + "SPC" + ], + [ + { + "x": -3, + "c": "#f9cd31", + "f": 2 + }, + "HUN" + ] +] diff --git a/keyboards/ergodox_ez/keymaps/algernon/tools/log-to-heatmap.py b/keyboards/ergodox_ez/keymaps/algernon/tools/log-to-heatmap.py new file mode 100755 index 0000000000..a13d12e81a --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/algernon/tools/log-to-heatmap.py @@ -0,0 +1,145 @@ +#! /usr/bin/env python +import json +import os +import sys +import re + +from math import floor + +cr_coord_map = [ + [ + # Row 0 + [ 4, 0], [ 4, 2], [ 2, 0], [ 1, 0], [ 2, 2], [ 3, 0], [ 3, 2], + [ 3, 4], [ 3, 6], [ 2, 4], [ 1, 2], [ 2, 6], [ 4, 4], [ 4, 6], + ], + [ + # Row 1 + [ 8, 0], [ 8, 2], [ 6, 0], [ 5, 0], [ 6, 2], [ 7, 0], [ 7, 2], + [ 7, 4], [ 7, 6], [ 6, 4], [ 5, 2], [ 6, 6], [ 8, 4], [ 8, 6], + ], + [ + # Row 2 + [12, 0], [12, 2], [10, 0], [ 9, 0], [10, 2], [11, 0], [ ], + [ ], [11, 2], [10, 4], [ 9, 2], [10, 6], [12, 4], [12, 6], + ], + [ + # Row 3 + [17, 0], [17, 2], [15, 0], [14, 0], [15, 2], [16, 0], [13, 0], + [13, 2], [16, 2], [15, 4], [14, 2], [15, 6], [17, 4], [17, 6], + ], + [ + # Row 4 + [20, 0], [20, 2], [19, 0], [18, 0], [19, 2], [], [], [], [], + [19, 4], [18, 2], [19, 6], [20, 4], [20, 6], + ], + [ + # Row 5 + [ ], [23, 0], [22, 2], [22, 0], [22, 4], [21, 0], [21, 2], + [24, 0], [24, 2], [25, 0], [25, 4], [25, 2], [26, 0], [ ], + ], +] + +def set_attr_at(j, b, n, attr, fn, val): + blk = j[b][n] + if attr in blk: + blk[attr] = fn(blk[attr], val) + else: + blk[attr] = fn(None, val) + +def coord(col, row): + return cr_coord_map[row][col] + +def set_attr(orig, new): + return new + +def set_bg(j, (b, n), color): + set_attr_at(j, b, n, "c", set_attr, color) + #set_attr_at(j, b, n, "g", set_attr, False) + +def _set_tap_info(o, count, cap): + ns = 4 - o.count ("\n") + return o + "\n" * ns + "%.02f%%" % (float(count) / float(cap) * 100) + +def set_tap_info(j, (b, n), count, cap): + j[b][n + 1] = _set_tap_info (j[b][n + 1], count, cap) + +def heatmap_color (v): + colors = [ [0.3, 0.3, 1], [0.3, 1, 0.3], [1, 1, 0.3], [1, 0.3, 0.3]] + fb = 0 + if v <= 0: + idx1, idx2 = 0, 0 + elif v >= 1: + idx1, idx2 = len(colors) - 1, len(colors) - 1 + else: + val = v * (len(colors) - 1) + idx1 = int(floor(val)) + idx2 = idx1 + 1 + fb = val - float(idx1) + + r = (colors[idx2][0] - colors[idx1][0]) * fb + colors[idx1][0] + g = (colors[idx2][1] - colors[idx1][1]) * fb + colors[idx1][1] + b = (colors[idx2][2] - colors[idx1][2]) * fb + colors[idx1][2] + + r, g, b = [x * 255 for x in r, g, b] + return "#%02x%02x%02x" % (r, g, b) + +# Load the keylog +def load_keylog(fname, restrict_row): + keylog = {} + total = 0 + with open(fname, "r") as f: + lines = f.readlines() + for line in lines: + m = re.search ('KL: col=(\d+), row=(\d+)', line) + if not m: + continue + (c, r) = (int(m.group (2)), int(m.group (1))) + if restrict_row != None and r != int(restrict_row): + continue + if (c, r) in keylog: + keylog[(c, r)] = keylog[(c, r)] + 1 + else: + keylog[(c, r)] = 1 + total = total + 1 + return total / 2, keylog + +def l_flat(s): + f = s.split("\n") + return ", ".join (f) + +def main(base_fn, log_fn, restrict_row = None): + + with open(base_fn, "r") as f: + layout = json.load (f) + + ## Reset colors + for row in cr_coord_map: + for col in row: + if col != []: + set_bg (layout, col, "#d9dae0") + #set_attr_at (layout, col[0], col[1], "g", set_attr, True) + + total, log = load_keylog (log_fn, restrict_row) + max_cnt = 0 + for (c, r) in log: + max_cnt = max(max_cnt, log[(c, r)]) + + # Create the heatmap + for (c, r) in log: + coords = coord(c, r) + b, n = coords + cap = max_cnt + v = float(log[(c, r)]) / cap + print >> sys.stderr, "%s => %d/%d => %f = %s" % (l_flat(layout[b][n+1]), log[(c,r)], cap, v, heatmap_color(v)) + set_bg (layout, coord(c, r), heatmap_color (v)) + set_tap_info (layout, coord (c, r), log[(c, r)], total) + + print json.dumps(layout) + +if __name__ == "__main__": + if len(sys.argv) < 3: + print """Log to Heatmap -- creates a heatmap out of keyboard logs + +Usage: log-to-heatmap.py base-layout.json logfile [row] >layout.json""" + sys.exit (1) + main(*sys.argv[1:]) -- cgit v1.2.1 From f4cb84c9402cd58628b6cf895fc24fc34fcffdbd Mon Sep 17 00:00:00 2001 From: Will Wolff-Myren Date: Sun, 24 Jul 2016 14:33:17 -0700 Subject: Remove images, per @ezuk request. =) --- .../keymaps/teckinesis/advantage_layout_win.png | Bin 93337 -> 0 bytes keyboards/ergodox_ez/keymaps/teckinesis/readme.md | 10 ---------- .../ergodox_ez/keymaps/teckinesis/teck209layout.jpg | Bin 89673 -> 0 bytes 3 files changed, 10 deletions(-) delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png delete mode 100644 keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg (limited to 'keyboards/ergodox_ez/keymaps') diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png b/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png deleted file mode 100644 index 0a1df68091..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/advantage_layout_win.png and /dev/null differ diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md index 84b7375056..9494a4d4c2 100644 --- a/keyboards/ergodox_ez/keymaps/teckinesis/readme.md +++ b/keyboards/ergodox_ez/keymaps/teckinesis/readme.md @@ -43,13 +43,3 @@ the [Kinesis Advantage](http://www.kinesis-ergo.com/wp-content/uploads/2013/06/a * Removed Power, Sleep, Mail, My Computer keys. (I kept hitting these while using the mouse/cursor. =P) -# Truly Ergonomic and Kinesis Advantage Layouts - -## TECK 209 Layout ## - -![TECK 209 Layout](teck209layout.jpg) - -## Kinesis Advantage Layout ## - -![Kinesis Advantage Layout](advantage_layout_win.png) - diff --git a/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg b/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg deleted file mode 100644 index a97844f4fc..0000000000 Binary files a/keyboards/ergodox_ez/keymaps/teckinesis/teck209layout.jpg and /dev/null differ -- cgit v1.2.1