From 552399df4cef88463ea8ac40822d776d0fb90e18 Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Mon, 8 Aug 2016 18:34:08 -0700 Subject: Adding my own keymaps to the following keyboards: Planck, Preonic, Atreus, Ergodox --- keyboards/ergodox/keymaps/xyverz/dvorak.png | Bin 0 -> 87314 bytes keyboards/ergodox/keymaps/xyverz/keymap.c | 184 +++++++++++++++ keyboards/ergodox/keymaps/xyverz/old_keymap.c | 311 ++++++++++++++++++++++++++ keyboards/ergodox/keymaps/xyverz/readme.md | 10 + 4 files changed, 505 insertions(+) create mode 100644 keyboards/ergodox/keymaps/xyverz/dvorak.png create mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c create mode 100644 keyboards/ergodox/keymaps/xyverz/old_keymap.c create mode 100644 keyboards/ergodox/keymaps/xyverz/readme.md (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/dvorak.png b/keyboards/ergodox/keymaps/xyverz/dvorak.png new file mode 100644 index 0000000000..cb83163095 Binary files /dev/null and b/keyboards/ergodox/keymaps/xyverz/dvorak.png differ diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c new file mode 100644 index 0000000000..dd39dbacb2 --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | \ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, + TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, + KC_UP, KC_DOWN,KC_SLSH,KC_EQL, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + 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_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + 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_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + 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) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/xyverz/old_keymap.c b/keyboards/ergodox/keymaps/xyverz/old_keymap.c new file mode 100644 index 0000000000..e082372f9b --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/old_keymap.c @@ -0,0 +1,311 @@ +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" + +extern keymap_config_t keymap_config; + +#define _DVORAK 0 // default layer +#define _QWERTY 1 // symbols +#define _LOWER 2 +#define _RAISE 3 +#define _ADJUST 16 + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* + * Keymap 0: Dvorak + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + * + * + ***************************************************************************************************** + * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak + * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor- + * ner keys. I've decided to continue using this layout with my ErgoDox. + */ + + [_DVORAK] = ( + KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, LOWER, + KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL, KC_LALT, + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, + NO, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + RAISE, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, + KC_RALT, KC_RCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC +), + +/* Keymap 1: QWERTY + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +[_QWERTY] = ( + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + {ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), + RAISE, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT +), + + +/* Lower 2: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +[_LOWER] = ( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + 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_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), + +/* Raise 3: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[_RAISE] = ( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + 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_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), + +/* Adjust 16: Lower + Raise + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | Reset| | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| |Dvorak|Qwerty| | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[_ADJUST] = ( + KC_TRNS, RESET, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, QWERTY, DVORAK, 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 +), + +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DVORAK: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DVORAK); + } + break; + case _QWERTY: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QWERTY); + } + break; + case _LOWER: + if (record->event.pressed) { + layer_on(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_LOWER); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + break; + case _RAISE: + if (record->event.pressed) { + layer_on(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } else { + layer_off(_RAISE); + update_tri_layer(_LOWER, _RAISE, _ADJUST); + } + 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) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md new file mode 100644 index 0000000000..8f6dba45e9 --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -0,0 +1,10 @@ +# ErgoDox EZ Default Configuration + +## Changelog + +* Feb 2, 2016 (V1.1): + * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows). + +This is what we ship with out of the factory. :) The image says it all: + +![Default](default_highres.png) -- cgit v1.2.3 From de1db144d06b488937633110b0598a1cac68f4fc Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:44:09 -0700 Subject: Delete dvorak.png Not reflective of my layout. --- keyboards/ergodox/keymaps/xyverz/dvorak.png | Bin 87314 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/dvorak.png (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/dvorak.png b/keyboards/ergodox/keymaps/xyverz/dvorak.png deleted file mode 100644 index cb83163095..0000000000 Binary files a/keyboards/ergodox/keymaps/xyverz/dvorak.png and /dev/null differ -- cgit v1.2.3 From bf93fa510bcc5cec84bcd9d81cb8fae6beb1ebb4 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:46:34 -0700 Subject: Delete readme.md file cleanup, removing file that doesn't apply to my layout. --- keyboards/ergodox/keymaps/xyverz/readme.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/readme.md (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md deleted file mode 100644 index 8f6dba45e9..0000000000 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -# ErgoDox EZ Default Configuration - -## Changelog - -* Feb 2, 2016 (V1.1): - * Made the right-hand quote key double as Cmd/Win on hold. So you get ' when you tap it, " when you tap it with Shift, and Cmd or Win when you hold it. You can then use it as a modifier, or just press and hold it for a moment (and then let go) to send a single Cmd or Win keystroke (handy for opening the Start menu on Windows). - -This is what we ship with out of the factory. :) The image says it all: - -![Default](default_highres.png) -- cgit v1.2.3 From c060afe68eb729fd3afcfdb3f16e28730ab868b3 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:47:13 -0700 Subject: Delete old_keymap.c file cleanup --- keyboards/ergodox/keymaps/xyverz/old_keymap.c | 311 -------------------------- 1 file changed, 311 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/old_keymap.c (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/old_keymap.c b/keyboards/ergodox/keymaps/xyverz/old_keymap.c deleted file mode 100644 index e082372f9b..0000000000 --- a/keyboards/ergodox/keymaps/xyverz/old_keymap.c +++ /dev/null @@ -1,311 +0,0 @@ -#include "ergodox.h" -#include "debug.h" -#include "action_layer.h" - -extern keymap_config_t keymap_config; - -#define _DVORAK 0 // default layer -#define _QWERTY 1 // symbols -#define _LOWER 2 -#define _RAISE 3 -#define _ADJUST 16 - -// Fillers to make layering more clear -#define _______ KC_TRNS -#define XXXXXXX KC_NO - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - * Keymap 0: Dvorak - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ] | 1 | 2 | 3 | 4 | 5 | Esc | | ESC | 6 | 7 | 8 | 9 | 0 | [ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | ' | , | . | Y | Y |(Null)| |(Null)| F | G | C | R | L | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | - * |--------+------+------+------+------+------| FN1 | | FN2 |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | LCtr | LAlt | | Ralt | RCtr | - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | BkSp | Del |------| |------| Enter| Space| - * | | | End | | PgDn | | | - * `--------------------' `--------------------' - * - * - ***************************************************************************************************** - * This Dvorak keyboard layout stems from my early Kinesis years, using the Contour PS/2 with a Dvorak - * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the cor- - * ner keys. I've decided to continue using this layout with my ErgoDox. - */ - - [_DVORAK] = ( - KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, - KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, - KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, LOWER, - KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, - KC_LCTL, KC_LALT, - KC_HOME, - KC_BSPC, KC_DEL, KC_END, - // right hand - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, - NO, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, - KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, - RAISE, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, - KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, - KC_RALT, KC_RCTL, - KC_PGUP, - KC_PGDN, KC_ENT, KC_SPC -), - -/* Keymap 1: QWERTY - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -[_QWERTY] = ( - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, - KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NO, - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, LOWER, - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - {ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, - KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, - KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), - RAISE, KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, - KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT -), - - -/* Lower 2: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[_LOWER] = ( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - 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_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - -/* Raise 3: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[_RAISE] = ( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - 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_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_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), - -/* Adjust 16: Lower + Raise - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | Reset| | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| |Dvorak|Qwerty| | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -[_ADJUST] = ( - KC_TRNS, RESET, 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_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, QWERTY, DVORAK, 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 -), - -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) -}; - -void persistant_default_layer_set(uint16_t default_layer) { - eeconfig_update_default_layer(default_layer); - default_layer_set(default_layer); -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case _DVORAK: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_DVORAK); - } - break; - case _QWERTY: - if (record->event.pressed) { - persistant_default_layer_set(1UL<<_QWERTY); - } - break; - case _LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - break; - case _RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - 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) { - - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; -- cgit v1.2.3 From c062b6a13d7974144b5ab02896d2213051fd91ad Mon Sep 17 00:00:00 2001 From: Xyverz Date: Mon, 8 Aug 2016 18:52:48 -0700 Subject: Delete keymap.c file cleanup --- keyboards/ergodox/keymaps/xyverz/keymap.c | 184 ------------------------------ 1 file changed, 184 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c deleted file mode 100644 index dd39dbacb2..0000000000 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ /dev/null @@ -1,184 +0,0 @@ -#include "ergodox.h" -#include "debug.h" -#include "action_layer.h" - -#define BASE 0 // default layer -#define SYMB 1 // symbols -#define MDIA 2 // media keys - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Basic layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | \ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Del | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - | - * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| - * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | App | LGui | | Alt |Ctrl/Esc| - * ,------|------|------| |------+--------+------. - * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | - * `--------------------' `----------------------' - */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[BASE] = KEYMAP( // layer 0 : default - // left hand - KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, - KC_DELT, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), - KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, - KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), - LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, - ALT_T(KC_APP), KC_LGUI, - KC_HOME, - KC_SPC,KC_BSPC,KC_END, - // right hand - KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, - TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, - KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, - MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, - KC_UP, KC_DOWN,KC_SLSH,KC_EQL, KC_FN1, - KC_LALT, CTL_T(KC_ESC), - KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT - ), -/* Keymap 1: Symbol Layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// SYMBOLS -[SYMB] = KEYMAP( - // left hand - KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, - KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, - 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_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, - KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, - KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), -/* Keymap 2: Media and mouse keys - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | MsUp | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | Prev | Next | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | |Brwser| - * | | |------| |------| |Back | - * | | | | | | | | - * `--------------------' `--------------------' - */ -// MEDIA AND MOUSE -KEYMAP( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, - 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_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_MPLY, - KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, - KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_WBAK -), -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - // MACRODOWN only works in this function - switch(id) { - case 0: - if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); - } - 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) { - - uint8_t layer = biton32(layer_state); - - ergodox_board_led_off(); - ergodox_right_led_1_off(); - ergodox_right_led_2_off(); - ergodox_right_led_3_off(); - switch (layer) { - // TODO: Make this relevant to the ErgoDox EZ. - case 1: - ergodox_right_led_1_on(); - break; - case 2: - ergodox_right_led_2_on(); - break; - default: - // none - break; - } - -}; -- cgit v1.2.3 From 6f700f1eb0c76aa19187efd83ab2b49a0db7f71f Mon Sep 17 00:00:00 2001 From: Ian Sterling Date: Tue, 9 Aug 2016 23:49:27 -0700 Subject: Adding my own layouts for the Phantom and Ergodox. My Ergodox layout adds persistent layers based on the Planck and Preonic setup. The layout arrays are pulled directly from the ergodox/ez/ez.h keymap definition starting at line 81. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 311 ++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 keyboards/ergodox/keymaps/xyverz/keymap.c (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c new file mode 100644 index 0000000000..c5ce99dd22 --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -0,0 +1,311 @@ +/* + * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak + * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner + * keys. I've decided to continue using this layout with my ErgoDox. + * + * The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional + * keys as shown in the diagrams. The Colemak layout is merely an adaptation of that. + * + * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck + * layouts. + * + * For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the + * keymap is defined, beginning on line 81. + * + */ + +#include "ergodox.h" +#include "debug.h" +#include "action_layer.h" +#include "eeconfig.h" + +extern keymap_config_t keymap_config; + +#define _DV 0 // Dvorak layer +#define _QW 1 // Qwerty layer +#define _CM 2 // Colemak layer +#define _MD 3 // Media Layer +#define _KP 4 // Keypad Layer + +// Macro name shortcuts +#define DVORAK M(_DV) +#define QWERTY M(_QW) +#define COLEMAK M(_CM) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Dvorak layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + * + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_DV] = { // layer 0 : Dvorak + // left hand + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, + {KC_2, KC_COMM, KC_O, KC_Q, KC_INS, KC_DEL }, + {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT, KC_BSPC}, + {KC_4, KC_P, KC_U, KC_K, KC_RGHT, KC_HOME}, + {KC_5, KC_Y, KC_I, KC_X, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_F, KC_D, KC_B, KC_NO, KC_RCTL}, + {KC_7, KC_G, KC_H, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_C, KC_T, KC_W, KC_DOWN, KC_SPC }, + {KC_9, KC_R, KC_N, KC_V, KC_SLSH, KC_ENT }, + {KC_0, KC_L, KC_S, KC_Z, KC_EQL, KC_PGDN}, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO } +}, + +/* Keymap 1: QWERTY layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_QW] = { // layer 1 : QWERTY + // left hand + {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, + {KC_2, KC_W, KC_S, KC_X, KC_INS, KC_DEL }, + {KC_3, KC_E, KC_D, KC_C, KC_LEFT, KC_BSPC}, + {KC_4, KC_R, KC_F, KC_V, KC_RGHT, KC_HOME}, + {KC_5, KC_T, KC_G, KC_B, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_Y, KC_H, KC_N, KC_NO, KC_RCTL}, + {KC_7, KC_U, KC_J, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_I, KC_K, KC_COMM, KC_DOWN, KC_SPC }, + {KC_9, KC_O, KC_L, KC_DOT, KC_LBRC, KC_ENT }, + {KC_0, KC_P, KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN}, + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + }, + +/* Keymap 2: Colemak layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCtr | LAlt | | Ralt | RCtr | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[_CM] = { // layer 2 : Colemak + // left hand + {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO }, + {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, + {KC_2, KC_W, KC_R, KC_X, KC_INS, KC_DEL }, + {KC_3, KC_F, KC_S, KC_C, KC_LEFT, KC_BSPC}, + {KC_4, KC_P, KC_T, KC_V, KC_RGHT, KC_HOME}, + {KC_5, KC_G, KC_D, KC_B, KC_NO, KC_LCTL}, + {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + + // right hand + {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, + {KC_6, KC_J, KC_H, KC_K, KC_NO, KC_RCTL}, + {KC_7, KC_L, KC_N, KC_M, KC_UP, KC_PGUP}, + {KC_8, KC_U, KC_E, KC_COMM, KC_DOWN, KC_SPC }, + {KC_9, KC_Y, KC_I, KC_DOT, KC_LBRC, KC_ENT }, + {KC_0, KC_SCLN, KC_O, KC_SLSH, KC_RBRC, KC_PGDN}, + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + }, + +/* Keymap 3: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | PrSc | ScLk | Paus | | FN4 | | FN5 | | Mute | Vol- | Vol+ | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | + * |--------+------+------+------+------+------| FN4 | | FN5 |------+------+------+------+------+--------| + * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Media Layer +[_MD] = { // layer 3 : Media layer + // left hand + {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO }, + {KC_F1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F2, KC_PSCR, KC_TRNS, DVORAK, KC_TRNS, KC_TRNS}, + {KC_F3, KC_SLCK, KC_TRNS, QWERTY, KC_TRNS, KC_TRNS}, + {KC_F4, KC_PAUS, KC_TRNS, COLEMAK, KC_TRNS, KC_TRNS}, + {KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F11, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + + // right hand + {KC_F12, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F6, KC_TRNS, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS}, + {KC_F7, KC_MUTE, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F8, KC_VOLD, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F9, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_F10, KC_TRNS, KC_MSEL, KC_TRNS, KC_TRNS, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO } + }, + +/* Keymap 4: Keypad layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Sleep | | | | | | FN5 | | FN4 | | KP 7 | KP 8 | KP 9 | KP + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | + * |--------+------+------+------+------+------| FN5 | | FN4 |------+------+------+------+------+--------| + * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | KP 0 | | KP . |KP Ent| | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// Keypad Layer +[_KP] = { // layer 4 : Keypad layer + // left hand + {KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO }, + {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_NO, KC_TRNS}, + {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + + // right hand + {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, + {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, KC_TRNS}, + {KC_PSLS, KC_P8, KC_P5, KC_P2, KC_NO, KC_TRNS}, + {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, KC_TRNS}, + {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, KC_TRNS}, + {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO } + }, + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case _DV: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_DV); + } + break; + case _QW: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_QW); + } + break; + case _CM: + if (record->event.pressed) { + persistant_default_layer_set(1UL<<_CM); + } + 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) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; -- cgit v1.2.3 From b98d47abe544c68ffba745b6643a777f8f61a03c Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Fri, 12 Aug 2016 16:36:07 +0200 Subject: ergodox: Update my keymap to v1.5 Major changes include: * The **1HAND** layer has been removed. * A `Delete` key is now available on the right thumb cluster. * The **ADORE** layer received a major update, see the updated layout image. * It is now possible to enable automatic logging for the **ADORE** layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. * The `~` key and the `Media Next/Prev` key have been swapped on the **base** layer. * On the **ARROW** layer, `Backspace` has been replaced by `Enter`. * There is some experimental support for entering Unicode symbols. Signed-off-by: Gergely Nagy --- keyboards/ergodox/keymaps/algernon/Makefile | 7 + .../keymaps/algernon/images/adore-layer.png | Bin 95615 -> 93748 bytes .../ergodox/keymaps/algernon/images/base-layer.png | Bin 95654 -> 95222 bytes .../keymaps/algernon/images/one-handed-layer.png | Bin 91140 -> 0 bytes keyboards/ergodox/keymaps/algernon/keymap.c | 2422 ++++++++++---------- keyboards/ergodox/keymaps/algernon/readme.md | 52 +- 6 files changed, 1244 insertions(+), 1237 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/algernon/images/one-handed-layer.png (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/algernon/Makefile b/keyboards/ergodox/keymaps/algernon/Makefile index 6bf3976b9d..00194857ac 100644 --- a/keyboards/ergodox/keymaps/algernon/Makefile +++ b/keyboards/ergodox/keymaps/algernon/Makefile @@ -8,10 +8,17 @@ CONSOLE_ENABLE = no TAP_DANCE_ENABLE = yes KEYLOGGER_ENABLE ?= yes +ADORE_AUTOLOG ?= no + ifeq (${FORCE_NKRO},yes) OPT_DEFS += -DFORCE_NKRO endif +ifeq (${ADORE_AUTOLOG},yes) +KEYLOGGER_ENABLE = yes +OPT_DEFS += -DADORE_AUTOLOG +endif + ifeq (${KEYLOGGER_ENABLE},yes) OPT_DEFS += -DKEYLOGGER_ENABLE CONSOLE_ENABLE = yes diff --git a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png index 3df68ea53d..44ad8a1eb7 100644 Binary files a/keyboards/ergodox/keymaps/algernon/images/adore-layer.png and b/keyboards/ergodox/keymaps/algernon/images/adore-layer.png differ diff --git a/keyboards/ergodox/keymaps/algernon/images/base-layer.png b/keyboards/ergodox/keymaps/algernon/images/base-layer.png index 7b25a05b3a..da159fbe2e 100644 Binary files a/keyboards/ergodox/keymaps/algernon/images/base-layer.png and b/keyboards/ergodox/keymaps/algernon/images/base-layer.png differ diff --git a/keyboards/ergodox/keymaps/algernon/images/one-handed-layer.png b/keyboards/ergodox/keymaps/algernon/images/one-handed-layer.png deleted file mode 100644 index 698d11e5f2..0000000000 Binary files a/keyboards/ergodox/keymaps/algernon/images/one-handed-layer.png and /dev/null differ diff --git a/keyboards/ergodox/keymaps/algernon/keymap.c b/keyboards/ergodox/keymaps/algernon/keymap.c index c4de53da27..244bfb51fe 100644 --- a/keyboards/ergodox/keymaps/algernon/keymap.c +++ b/keyboards/ergodox/keymaps/algernon/keymap.c @@ -1,1218 +1,1206 @@ -/* - * algernon's ErgoDox EZ layout, please see the readme.md file! - */ - -#include "ergodox.h" -#include "led.h" -#include "debug.h" -#include "action_layer.h" -#include "action_util.h" -#include "mousekey.h" -#include "timer.h" -#include "keymap_plover.h" -#include "eeconfig.h" -#include "wait.h" +/* + * algernon's ErgoDox EZ layout, please see the readme.md file! + */ + +#include "ergodox.h" +#include "led.h" +#include "debug.h" +#include "action_layer.h" +#include "action_util.h" +#include "mousekey.h" +#include "timer.h" +#include "keymap_plover.h" +#include "eeconfig.h" +#include "wait.h" #include "version.h" - -/* Layers */ - -enum { - BASE = 0, - ADORE, - ARRW, - APPSEL, - HUN, - NMDIA, - OHLFT, - OHRGT, - PLVR, -}; - -/* Macros */ - -enum { - NONE = 0, - // Buttons that do extra stuff - A_GUI, - A_PLVR, - A_ESC, - A_MPN, - - // Function / number keys - KF_1, // 1, F1 - KF_2, // 2, F2 - KF_3, // ... - KF_4, - KF_5, - KF_6, - KF_7, - KF_8, - KF_9, - KF_10, - KF_11, // =, F11 - - // Application select keys - APP_SLK, // Slack - APP_EMCS, // Emacs - APP_TERM, // Terminal - APP_CHRM, // Chrome - APP_MSIC, // Music - - // Diagonal mouse movement - A_MUL, - A_MUR, - A_MDL, - A_MDR, - - // Hungarian layer keys - HU_AA, // Á - HU_OO, // Ó - HU_EE, // É - HU_UU, // Ú - HU_II, // Í - HU_OE, // Ö - HU_UE, // Ü - HU_OEE, // Ő - HU_UEE, // Ű - - // One-handed layout specials - OH_BSSPC, - OH_ENTSFT, - OH_BASE, - OH_LEFT, - OH_RIGHT, -}; - -/* Fn keys */ - -enum { - F_BSE = 0, - F_HUN, - F_GUI, - F_SFT, - F_ALT, - F_CTRL -}; - -/* Custom keycodes */ - -enum { - CT_CLN = 0, - CT_MNS, - CT_TA, -}; - -/* States & timers */ - -uint16_t gui_timer = 0; - -uint16_t kf_timers[12]; - -uint16_t oh_base_timer = 0; -uint16_t oh_bsspc_timer = 0; -uint16_t oh_entsft_timer = 0; - -#define OH_BLINK_INTERVAL 500 - -uint8_t oh_left_blink = 0; -uint16_t oh_left_blink_timer = 0; -uint8_t oh_right_blink = 0; -uint16_t oh_right_blink_timer = 0; - -#if KEYLOGGER_ENABLE -bool log_enable = false; -#endif - -bool time_travel = false; - -/* The Keymap */ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Keymap 0: Base Layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | `~ | 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/ARROW | A | O | E | U | I |------| |------| D | H | T | N | S | = / Arrow | - * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| - * | Play/Pause| / | Q | J | K | X | | | | B | M | W | V | Z | Stop | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | : | | - | | | | | - * `-----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | LAlt | GUI | | MDIA | 1HND | - * ,------|------|------| |------+------+------. - * | | | Ctrl | | LEAD | | | - * |Backsp|LShift|------| |------| Enter| Space| - * | | | ESC | | HUN | | | - * `--------------------' `--------------------' - */ -[BASE] = 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 -,TD(CT_TA) ,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_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 - ,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 ,KC_EQL - ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP - ,TD(CT_MNS),KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,OSL(NMDIA),M(OH_LEFT) - ,KC_LEAD - ,F(F_HUN) ,KC_ENT ,KC_SPC - ), - -/* Keymap 1: Adore layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | `~ | 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 | , | . | L | W | M | [ | | ] | F | H | C | P | Y | \ | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = / Arrow | - * |-----------+------+------+------+------+------| ( | | ) |------+------+------+------+------+-----------| - * | Play/Pause| / | Z | ' | K | X | | | | B | G | V | J | Q | Stop | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | : | | - | | | | | - * `-----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | LAlt | GUI | | MDIA | 1HND | - * ,------|------|------| |------+------+------. - * | | | Ctrl | | LEAD | | | - * |Backsp|LShift|------| |------| Enter| Space| - * | | | ESC | | HUN | | | - * `--------------------' `--------------------' - */ -[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_COMM ,KC_DOT ,KC_L ,KC_W ,KC_M ,KC_LBRC -,TD(CT_TA) ,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 - ,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 ,KC_EQL - ,KC_RPRN ,KC_B ,KC_G ,KC_V ,KC_J ,KC_Q ,KC_MSTP - ,TD(CT_MNS),KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,OSL(NMDIA),M(OH_LEFT) - ,KC_LEAD - ,F(F_HUN) ,KC_ENT ,KC_SPC - ), - -/* Keymap 2: Arrow layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | Home | Up | End | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | Left | Down | Rght | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| PgUp | PgDn | - * | | | | | | | | - * `--------------------' `--------------------' - */ - -[ARRW] = KEYMAP( -// left hand - 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 ,KC_TRNS ,KC_TRNS - - // 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_PGUP ,KC_PGDN - ), - -/* Keymap 3: Application select layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | |Music |Slack |Emacs |Term |Chrome| | | | | | | | | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ - -[APPSEL] = KEYMAP( -// left hand - KC_TRNS ,M(APP_MSIC),M(APP_SLK),M(APP_EMCS),M(APP_TERM),M(APP_CHRM),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_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,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 - ), - - -/* Keymap 4: Hungarian Layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | Ő | | Ű | | | | | | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | Á | Ó | É | Ú | Í |------| |------| | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | Ö | | Ü | | | | | | | | | | | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | BASE | | | - * `--------------------' `--------------------' - */ - -[HUN] = KEYMAP( -// left hand - KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO -,KC_NO ,KC_NO ,M(HU_OEE),KC_NO ,M(HU_UEE),KC_NO ,KC_NO -,KC_NO ,M(HU_AA),M(HU_OO) ,M(HU_EE),M(HU_UU) ,M(HU_II) -,KC_NO ,KC_NO ,M(HU_OE) ,KC_NO ,M(HU_UE) ,KC_NO ,KC_NO -,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_NO ,KC_NO - ,KC_NO - ,KC_NO ,KC_TRNS ,KC_TRNS - - // right hand - ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_NO ,KC_NO - ,KC_NO - ,F(F_BSE),KC_TRNS ,KC_TRNS - ), - -/* Keymap 5: Navigation & Media layer - * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | MS Slow | | | | | |ScrLCK| |ScrLCK| | | | | | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | MS Normal | | Home | Up | PgUp | | | |Scroll| |MsUpL | MsUp |MsUpR | |PrintScreen| - * |-----------+------+------+------+------+------| | | Up |------+------+------+------+------+-----------| - * | MS Fast | | Left | Down | Right| |------| |------| |MsLeft| MsDn |MsRght| | | - * |-----------+------+------+------+------+------| | |Scroll|------+------+------+------+------+-----------| - * | Play/Pause| | End | Down | PgDn | | | | Down | |MsDnL | MsDn |MsDnR | | Stop | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | Mute | VlUp | | BASE | MClk | - * ,------|------|------| |------+------+------. - * | | | VlDn | | Prev |Left |Right | - * | SPC | Enter|------| |------| Click| Click| - * | | | ESC | | Next | | | - * `--------------------' `--------------------' - */ -[NMDIA] = KEYMAP( -// left hand - KC_ACL0 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LGUI(KC_L) -,KC_ACL1 ,KC_NO ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_NO -,KC_ACL2 ,KC_NO ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO -,KC_MPLY ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_NO -,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_MUTE ,KC_VOLU - ,KC_VOLD - ,KC_SPC,KC_ENTER,M(A_ESC) - - // right hand - ,LGUI(KC_L),KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_WH_U ,KC_NO ,M(A_MUL),KC_MS_U ,M(A_MUR),KC_NO ,KC_PSCR - ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO - ,KC_WH_D ,KC_NO ,M(A_MDL),KC_MS_D ,M(A_MDR),KC_NO ,KC_MSTP - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_TRNS ,KC_MS_BTN3 - ,KC_MPRV - ,KC_MNXT ,KC_BTN1 ,KC_BTN2 - ), - -/* Keymap 6: One-handed, left side - * - * ,-----------------------------------------------------. - * | `~ | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 |A BSE| - * |-----------+------+------+------+------+-------------| - * | Tab | ' | , | . | P | Y | [ | - * |-----------+------+------+------+------+------| | - * | - | A | O | E | U | I |------| - * |-----------+------+------+------+------+------| ( | - * | Play/Pause| ; | Q | J | K | X | | - * `-----------+------+------+------+------+-------------' - * | Home | End | Down | Up | ESC | - * `-----------------------------------' - * ,-------------. - * | LAlt | GUI | - * ,------|------|------| - * |BackSp|LShift| Ctrl | - * | | |------| - * |Space |Enter |OTHER | - * `--------------------' - */ -[OHLFT] = KEYMAP( -// left hand - KC_GRV ,M(KF_1) ,M(KF_2) ,M(KF_3) ,M(KF_4) ,M(KF_5) ,M(OH_BASE) -,KC_TAB ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC -,KC_MINS ,KC_A ,KC_O ,KC_E ,KC_U ,KC_I -,KC_MPLY ,KC_SCLN ,KC_Q ,KC_J ,KC_K ,KC_X ,KC_LPRN -,KC_HOME ,KC_END ,KC_DOWN ,KC_UP ,M(A_ESC) - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,M(OH_BSSPC),M(OH_ENTSFT),M(OH_RIGHT) - - // right hand - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_NO ,KC_NO - ,KC_NO - ,KC_NO ,KC_NO ,KC_NO - ), - -/* Keymap 7: One-handed, right side - * - * ,-----------------------------------------------------. - * | = F11 | 0 F10| 9 F9 | 8 F8 | 7 F7 | 6 F6 |A BSE| - * |-----------+------+------+------+------+-------------| - * | / | L | R | C | G | F | ] | - * |-----------+------+------+------+------+------| | - * | \ | S | N | T | H | D |------| - * |-----------+------+------+------+------+------| ) | - * | Stop | Z | V | W | M | B | | - * `-----------+------+------+------+------+-------------' - * | PgDn | PgUp | Right| Left | ESC | - * `-----------------------------------' - * ,-------------. - * | LAlt | GUI | - * ,------|------|------| - * |BackSp|LShift| Ctrl | - * | | |------| - * |Space |Enter |OTHER | - * `--------------------' - */ -[OHRGT] = KEYMAP( -// left hand - M(KF_11) ,M(KF_10) ,M(KF_9) ,M(KF_8) ,M(KF_7) ,M(KF_6) ,M(OH_BASE) -,KC_SLSH ,KC_L ,KC_R ,KC_C ,KC_G ,KC_F ,KC_RBRC -,KC_BSLS ,KC_S ,KC_N ,KC_T ,KC_H ,KC_D -,KC_MSTP ,KC_Z ,KC_V ,KC_W ,KC_M ,KC_B ,KC_RPRN -,KC_PGDN ,KC_PGUP ,KC_RGHT ,KC_LEFT ,M(A_ESC) - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,M(OH_BSSPC),M(OH_ENTSFT),M(OH_LEFT) - - // right hand - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO - - ,KC_NO ,KC_NO - ,KC_NO - ,KC_NO ,KC_NO ,KC_NO - ), - -/* Keymap 8: Steno for Plover - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | BASE | | | | | | | | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | # | # | # | # | # | # | | # | # | # | # | # | # | # | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | T | P | H | |------| |------| | F | P | L | T | D | - * |--------+ S +------+------+------+ * | * | | * | * +------+------+------+------+--------| - * | | | K | W | R | | | | | | R | B | G | S | Z | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | A | O |------| |------| E | U | - * | | | | | | | | - * `--------------------' `--------------------' - */ - -[PLVR] = KEYMAP( -// left hand -KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(A_PLVR), -KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, -KC_NO, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR, -KC_NO, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR, -KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_NO, - PV_A, PV_O, KC_NO, - - // right hand - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, - PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD, - PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ, - KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, - KC_NO, - KC_NO,PV_E, PV_U - ), - -}; - -const uint16_t PROGMEM fn_actions[] = { - [F_BSE] = ACTION_LAYER_CLEAR(ON_PRESS) - ,[F_HUN] = ACTION_LAYER_INVERT(HUN, ON_PRESS) - ,[F_GUI] = ACTION_MACRO_TAP(A_GUI) - ,[F_SFT] = ACTION_MODS_ONESHOT (MOD_LSFT) - ,[F_ALT] = ACTION_MODS_ONESHOT (MOD_LALT) - ,[F_CTRL] = ACTION_MODS_ONESHOT (MOD_LCTL) -}; - -void toggle_steno(int pressed) -{ - uint8_t layer = biton32(layer_state); - - if (pressed) { - if (layer != PLVR) layer_on(PLVR); else layer_off(PLVR); - - register_code(PV_LP); - register_code(PV_LH); - register_code(PV_LR); - register_code(PV_O); - register_code(PV_RL); - register_code(PV_RG); - } else { - unregister_code(PV_LP); - unregister_code(PV_LH); - unregister_code(PV_LR); - unregister_code(PV_O); - unregister_code(PV_RL); - unregister_code(PV_RG); - } -} - -macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) -{ - uint8_t need_shift = 0; - uint8_t hold_shift = 0; - - if (!record->event.pressed) - return MACRO_NONE; - - layer_off (HUN); - - if (keyboard_report->mods & MOD_BIT (KC_LSFT)) { - hold_shift = 1; - need_shift = 1; - unregister_code (KC_LSFT); - } - if ((get_oneshot_mods () & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out ()) { - need_shift = 1; - hold_shift = 0; - unregister_code (KC_LSFT); - } - - clear_oneshot_mods (); - - register_code (KC_RALT); - unregister_code (KC_RALT); - if (accent == (KC_DQT)) { - register_code (KC_RSFT); - } - register_code (accent); - unregister_code (accent); - if (need_shift && accent != (KC_DQT)) { - register_code (KC_RSFT); - } else if (accent == (KC_DQT) && !need_shift) { - unregister_code (KC_RSFT); - } - register_code (hun_char); - unregister_code (hun_char); - if (need_shift || accent == (KC_DQT)) - unregister_code (KC_RSFT); - if (hold_shift) - register_code (KC_LSFT); - - return MACRO_NONE; -} - -void ang_handle_kf (keyrecord_t *record, uint8_t id) -{ - uint8_t code = id - KF_1; - - if (record->event.pressed) { - kf_timers[code] = timer_read (); - } else { - uint8_t kc; - - if (timer_elapsed (kf_timers[code]) > TAPPING_TERM) { - // Long press - kc = KC_F1 + code; - } else { - if (id == KF_11) - kc = KC_EQL; - else - kc = KC_1 + code; - } - - register_code (kc); - unregister_code (kc); - } -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { - case A_ESC: - if (record->event.pressed) { - if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { - clear_oneshot_mods (); - } else { - register_code (KC_ESC); - } - layer_off (HUN); - } else { - unregister_code (KC_ESC); - } - break; - - case A_MPN: - if (record->event.pressed) { - if (keyboard_report->mods & MOD_BIT(KC_LSFT) || - ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { - int oneshot = ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out()); - - if (oneshot) - clear_oneshot_mods (); - unregister_code (KC_LSFT); - - register_code (KC_MPRV); - unregister_code (KC_MPRV); - - if (!oneshot) - register_code (KC_LSFT); - } else { - return MACRO (T(MNXT), END); - } - } - break; - - /* Hungarian layer */ - case HU_AA: - return ang_do_hun (record, KC_QUOT, KC_A); - case HU_OO: - return ang_do_hun (record, KC_QUOT, KC_O); - case HU_EE: - return ang_do_hun (record, KC_QUOT, KC_E); - case HU_UU: - return ang_do_hun (record, KC_QUOT, KC_U); - case HU_II: - return ang_do_hun (record, KC_QUOT, KC_I); - case HU_OE: - return ang_do_hun (record, KC_DQT, KC_O); - case HU_UE: - return ang_do_hun (record, KC_DQT, KC_U); - case HU_OEE: - return ang_do_hun (record, KC_EQL, KC_O); - case HU_UEE: - return ang_do_hun (record, KC_EQL, KC_U); - - /* Mouse movement */ - case A_MUL: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - break; - - case A_MUR: - if (record->event.pressed) { - mousekey_on(KC_MS_UP); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_UP); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - break; - - case A_MDL: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_LEFT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_LEFT); - } - mousekey_send(); - break; - - case A_MDR: - if (record->event.pressed) { - mousekey_on(KC_MS_DOWN); - mousekey_on(KC_MS_RIGHT); - } else { - mousekey_off(KC_MS_DOWN); - mousekey_off(KC_MS_RIGHT); - } - mousekey_send(); - break; - - /* Plover base */ - case A_PLVR: - toggle_steno(record->event.pressed); - break; - - /* GUI & AppSel */ - case A_GUI: - if (record->event.pressed) { - register_code (KC_LGUI); - if (record->tap.count && !record->tap.interrupted) { - if (record->tap.count >= 2) { - register_code (KC_W); - layer_on (APPSEL); - set_oneshot_layer (APPSEL, ONESHOT_START); - } - } else { - record->tap.count = 0; - } - gui_timer = 0; - } else { - if (record->tap.count >= 2) - { - unregister_code (KC_W); - clear_oneshot_layer_state (ONESHOT_PRESSED); - } - gui_timer = timer_read (); - } - break; - - case APP_SLK: - return MACRODOWN(T(S), T(L), T(A), T(C), T(K), T(ENT), END); - - case APP_EMCS: - return MACRODOWN(T(E), T(M), T(A), T(C), T(S), T(ENT), END); - - case APP_TERM: - return MACRODOWN(T(T), T(E), T(R), T(M), T(ENT), END); - - case APP_CHRM: - return MACRODOWN(T(C), T(H), T(R), T(O), T(M), T(ENT), END); - - case APP_MSIC: - return MACRODOWN(T(R), T(H), T(Y), T(T), T(H), T(M), T(B), T(O), T(X), T(ENT), END); - - /* Function keys */ - case KF_1 ... KF_11: - ang_handle_kf (record, id); - break; - - /* 1HAND layout */ - case OH_BASE: - if (record->event.pressed) { - oh_base_timer = timer_read (); - } else { - if (timer_elapsed (oh_base_timer) > TAPPING_TERM) { - layer_clear (); - } else { - return MACRO (T(APP), END); - } - } - break; - - case OH_BSSPC: - if (record->event.pressed) { - oh_bsspc_timer = timer_read (); - } else { - if (timer_elapsed (oh_bsspc_timer) > TAPPING_TERM) { - return MACRO (T(BSPC), END); - } else { - return MACRO (T(SPC), END); - } - } - break; - - case OH_ENTSFT: - if (record->event.pressed) { - oh_entsft_timer = timer_read (); - } else { - if (timer_elapsed (oh_entsft_timer) > TAPPING_TERM) { - if (keyboard_report->mods & MOD_BIT(KC_LSFT)) - unregister_code (KC_LSFT); - else - register_code (KC_LSFT); - } else { - return MACRO (T(ENT), END); - } - } - break; - - case OH_LEFT: - if (record->event.pressed) { - layer_move (OHLFT); - oh_left_blink = 1; - oh_left_blink_timer = timer_read (); - ergodox_right_led_1_on (); - } - break; - - case OH_RIGHT: - if (record->event.pressed) { - layer_move (OHRGT); - oh_right_blink = 1; - oh_right_blink_timer = timer_read (); - ergodox_right_led_3_on (); - } - break; - } - 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); - wait_ms (5); - } - wait_ms(1000); - for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { - ergodox_led_all_set (i); - wait_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(); - -void ang_do_unicode (void) { - register_code (KC_RCTL); - register_code (KC_RSFT); - register_code (KC_U); - unregister_code (KC_U); - unregister_code (KC_RSFT); - unregister_code (KC_RCTL); - wait_ms (100); -} - -void ang_tap (uint16_t codes[]) { - for (int i = 0; codes[i] != 0; i++) { - register_code (codes[i]); - unregister_code (codes[i]); - wait_ms (50); - } -} - -#define TAP_ONCE(code) \ - register_code (code); \ - unregister_code (code) - -void ang_tap_dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_RSFT); - register_code (KC_SCLN); - } else if (state->count == 2) { - register_code (KC_SCLN); - } -} - -void ang_tap_dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_SCLN); - unregister_code (KC_RSFT); - } else if (state->count == 2) { - unregister_code (KC_SCLN); - } -} - -void ang_tap_dance_mns_finished (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - register_code (KC_MINS); - } else if (state->count == 2) { - register_code (KC_RSFT); - register_code (KC_MINS); - } -} - -void ang_tap_dance_mns_reset (qk_tap_dance_state_t *state, void *user_data) { - if (state->count == 1) { - unregister_code (KC_MINS); - } else if (state->count == 2) { - unregister_code (KC_RSFT); - unregister_code (KC_MINS); - } -} - -typedef struct { - bool layer_toggle; - bool sticky; - bool finished_once; -} td_ta_state_t; - -void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { - td_ta_state_t *td_ta = (td_ta_state_t *) user_data; - - if (td_ta->finished_once) { - return; - } - - if (td_ta->sticky) { - td_ta->sticky = false; - td_ta->layer_toggle = false; - layer_off (ARRW); - return; - } - - td_ta->finished_once = true; - if (state->count == 1 && !state->pressed) { - register_code (KC_TAB); - td_ta->sticky = false; - td_ta->layer_toggle = false; - } else { - td_ta->layer_toggle = true; - layer_on (ARRW); - td_ta->sticky = (state->count == 2); - } -} - -void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { - td_ta_state_t *td_ta = (td_ta_state_t *) user_data; - - if (!td_ta->layer_toggle) - unregister_code (KC_TAB); - if (!td_ta->sticky) - layer_off (ARRW); - - td_ta->finished_once = false; -} - -const qk_tap_dance_action_t tap_dance_actions[] = { - [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) - ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) - ,[CT_TA] = { - .fn = { NULL, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset }, - .user_data = (void *)&((td_ta_state_t) { false, false, false }) - } -}; - -// 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; - if (layer != OHRGT) - oh_right_blink = 0; - - if (layer == HUN) { - ergodox_right_led_2_on(); - ergodox_right_led_3_on(); - } else if (layer == NMDIA) { - ergodox_right_led_1_on(); - ergodox_right_led_2_on(); - } else if (layer == PLVR) { - ergodox_right_led_1_on (); - ergodox_right_led_2_on (); - ergodox_right_led_3_on (); - } else if (layer == ADORE) { - ergodox_right_led_1_on (); - ergodox_right_led_2_on (); - ergodox_right_led_3_on (); - - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - } - - if (layer == OHLFT || layer == OHRGT) { - ergodox_right_led_2_on(); - - if (oh_left_blink) { - if (timer_elapsed (oh_left_blink_timer) > OH_BLINK_INTERVAL) { - if ((keyboard_report->mods & MOD_BIT(KC_LSFT)) == 0) - ergodox_right_led_1_off (); - } - if (timer_elapsed (oh_left_blink_timer) > OH_BLINK_INTERVAL * 2) { - ergodox_right_led_1_on (); - oh_left_blink_timer = timer_read (); - } - } - - if (oh_right_blink) { - if (timer_elapsed (oh_right_blink_timer) > OH_BLINK_INTERVAL) { - if ((keyboard_report->mods & MOD_BIT(KC_LCTRL)) == 0) - ergodox_right_led_3_off (); - } - if (timer_elapsed (oh_right_blink_timer) > OH_BLINK_INTERVAL * 2) { - ergodox_right_led_3_on (); - oh_right_blink_timer = timer_read (); - } - } - } - - if (keyboard_report->mods & MOD_BIT(KC_LSFT) || - ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_1_set (LED_BRIGHTNESS_HI); - ergodox_right_led_1_on (); - } else { - ergodox_right_led_1_set (LED_BRIGHTNESS_LO); - if (layer != OHLFT && layer != NMDIA && layer != PLVR && layer != ADORE) - ergodox_right_led_1_off (); - } - - if (keyboard_report->mods & MOD_BIT(KC_LALT) || - ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_2_set (LED_BRIGHTNESS_HI); - 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 != ADORE) - ergodox_right_led_2_off (); - } - - if (keyboard_report->mods & MOD_BIT(KC_LCTRL) || - ((get_oneshot_mods() & MOD_BIT(KC_LCTRL)) && !has_oneshot_mods_timed_out())) { - ergodox_right_led_3_set (LED_BRIGHTNESS_HI); - ergodox_right_led_3_on (); - } else { - ergodox_right_led_3_set (LED_BRIGHTNESS_LO); - if (layer != OHRGT && layer != HUN && layer != PLVR && layer != ADORE) - ergodox_right_led_3_off (); - } - - LEADER_DICTIONARY() { - leading = false; - leader_end (); - -#if KEYLOGGER_ENABLE - SEQ_ONE_KEY (KC_D) { - ergodox_led_all_on(); - wait_ms(100); - ergodox_led_all_off(); - log_enable = !log_enable; - } -#endif - - SEQ_ONE_KEY (KC_T) { - time_travel = !time_travel; - } - - SEQ_ONE_KEY (KC_U) { - ang_do_unicode (); - } - - SEQ_ONE_KEY (KC_V) { - SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ (" QMK_VERSION "/" KEYMAP_VERSION ")"); - } - - SEQ_ONE_KEY (KC_L) { - /* λ */ - ang_do_unicode (); - - uint16_t codes[] = {KC_0, KC_3, KC_B, KC_B, KC_ENT, 0}; - ang_tap (codes); - } - - SEQ_ONE_KEY (KC_Y) { - uint16_t codes[] = {KC_BSLS, KC_O, KC_SLSH, 0}; - ang_tap (codes); - } - - SEQ_ONE_KEY (KC_S) { - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); - TAP_ONCE (KC_BSLS); - register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); - ang_do_unicode (); TAP_ONCE (KC_3); TAP_ONCE (KC_0); TAP_ONCE (KC_C); TAP_ONCE (KC_4); TAP_ONCE (KC_SPC); - register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); - TAP_ONCE (KC_SLSH); - ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); - } - - SEQ_TWO_KEYS (KC_W, KC_M) { - register_code (KC_LALT); - register_code (KC_F2); - unregister_code (KC_F2); - unregister_code (KC_LALT); - - wait_ms (1000); - - uint16_t codes[] = {KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0}; - ang_tap (codes); - register_code (KC_LGUI); - register_code (KC_UP); - unregister_code (KC_UP); - unregister_code (KC_LGUI); - } - - SEQ_ONE_KEY (KC_A) { - if (is_adore == 0) { - default_layer_and (0); - default_layer_or ((1UL << ADORE)); - eeconfig_update_default_layer ((1UL << ADORE)); - is_adore = 1; - - ergodox_led_all_off (); - ergodox_right_led_3_on (); - wait_ms (100); - ergodox_right_led_2_on (); - wait_ms (100); - ergodox_right_led_3_off (); - ergodox_right_led_1_on (); - wait_ms (100); - ergodox_right_led_2_off (); - wait_ms (100); - ergodox_right_led_1_off (); - } else { - is_adore = 0; - default_layer_and (0); - default_layer_or (1UL << BASE); - eeconfig_update_default_layer ((1UL << BASE)); - - ergodox_led_all_off (); - ergodox_right_led_1_on (); - wait_ms (100); - ergodox_right_led_2_on (); - wait_ms (100); - ergodox_right_led_1_off (); - ergodox_right_led_3_on (); - wait_ms (100); - ergodox_right_led_2_off (); - wait_ms (100); - ergodox_right_led_3_off (); - } - } - } -} - -static uint16_t last4[4]; - -bool process_record_user (uint16_t keycode, keyrecord_t *record) { -#if KEYLOGGER_ENABLE - uint8_t layer = biton32(layer_state); - - if (log_enable && layer == BASE) { - xprintf ("KL: col=%d, row=%d\n", record->event.key.col, - record->event.key.row); - } -#endif - - if (time_travel && !record->event.pressed) { - uint8_t p; - - // shift cache one to the left - for (p = 0; p < 3; p++) { - last4[p] = last4[p + 1]; - } - last4[3] = keycode; - - if (last4[0] == KC_D && last4[1] == KC_A && last4[2] == KC_T && last4[3] == KC_E) { - uint16_t codes[] = {KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0}; - ang_tap (codes); - register_code (KC_RSFT); - register_code (KC_EQL); - unregister_code (KC_EQL); - unregister_code (KC_RSFT); - - uint16_t codes2[] = {KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0}; - ang_tap (codes2); - - return false; - } - } - - return true; -} + +/* Layers */ + +enum { + BASE = 0, + ADORE, + ARRW, + APPSEL, + HUN, + NMDIA, + PLVR, +}; + +/* Macros */ + +enum { + NONE = 0, + // Buttons that do extra stuff + A_GUI, + A_PLVR, + A_ESC, + A_MPN, + + // Function / number keys + KF_1, // 1, F1 + KF_2, // 2, F2 + KF_3, // ... + KF_4, + KF_5, + KF_6, + KF_7, + KF_8, + KF_9, + KF_10, + KF_11, // =, F11 + + // Application select keys + APP_SLK, // Slack + APP_EMCS, // Emacs + APP_TERM, // Terminal + APP_CHRM, // Chrome + APP_MSIC, // Music + + // Diagonal mouse movement + A_MUL, + A_MUR, + A_MDL, + A_MDR, + + // Hungarian layer keys + HU_AA, // Á + HU_OO, // Ó + HU_EE, // É + HU_UU, // Ú + HU_II, // Í + HU_OE, // Ö + HU_UE, // Ü + HU_OEE, // Ő + HU_UEE, // Ű +}; + +/* Fn keys */ + +enum { + F_BSE = 0, + F_HUN, + F_GUI, + F_SFT, + F_ALT, + F_CTRL +}; + +/* Custom keycodes */ + +enum { + CT_CLN = 0, + CT_MNS, + CT_TA, + CT_LBP, + CT_RBP +}; + +/* States & timers */ + +uint16_t gui_timer = 0; + +uint16_t kf_timers[12]; + +#if KEYLOGGER_ENABLE +bool log_enable = false; +#endif + +bool time_travel = false; + +/* The Keymap */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Keymap 0: Base Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | Next/Prev | 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | ~ | ' | , | . | P | Y | [ | | ] | F | G | C | R | L | \ | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | 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 | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | : | | - | | | | | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | LAlt | GUI | | MDIA | Del | + * ,------|------|------| |------+------+------. + * | | | Ctrl | | LEAD | | | + * |Backsp|LShift|------| |------| Enter| Space| + * | | | ESC | | HUN | | | + * `--------------------' `--------------------' + */ +[BASE] = KEYMAP( +// left hand + M(A_MPN) ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) +,KC_GRV ,KC_QUOT ,KC_COMM ,KC_DOT ,KC_P ,KC_Y ,KC_LBRC +,TD(CT_TA) ,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_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 + ,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 ,KC_EQL + ,KC_RPRN ,KC_B ,KC_M ,KC_W ,KC_V ,KC_Z ,KC_MSTP + ,TD(CT_MNS),KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,OSL(NMDIA),KC_DEL + ,KC_LEAD + ,F(F_HUN) ,KC_ENT ,KC_SPC + ), + +/* Keymap 1: Adore layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | Play/Pause| 1 F1 | 2 F2 | 3 F3 | 4 F4 | 5 F5 | Plvr | | Apps | 6 F6 | 7 F7 | 8 F8 | 9 F9 | 0 F10| F11 | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | `~ | X | W | K | L | M | ( | | ) | F | H | C | P | Y | \ | + * |-----------+------+------+------+------+------| [ | | ] |------+------+------+------+------+-----------| + * | Tab/Arrow | A | O | E | I | U |------| |------| D | R | T | N | S | = | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | Z | Q | ' | , | . | : | | - | B | G | V | J | / | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | LAlt | GUI | | MDIA | Del | + * ,------|------|------| |------+------+------. + * | | | Ctrl | | HUN | | | + * |Backsp|LShift|------| |------| Enter| Space| + * | | | ESC | | LEAD | | | + * `--------------------' `--------------------' + */ +[ADORE] = KEYMAP( +// left hand + KC_MPLY ,M(KF_1) ,M(KF_2) ,M(KF_3),M(KF_4),M(KF_5),M(A_PLVR) +,KC_GRV ,KC_X ,KC_W ,KC_K ,KC_L ,KC_M ,TD(CT_LBP) +,TD(CT_TA) ,KC_A ,KC_O ,KC_E ,KC_I ,KC_U +,KC_NO ,KC_Z ,KC_Q ,KC_QUOT,KC_COMM,KC_DOT ,TD(CT_CLN) +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,F(F_ALT),F(F_GUI) + ,F(F_CTRL) + ,KC_BSPC,F(F_SFT),M(A_ESC) + + // right hand + ,KC_APP ,M(KF_6),M(KF_7),M(KF_8),M(KF_9) ,M(KF_10) ,KC_F11 + ,TD(CT_RBP),KC_F ,KC_H ,KC_C ,KC_P ,KC_Y ,KC_BSLS + ,KC_D ,KC_R ,KC_T ,KC_N ,KC_S ,KC_EQL + ,TD(CT_MNS),KC_B ,KC_G ,KC_V ,KC_J ,KC_SLSH ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,OSL(NMDIA),KC_DEL + ,F(F_HUN) + ,KC_LEAD ,KC_ENT ,KC_SPC + ), + +/* Keymap 2: Arrow layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | Home | Up | End | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | Left | Down | Rght | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | Enter| |------| |------| PgUp | PgDn | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[ARRW] = KEYMAP( +// left hand + 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_ENT ,KC_TRNS ,KC_TRNS + + // 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_PGUP ,KC_PGDN + ), + +/* Keymap 3: Application select layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | |Music |Slack |Emacs |Term |Chrome| | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | | | | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[APPSEL] = KEYMAP( +// left hand + KC_TRNS ,M(APP_MSIC),M(APP_SLK),M(APP_EMCS),M(APP_TERM),M(APP_CHRM),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_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,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 + ), + + +/* Keymap 4: Hungarian Layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | | | Ő | | Ű | | | | | | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | Á | Ó | É | Ú | Í |------| |------| | | | | | | + * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| + * | | | Ö | | Ü | | | | | | | | | | | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | BASE | | | + * `--------------------' `--------------------' + */ + +[HUN] = KEYMAP( +// left hand + KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,M(HU_OEE),KC_NO ,M(HU_UEE),KC_NO ,KC_NO +,KC_NO ,M(HU_AA),M(HU_OO) ,M(HU_EE),M(HU_UU) ,M(HU_II) +,KC_NO ,KC_NO ,M(HU_OE) ,KC_NO ,M(HU_UE) ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_NO ,KC_NO + ,KC_NO + ,KC_NO ,KC_TRNS ,KC_TRNS + + // right hand + ,KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_NO ,KC_NO + ,KC_NO + ,F(F_BSE),KC_TRNS ,KC_TRNS + ), + +/* Keymap 5: Navigation & Media layer + * + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | MS Slow | | | | | |ScrLCK| |ScrLCK| | | | | | | + * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| + * | MS Normal | | Home | Up | PgUp | | | |Scroll| |MsUpL | MsUp |MsUpR | |PrintScreen| + * |-----------+------+------+------+------+------| | | Up |------+------+------+------+------+-----------| + * | MS Fast | | Left | Down | Right| |------| |------| |MsLeft| MsDn |MsRght| | | + * |-----------+------+------+------+------+------| | |Scroll|------+------+------+------+------+-----------| + * | Play/Pause| | End | Down | PgDn | | | | Down | |MsDnL | MsDn |MsDnR | | Stop | + * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | Mute | VlUp | | BASE | MClk | + * ,------|------|------| |------+------+------. + * | | | VlDn | | Prev |Left |Right | + * | SPC | Enter|------| |------| Click| Click| + * | | | ESC | | Next | | | + * `--------------------' `--------------------' + */ +[NMDIA] = KEYMAP( +// left hand + KC_ACL0 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,LGUI(KC_L) +,KC_ACL1 ,KC_NO ,KC_HOME ,KC_UP ,KC_PGUP ,KC_NO ,KC_NO +,KC_ACL2 ,KC_NO ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_NO +,KC_MPLY ,KC_NO ,KC_END ,KC_DOWN ,KC_PGDN ,KC_NO ,KC_NO +,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_MUTE ,KC_VOLU + ,KC_VOLD + ,KC_SPC,KC_ENTER,M(A_ESC) + + // right hand + ,LGUI(KC_L),KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + ,KC_WH_U ,KC_NO ,M(A_MUL),KC_MS_U ,M(A_MUR),KC_NO ,KC_PSCR + ,KC_NO ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_NO ,KC_NO + ,KC_WH_D ,KC_NO ,M(A_MDL),KC_MS_D ,M(A_MDR),KC_NO ,KC_MSTP + ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO + + ,KC_TRNS ,KC_MS_BTN3 + ,KC_MPRV + ,KC_MNXT ,KC_BTN1 ,KC_BTN2 + ), + +/* Keymap 6: Steno for Plover + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | BASE | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | # | # | # | # | # | # | | # | # | # | # | # | # | # | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | T | P | H | |------| |------| | F | P | L | T | D | + * |--------+ S +------+------+------+ * | * | | * | * +------+------+------+------+--------| + * | | | K | W | R | | | | | | R | B | G | S | Z | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | A | O |------| |------| E | U | + * | | | | | | | | + * `--------------------' `--------------------' + */ + +[PLVR] = KEYMAP( +// left hand +KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, M(A_PLVR), +KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, +KC_NO, PV_LS, PV_LT, PV_LP, PV_LH, PV_STAR, +KC_NO, PV_LS, PV_LK, PV_LW, PV_LR, PV_STAR, PV_STAR, +KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + PV_A, PV_O, KC_NO, + + // right hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, + PV_STAR, PV_RF, PV_RP, PV_RL, PV_RT, PV_RD, + PV_STAR, PV_STAR, PV_RR, PV_RB, PV_RG, PV_RS, PV_RZ, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO,PV_E, PV_U + ), + +}; + +const uint16_t PROGMEM fn_actions[] = { + [F_BSE] = ACTION_LAYER_CLEAR(ON_PRESS) + ,[F_HUN] = ACTION_LAYER_INVERT(HUN, ON_PRESS) + ,[F_GUI] = ACTION_MACRO_TAP(A_GUI) + ,[F_SFT] = ACTION_MODS_ONESHOT (MOD_LSFT) + ,[F_ALT] = ACTION_MODS_ONESHOT (MOD_LALT) + ,[F_CTRL] = ACTION_MODS_ONESHOT (MOD_LCTL) +}; + +void toggle_steno(int pressed) +{ + uint8_t layer = biton32(layer_state); + + if (pressed) { + if (layer != PLVR) layer_on(PLVR); else layer_off(PLVR); + + register_code(PV_LP); + register_code(PV_LH); + register_code(PV_LR); + register_code(PV_O); + register_code(PV_RL); + register_code(PV_RG); + } else { + unregister_code(PV_LP); + unregister_code(PV_LH); + unregister_code(PV_LR); + unregister_code(PV_O); + unregister_code(PV_RL); + unregister_code(PV_RG); + } +} + +macro_t *ang_do_hun (keyrecord_t *record, uint16_t accent, uint16_t hun_char) +{ + uint8_t need_shift = 0; + uint8_t hold_shift = 0; + + if (!record->event.pressed) + return MACRO_NONE; + + layer_off (HUN); + + if (keyboard_report->mods & MOD_BIT (KC_LSFT)) { + hold_shift = 1; + need_shift = 1; + unregister_code (KC_LSFT); + } + if ((get_oneshot_mods () & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out ()) { + need_shift = 1; + hold_shift = 0; + unregister_code (KC_LSFT); + } + + clear_oneshot_mods (); + + register_code (KC_RALT); + unregister_code (KC_RALT); + if (accent == (KC_DQT)) { + register_code (KC_RSFT); + } + register_code (accent); + unregister_code (accent); + if (need_shift && accent != (KC_DQT)) { + register_code (KC_RSFT); + } else if (accent == (KC_DQT) && !need_shift) { + unregister_code (KC_RSFT); + } + register_code (hun_char); + unregister_code (hun_char); + if (need_shift || accent == (KC_DQT)) + unregister_code (KC_RSFT); + if (hold_shift) + register_code (KC_LSFT); + + return MACRO_NONE; +} + +void ang_handle_kf (keyrecord_t *record, uint8_t id) +{ + uint8_t code = id - KF_1; + + if (record->event.pressed) { + kf_timers[code] = timer_read (); + } else { + uint8_t kc; + + if (timer_elapsed (kf_timers[code]) > TAPPING_TERM) { + // Long press + kc = KC_F1 + code; + } else { + if (id == KF_11) + kc = KC_EQL; + else + kc = KC_1 + code; + } + + register_code (kc); + unregister_code (kc); + } +} + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch(id) { + case A_ESC: + if (record->event.pressed) { + if ((get_oneshot_mods ()) && !has_oneshot_mods_timed_out ()) { + clear_oneshot_mods (); + } else { + register_code (KC_ESC); + } + layer_off (HUN); + } else { + unregister_code (KC_ESC); + } + break; + + case A_MPN: + if (record->event.pressed) { + if (keyboard_report->mods & MOD_BIT(KC_LSFT) || + ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { + int oneshot = ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out()); + + if (oneshot) + clear_oneshot_mods (); + unregister_code (KC_LSFT); + + register_code (KC_MPRV); + unregister_code (KC_MPRV); + + if (!oneshot) + register_code (KC_LSFT); + } else { + return MACRO (T(MNXT), END); + } + } + break; + + /* Hungarian layer */ + case HU_AA: + return ang_do_hun (record, KC_QUOT, KC_A); + case HU_OO: + return ang_do_hun (record, KC_QUOT, KC_O); + case HU_EE: + return ang_do_hun (record, KC_QUOT, KC_E); + case HU_UU: + return ang_do_hun (record, KC_QUOT, KC_U); + case HU_II: + return ang_do_hun (record, KC_QUOT, KC_I); + case HU_OE: + return ang_do_hun (record, KC_DQT, KC_O); + case HU_UE: + return ang_do_hun (record, KC_DQT, KC_U); + case HU_OEE: + return ang_do_hun (record, KC_EQL, KC_O); + case HU_UEE: + return ang_do_hun (record, KC_EQL, KC_U); + + /* Mouse movement */ + case A_MUL: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + break; + + case A_MUR: + if (record->event.pressed) { + mousekey_on(KC_MS_UP); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_UP); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + break; + + case A_MDL: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_LEFT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_LEFT); + } + mousekey_send(); + break; + + case A_MDR: + if (record->event.pressed) { + mousekey_on(KC_MS_DOWN); + mousekey_on(KC_MS_RIGHT); + } else { + mousekey_off(KC_MS_DOWN); + mousekey_off(KC_MS_RIGHT); + } + mousekey_send(); + break; + + /* Plover base */ + case A_PLVR: + toggle_steno(record->event.pressed); + break; + + /* GUI & AppSel */ + case A_GUI: + if (record->event.pressed) { + register_code (KC_LGUI); + if (record->tap.count && !record->tap.interrupted) { + if (record->tap.count >= 2) { + register_code (KC_W); + layer_on (APPSEL); + set_oneshot_layer (APPSEL, ONESHOT_START); + } + } else { + record->tap.count = 0; + } + gui_timer = 0; + } else { + if (record->tap.count >= 2) + { + unregister_code (KC_W); + clear_oneshot_layer_state (ONESHOT_PRESSED); + } + gui_timer = timer_read (); + } + break; + + case APP_SLK: + return MACRODOWN(T(S), T(L), T(A), T(C), T(K), T(ENT), END); + + case APP_EMCS: + return MACRODOWN(T(G), T(N), T(U), T(SPC), T(E), T(M), T(A), T(C), T(S), T(SPC), T(2), T(4), T(ENT), END); + + case APP_TERM: + return MACRODOWN(T(T), T(E), T(R), T(M), T(ENT), END); + + case APP_CHRM: + return MACRODOWN(T(C), T(H), T(R), T(O), T(M), T(ENT), END); + + case APP_MSIC: + return MACRODOWN(T(R), T(H), T(Y), T(T), T(H), T(M), T(B), T(O), T(X), T(ENT), END); + + /* Function keys */ + case KF_1 ... KF_11: + ang_handle_kf (record, id); + break; + } + + 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); + wait_ms (5); + } + wait_ms(1000); + for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { + ergodox_led_all_set (i); + wait_ms (10); + } + ergodox_led_all_off(); + + if (!eeconfig_is_enabled()) + eeconfig_init(); + dl = eeconfig_read_default_layer (); + if (dl == (1UL << ADORE)) { + is_adore = 1; +#if ADORE_AUTOLOG + log_enable = true; +#endif + } +}; + +LEADER_EXTERNS(); + +void ang_do_unicode (void) { + register_code (KC_RCTL); + register_code (KC_RSFT); + register_code (KC_U); + unregister_code (KC_U); + unregister_code (KC_RSFT); + unregister_code (KC_RCTL); + wait_ms (100); +} + +void ang_tap (uint16_t codes[]) { + for (int i = 0; codes[i] != 0; i++) { + register_code (codes[i]); + unregister_code (codes[i]); + wait_ms (50); + } +} + +#define TAP_ONCE(code) \ + register_code (code); \ + unregister_code (code) + +void ang_tap_dance_bp_finished (qk_tap_dance_state_t *state, void *user_data) { + bool left, parens; + + if (state->count > 2) { + state->count = 0; + return; + } + + if (state->keycode == TD(CT_LBP)) + left = true; + else + left = false; + + if (state->count == 1) + parens = false; + else + parens = true; + + if (parens) { + register_code (KC_RSFT); + if (left) { + TAP_ONCE(KC_9); + } else { + TAP_ONCE(KC_0); + } + unregister_code (KC_RSFT); + } else { + if (left) { + TAP_ONCE (KC_LBRC); + } else { + TAP_ONCE (KC_RBRC); + } + } +} + +void ang_tap_dance_cln_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_RSFT); + register_code (KC_SCLN); + } else if (state->count == 2) { + register_code (KC_SCLN); + } +} + +void ang_tap_dance_cln_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_SCLN); + unregister_code (KC_RSFT); + } else if (state->count == 2) { + unregister_code (KC_SCLN); + } +} + +void ang_tap_dance_mns_finished (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + register_code (KC_MINS); + } else if (state->count == 2) { + register_code (KC_RSFT); + register_code (KC_MINS); + } +} + +void ang_tap_dance_mns_reset (qk_tap_dance_state_t *state, void *user_data) { + if (state->count == 1) { + unregister_code (KC_MINS); + } else if (state->count == 2) { + unregister_code (KC_RSFT); + unregister_code (KC_MINS); + } +} + +typedef struct { + bool layer_toggle; + bool sticky; + bool finished_once; +} td_ta_state_t; + +void ang_tap_dance_ta_finished (qk_tap_dance_state_t *state, void *user_data) { + td_ta_state_t *td_ta = (td_ta_state_t *) user_data; + + if (td_ta->finished_once) { + return; + } + + if (td_ta->sticky) { + td_ta->sticky = false; + td_ta->layer_toggle = false; + layer_off (ARRW); + return; + } + + td_ta->finished_once = true; + if (state->count == 1 && !state->pressed) { + register_code (KC_TAB); + td_ta->sticky = false; + td_ta->layer_toggle = false; + } else { + td_ta->layer_toggle = true; + layer_on (ARRW); + td_ta->sticky = (state->count == 2); + } +} + +void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { + td_ta_state_t *td_ta = (td_ta_state_t *) user_data; + + if (!td_ta->layer_toggle) + unregister_code (KC_TAB); + if (!td_ta->sticky) + layer_off (ARRW); + + td_ta->finished_once = false; +} + +const qk_tap_dance_action_t tap_dance_actions[] = { + [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) + ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) + ,[CT_TA] = { + .fn = { NULL, ang_tap_dance_ta_finished, ang_tap_dance_ta_reset }, + .user_data = (void *)&((td_ta_state_t) { false, false, false }) + } + ,[CT_LBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) + ,[CT_RBP] = ACTION_TAP_DANCE_FN (ang_tap_dance_bp_finished) +}; + +static uint16_t uni[32]; +static uint8_t unicnt; +static bool unimagic = false; + +// 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 == HUN) { + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + } else if (layer == NMDIA) { + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + } else if (layer == PLVR) { + ergodox_right_led_1_on (); + ergodox_right_led_2_on (); + ergodox_right_led_3_on (); + } else if (layer == ADORE) { + ergodox_right_led_1_on (); + ergodox_right_led_2_on (); + ergodox_right_led_3_on (); + + ergodox_right_led_2_set (LED_BRIGHTNESS_HI); + } + + if (keyboard_report->mods & MOD_BIT(KC_LSFT) || + ((get_oneshot_mods() & MOD_BIT(KC_LSFT)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_1_set (LED_BRIGHTNESS_HI); + ergodox_right_led_1_on (); + } else { + ergodox_right_led_1_set (LED_BRIGHTNESS_LO); + if (layer != NMDIA && layer != PLVR && layer != ADORE) + ergodox_right_led_1_off (); + } + + if (keyboard_report->mods & MOD_BIT(KC_LALT) || + ((get_oneshot_mods() & MOD_BIT(KC_LALT)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_2_set (LED_BRIGHTNESS_HI); + ergodox_right_led_2_on (); + } else { + ergodox_right_led_2_set (LED_BRIGHTNESS_LO); + if (layer != HUN && layer != NMDIA && layer != PLVR && layer != ADORE) + ergodox_right_led_2_off (); + } + + if (keyboard_report->mods & MOD_BIT(KC_LCTRL) || + ((get_oneshot_mods() & MOD_BIT(KC_LCTRL)) && !has_oneshot_mods_timed_out())) { + ergodox_right_led_3_set (LED_BRIGHTNESS_HI); + ergodox_right_led_3_on (); + } else { + ergodox_right_led_3_set (LED_BRIGHTNESS_LO); + if (layer != HUN && layer != PLVR && layer != ADORE) + ergodox_right_led_3_off (); + } + + LEADER_DICTIONARY() { + leading = false; + leader_end (); + +#if KEYLOGGER_ENABLE + SEQ_ONE_KEY (KC_D) { + ergodox_led_all_on(); + wait_ms(100); + ergodox_led_all_off(); + log_enable = !log_enable; + } +#endif + + SEQ_ONE_KEY (KC_T) { + time_travel = !time_travel; + } + + SEQ_ONE_KEY (KC_U) { + ang_do_unicode (); + } + + SEQ_TWO_KEYS (KC_LEAD, KC_U) { + unicnt = 0; + unimagic = true; + register_code(KC_RSFT); + TAP_ONCE(KC_U); + unregister_code(KC_RSFT); + } + + SEQ_ONE_KEY (KC_V) { + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ (" QMK_VERSION "/" KEYMAP_VERSION ")"); + } + + SEQ_ONE_KEY (KC_L) { + /* λ */ + ang_do_unicode (); + + uint16_t codes[] = {KC_0, KC_3, KC_B, KC_B, KC_ENT, 0}; + ang_tap (codes); + } + + SEQ_ONE_KEY (KC_Y) { + uint16_t codes[] = {KC_BSLS, KC_O, KC_SLSH, 0}; + ang_tap (codes); + } + + SEQ_ONE_KEY (KC_S) { + ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + TAP_ONCE (KC_BSLS); + register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT); + ang_do_unicode (); TAP_ONCE (KC_3); TAP_ONCE (KC_0); TAP_ONCE (KC_C); TAP_ONCE (KC_4); TAP_ONCE (KC_SPC); + register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT); + TAP_ONCE (KC_SLSH); + ang_do_unicode (); TAP_ONCE (KC_A); TAP_ONCE (KC_F); TAP_ONCE (KC_SPC); + } + + SEQ_TWO_KEYS (KC_W, KC_M) { + register_code (KC_LALT); + register_code (KC_F2); + unregister_code (KC_F2); + unregister_code (KC_LALT); + + wait_ms (1000); + + uint16_t codes[] = {KC_M, KC_A, KC_X, KC_MINS, KC_F, KC_O, KC_C, KC_U, KC_S, KC_E, KC_D, KC_ENT, 0}; + ang_tap (codes); + register_code (KC_LGUI); + register_code (KC_UP); + unregister_code (KC_UP); + unregister_code (KC_LGUI); + } + + SEQ_ONE_KEY (KC_A) { + if (is_adore == 0) { + default_layer_and (0); + default_layer_or ((1UL << ADORE)); + eeconfig_update_default_layer ((1UL << ADORE)); + is_adore = 1; + + ergodox_led_all_off (); + ergodox_right_led_3_on (); + wait_ms (100); + ergodox_right_led_2_on (); + wait_ms (100); + ergodox_right_led_3_off (); + ergodox_right_led_1_on (); + wait_ms (100); + ergodox_right_led_2_off (); + wait_ms (100); + ergodox_right_led_1_off (); +#if ADORE_AUTOLOG + log_enable = true; +#endif + } else { +#if ADORE_AUTOLOG + log_enable = false; +#endif + is_adore = 0; + default_layer_and (0); + default_layer_or (1UL << BASE); + eeconfig_update_default_layer ((1UL << BASE)); + + ergodox_led_all_off (); + ergodox_right_led_1_on (); + wait_ms (100); + ergodox_right_led_2_on (); + wait_ms (100); + ergodox_right_led_1_off (); + ergodox_right_led_3_on (); + wait_ms (100); + ergodox_right_led_2_off (); + wait_ms (100); + ergodox_right_led_3_off (); + } + } + } +} + +static uint16_t last4[4]; + +bool is_uni_seq(char *seq) { + uint8_t i; + + for (i = 0; seq[i]; i++) { + uint16_t code; + if (('1' <= seq[i]) && (seq[i] <= '9')) + code = seq[i] - '1' + KC_1; + else if (seq[i] == '0') + code = KC_0; + else + code = seq[i] - 'a' + KC_A; + + if (i > unicnt) + return false; + if (uni[i] != code) + return false; + } + + if (uni[i] == KC_ENT || uni[i] == KC_SPC) + return true; + + return false; +} + +uint16_t hex_to_keycode(uint8_t hex) +{ + if (hex == 0x0) { + return KC_0; + } else if (hex < 0xA) { + return KC_1 + (hex - 0x1); + } else { + return KC_A + (hex - 0xA); + } +} + +void register_hex(uint16_t hex) { + bool leading_zeros = true; + + for(int i = 3; i >= 0; i--) { + uint8_t digit = ((hex >> (i*4)) & 0xF); + if (digit != 0) + leading_zeros = false; + else if (leading_zeros) + continue; + register_code(hex_to_keycode(digit)); + unregister_code(hex_to_keycode(digit)); + wait_ms(10); + } +} + +typedef struct { + char *symbol; + uint16_t codes[4]; +} qk_ucis_symbol_t; + +static qk_ucis_symbol_t ucis_symbol_table[] = { + {"poop", {0x1, 0xf4a9, 0}}, + {"rofl", {0x1, 0xf923, 0}}, + {"kiss", {0x1, 0xf619, 0}}, + {"snowman", {0x2603, 0}}, + {NULL, {}} +}; + +bool process_record_ucis (uint16_t keycode, keyrecord_t *record) { + uint8_t i; + + if (!unimagic) + return true; + + if (!record->event.pressed) + return true; + + uni[unicnt] = keycode; + unicnt++; + + if (keycode == KC_BSPC) { + if (unicnt >= 2) { + unicnt-= 2; + return true; + } else { + unicnt--; + return false; + } + } + + if (keycode == KC_ENT || keycode == KC_SPC) { + bool symbol_found = false; + + for (i = unicnt; i > 0; i--) { + register_code (KC_BSPC); + unregister_code (KC_BSPC); + wait_ms(10); + } + + ang_do_unicode(); + wait_ms(10); + for (i = 0; ucis_symbol_table[i].symbol; i++) { + if (is_uni_seq (ucis_symbol_table[i].symbol)) { + symbol_found = true; + for (uint8_t j = 0; ucis_symbol_table[i].codes[j]; j++) { + register_hex(ucis_symbol_table[i].codes[j]); + } + break; + } + } + if (!symbol_found) { + for (i = 0; i < unicnt - 1; i++) { + uint8_t code; + + if (uni[i] > KF_1) + code = uni[i] - KF_1 + KC_1; + else + code = uni[i]; + TAP_ONCE(code); + wait_ms (10); + } + } + + unimagic = false; + return true; + } + return true; +} + +bool process_record_user (uint16_t keycode, keyrecord_t *record) { +#if KEYLOGGER_ENABLE + if (log_enable) { + xprintf ("KL: col=%d, row=%d\n", record->event.key.col, + record->event.key.row); + } +#endif + + if (!process_record_ucis (keycode, record)) + return false; + + if (time_travel && !record->event.pressed) { + uint8_t p; + + // shift cache one to the left + for (p = 0; p < 3; p++) { + last4[p] = last4[p + 1]; + } + last4[3] = keycode; + + if (last4[0] == KC_D && last4[1] == KC_A && last4[2] == KC_T && last4[3] == KC_E) { + uint16_t codes[] = {KC_E, KC_SPC, KC_MINS, KC_D, KC_SPC, KC_QUOT, 0}; + ang_tap (codes); + register_code (KC_RSFT); + register_code (KC_EQL); + unregister_code (KC_EQL); + unregister_code (KC_RSFT); + + uint16_t codes2[] = {KC_4, KC_SPC, KC_D, KC_A, KC_Y, KC_S, KC_QUOT, 0}; + ang_tap (codes2); + + return false; + } + } + + return true; +} diff --git a/keyboards/ergodox/keymaps/algernon/readme.md b/keyboards/ergodox/keymaps/algernon/readme.md index 6fe1775111..26dfddbe6a 100644 --- a/keyboards/ergodox/keymaps/algernon/readme.md +++ b/keyboards/ergodox/keymaps/algernon/readme.md @@ -16,11 +16,12 @@ Some of the things in the layout only work when one uses Spacemacs and GNOME und - [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) +* [Special features](#special-features) + - [Unicode Symbol Input](#unicode-symbol-input) * [Building](#building) - [Using on Windows](#using-on-windows) * [Changelog](#changelog) @@ -38,7 +39,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest * 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. +* The **Media** and **Hun** layer keys are one-shot, the **STENO** key is a toggle. * 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: @@ -51,6 +52,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest - `LEAD v` prints the firmware version, the keyboard and the keymap. - `LEAD d` toggles logging keypress positions to the HID console. - `LEAD t` toggles time travel. Figuring out the current `date` is left as an exercise to the reader. + - `LEAD LEAD u` enters the [Unicode symbol input][#unicode-symbol-input] mode. ## ADORE layer @@ -74,20 +76,6 @@ On this layer, the accented characters are at the same position as their base va 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 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 `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. - ## Steno layer [![Steno layer for Plover](images/steno-layer.png)](http://www.keyboard-layout-editor.com/#/gists/401ef9a84369e47c57f9aedcf0a0d667) @@ -103,11 +91,25 @@ For the layers, the following rules apply: * 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. +# Special features + +## Unicode Symbol Input + +Once in the Unicode Symbol Input mode, one is able to type in symbol names, press `Enter` or `Space`, and get the Unicode symbol itself back. When in the mode, a capital `U` is printed first. Once the sequence is finished, all of it is erased by sending enough `Backspace` taps, and the firmware starts the OS-specific unicode input sequence. Then, it looks up the symbol name, and enters the associated code. If it is not found, it will just replay the pressed keycodes. + +The currently supported symbols are: + +- `snowman`: ☃ +- `kiss`: 😙 +- `rofl`: 🤣 +- `poop`: 💩 + +This is an experimental feature, and may or may not work reliably. + # Tools ## Heatmap @@ -133,14 +135,14 @@ To make my workflow easier, this layout is maintained in [its own repository][al $ git clone https://github.com/jackhumbert/qmk_firmware.git $ cd qmk_firmware $ git clone https://github.com/algernon/ergodox-layout.git \ - keyboards/ergodox_ez/keymaps/algernon-master -$ make KEYBOARD=ergodox_ez KEYMAP=algernon-master + keyboards/ergodox/keymaps/algernon-master +$ make keyboard=ergodox 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): ``` -$ make KEYBOARD=ergodox_ez KEYMAP=algernon +$ make keyboard=ergodox keymap=algernon ``` ## Using on Windows @@ -149,6 +151,16 @@ The keymap default to forcing NKRO, which seems to upset Windows, and except the # Changelog +## v1.5 - 2016-08-12 + +* The **1HAND** layer has been removed. +* A `Delete` key is now available on the right thumb cluster. +* The [ADORE](#adore-layer) layer received a major update, see the layout image above. +* It is now possible to enable automatic logging for the [ADORE](#adore-layer) layer, by setting the `ADORE_AUTOLOG` makefile variable to `yes` when compiling the keymap. It is off by default. +* The `~` key and the `Media Next/Prev` key have been swapped on the [base layer](#base-layer). +* On the **ARROW** layer, `Backspace` has been replaced by `Enter`. +* There is some experimental support for entering Unicode symbols. + ## v1.4 - 2016-07-29 * When toggling the key logging on or off, the LEDs will do a little dance. -- cgit v1.2.3 From ba7f2b1d3f350b72236a19440ec7026fa0cfd2ba Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Sat, 13 Aug 2016 15:53:03 -0500 Subject: The Ordinary Layout is the unsurprising layout --- keyboards/ergodox/keymaps/ordinary/keymap.c | 241 +++++++++------------ .../ergodox/keymaps/ordinary/ordinary-base.png | Bin 99605 -> 76549 bytes .../ergodox/keymaps/ordinary/ordinary-base.txt | 16 +- .../ergodox/keymaps/ordinary/ordinary-media.png | Bin 124144 -> 96205 bytes .../ergodox/keymaps/ordinary/ordinary-media.txt | 36 +-- .../ergodox/keymaps/ordinary/ordinary-special.png | Bin 63065 -> 68418 bytes .../ergodox/keymaps/ordinary/ordinary-special.txt | 20 +- .../ergodox/keymaps/ordinary/ordinary-symbol.png | Bin 103735 -> 73009 bytes .../ergodox/keymaps/ordinary/ordinary-symbol.txt | 20 +- keyboards/ergodox/keymaps/ordinary/readme.md | 8 +- 10 files changed, 158 insertions(+), 183 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c index bf0574ea2c..eda45b7cb3 100644 --- a/keyboards/ergodox/keymaps/ordinary/keymap.c +++ b/keyboards/ergodox/keymaps/ordinary/keymap.c @@ -1,23 +1,20 @@ -#include "ergodox.h" +#include "ergodox_ez.h" #include "led.h" #include "debug.h" #include "action_layer.h" #include "action_util.h" -#include "mousekey.h" #define BASE 0 // default layer #define SYMB 1 // symbols layer #define MDIA 2 // media layer #define SPEC 3 // special layer -#define LCaps 10 // left caps-shift key -#define LSymb 11 // left symbol-shift key -#define LMdia 12 // left media-shift key -#define LSpec 13 // left special-shift key -#define RCaps 14 // right caps-shift key -#define RSymb 15 // right symbol-shift key -#define RMdia 16 // right media-shift key -#define RSpec 17 // right special-shift key +#define LSymb 10 // left symbol-shift key +#define LMdia 11 // left media-shift key +#define LSpec 12 // left special-shift key +#define RSymb 13 // right symbol-shift key +#define RMdia 14 // right media-shift key +#define RSpec 15 // right special-shift key #define MUL 20 // mouse up left #define MUR 21 // mouse up right @@ -25,13 +22,14 @@ #define MDR 23 // mouse down right /* - * The Ordinary Layout for the Ergodox EZ keyboard, v4 - * + * The Ordinary Layout for the Ergodox EZ keyboard, v4.20 + * * Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com * * No rights reserved. This software is in the public domain. * Credit me if you are friendly but if you're a jerk don't bother. - * + * If you use or modify this layout I would love to hear from you. + * * Details: readme.md * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary */ @@ -61,10 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [BASE] = KEYMAP( // left hand - F(LSpec),KC_1,KC_2,KC_3 ,KC_4 ,KC_5 ,KC_ESC + F(LSpec) ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_ESC ,F(LMdia) ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC ,M(LSymb) ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G -,M(LCaps) ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) +,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,LSFT(KC_TAB) ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT,KC_LGUI ,KC_HOME,KC_END ,KC_PGUP @@ -73,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,KC_MINS ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,F(RSpec) ,KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,F(RMdia) ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,F(RSymb) - ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,M(RCaps) + ,KC_TAB ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH ,KC_RSFT ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL ,KC_LEFT ,KC_RGHT ,KC_UP @@ -91,8 +89,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |-----------+------+------+------+------+------| Tab | | Shift|------+------+------+------+------+-----------| * | | % | ^ | [ | ] | ~ | | | -Tab| \ | 1 | 2 | 3 | - | | * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | LCtrl | Meh |Hyper | LAlt | LGui | |RGui/0|RAlt/.|Hypr/=|Meh/+ |RCtrl/Ent| - * `-----------------------------------' `-------------------------------------' + * | LCtrl | Meh |Hyper | LAlt | LGui | | 0 | . | = | + | Ent | + * `-----------------------------------' `-----------------------------------' * ,-------------. ,-------------. * | Left | Right| | Home | End | * ,------|------|------| |------+------+------. @@ -105,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // left hand KC_TRNS ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_ESC ,KC_TRNS ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_AMPR ,LSFT(KC_COMM) -,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV +,KC_TRNS ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_GRV ,KC_TRNS ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_TILD ,KC_TAB ,KC_LCTL ,KC_MEH ,KC_HYPR,KC_LALT ,KC_LGUI ,KC_LEFT ,KC_RGHT @@ -116,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,LSFT(KC_DOT),KC_PIPE ,KC_7 ,KC_8 ,KC_9 ,KC_SLSH ,KC_TRNS ,KC_SLSH ,KC_4 ,KC_5 ,KC_6 ,KC_ASTR ,KC_TRNS ,LSFT(KC_TAB),KC_BSLS ,KC_1 ,KC_2 ,KC_3 ,KC_MINS ,KC_TRNS - ,GUI_T(KC_0),ALT_T(KC_DOT),ALL_T(KC_EQL),MEH_T(KC_PLUS),CTL_T(KC_ENT) + ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT ,KC_HOME ,KC_END ,KC_PGUP ,KC_PGDN ,KC_BSPC ,KC_DEL @@ -124,24 +122,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /******* Media Layer ******************************************************************************************************* * - * ,---------------------------------------------------------------. ,---------------------------------------------------------------. - * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | - * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| - * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | - * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| - * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | - * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| - * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | - * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' - * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| - * `---------------------------------------------' `---------------------------------------------' - * ,-------------. ,-------------. - * | Stop |Refrsh| | Prev | Next | - * ,------|------|------| |------+------+------. - * |Brwser|Brwser|Search| |VolUp | | | - * |Back | Fwd |------| |------| Stop | Play-| - * | | | Home | |VolDn | | Pause| - * `--------------------' `--------------------' + * ,---------------------------------------------------------------. ,---------------------------------------------------------------. + * | | F11 | F12 | F13 | F14 | F15 | Esc | | | F16 | F17 | F18 | F19 | F20 | | + * |------+---------+---------+---------+---------+----------------| |------+---------+---------+---------+---------+---------+------| + * | |Shut Down|MouseUpLf|Mouse Up |MouseUpRg|Volume Up|Scroll| |Scroll|PrintScrn| Home | Up | PgUp | Mail | | + * |------+---------+---------+---------+---------+---------| Up | | Up |---------+---------+---------+---------+---------+------| + * | | Sleep |MouseLeft|MouseDown|MouseRght|Volume Dn|------| |------| Num Lock| Left | Down | Right | MyComp | | + * |------+---------+---------+---------+---------+---------|Scroll| |Scroll|---------+---------+---------+---------+---------+------| + * | | |MouseDnLf|MouseDown|MouseDnRg| Mute | Down | | Down | | End | Down | PgDn | | | + * `------+---------+---------+---------+---------+----------------' `----------------+---------+---------+---------+---------+------' + * |LCtrl| Meh | MClick | LClick | R Click| |Cmd/Insrt|Optn/Del | Hyper | Meh |RCtrl| + * `---------------------------------------------' `---------------------------------------------' + * ,-------------. ,-------------. + * | Stop |Refrsh| | Prev | Next | + * ,------|------|------| |------+------+------. + * |Brwser|Brwser|Search| |VolUp | | | + * |Back | Fwd |------| |------| Stop | Play-| + * | | | Home | |VolDn | | Pause| + * `--------------------' `--------------------' */ [MDIA] = KEYMAP( // left hand @@ -166,67 +164,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /******* Special Layer ***************************************************************************************************** * - * ,-----------------------------------------------------. ,-----------------------------------------------------. - * | | Esc | | | | | | | | | | | | Bspc | | - * |-----------+------+------+------+------+-------------| |------+------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | |------| |------| | | | | | | - * |-----------+------+------+------+------+------| | | |------+------+------+------+------+-----------| - * | | | | | | | | | | | | | | | RShift | - * `-----------+------+------+------+------+-------------' `-------------+------+------+------+------+-----------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' + * ,-------------------------------------------------------. ,-------------------------------------------------------. + * | | Esc | | | | | | | | | | | - | Bspc | | + * |-------------+------+------+------+------+-------------| |------+------+------+------+------+------+-------------| + * | Media Lock | | | | | | | | | | | | [ | ] | Media Lock | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Symbol Lock | | | | | |------| |------| | | | | | Symbol Lock | + * |-------------+------+------+------+------+------| | | |------+------+------+------+------+-------------| + * | Caps Lock | | | | | | | | | | | | | | Caps Lock | + * `-------------+------+------+------+------+-------------' `-------------+------+------+------+------+-------------' + * | | | | | | | | | | | | + * `------------------------------------' `------------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' */ [SPEC] = KEYMAP( // left hand KC_TRNS ,KC_ESC ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS -,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS +,KC_CAPS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS,KC_TRNS ,KC_TRNS - // right hand - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_BSPC ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_RSFT - ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS - - ,KC_TRNS ,KC_TRNS - ,KC_TRNS - ,KC_TRNS ,KC_TRNS ,KC_TRNS + // right hand + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_MINS ,KC_BSPC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_LBRC ,KC_RBRC ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_CAPS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS ,KC_TRNS + ,KC_TRNS ,KC_TRNS + ,KC_TRNS + ,KC_TRNS ,KC_TRNS ,KC_TRNS ) }; const uint16_t PROGMEM fn_actions[] = { // the faux shift keys are implemented as macro taps - [LCaps] = ACTION_MACRO_TAP(LCaps) - ,[LSymb] = ACTION_MACRO_TAP(LSymb) + [LSymb] = ACTION_MACRO_TAP(LSymb) ,[LMdia] = ACTION_MACRO_TAP(LMdia) ,[LSpec] = ACTION_MACRO_TAP(LSpec) - ,[RCaps] = ACTION_MACRO_TAP(RCaps) ,[RSymb] = ACTION_MACRO_TAP(RSymb) ,[RMdia] = ACTION_MACRO_TAP(RMdia) ,[RSpec] = ACTION_MACRO_TAP(RSpec) }; -uint16_t caps_shift = 0; uint16_t symb_shift = 0; uint16_t mdia_shift = 0; +uint16_t spec_shift = 0; -bool symb_lock = false; bool mdia_lock = false; +bool symb_lock = false; const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { @@ -237,50 +231,28 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // only because sometimes rapid pressing led to irregular events; this way the states // are self healing during use. - case LCaps: // both caps-shift keys trigger Left Shift - case RCaps: // so they don't interfere with the magic combo - if (record->event.pressed && !record->tap.count) { - if(++caps_shift > 2) caps_shift = 2; - if(caps_shift == 2) { - register_code(KC_CAPS); - unregister_code(KC_CAPS); - } else if(caps_shift == 1) { - register_code(KC_LSFT); - } - } else { - if(--caps_shift < 0) caps_shift = 0; - if(caps_shift == 0) unregister_code(KC_LSFT); - } - break; - - case LSymb: - if (record->event.pressed) { - if(++symb_shift > 2) symb_shift = 2; - if(symb_shift == 2) { - symb_lock = !symb_lock; - } else if(symb_shift == 1) { - layer_on(SYMB); - } - } else { - if(--symb_shift < 0) symb_shift = 0; - if((symb_shift == 0) && (!symb_lock)) layer_off(SYMB); + case LSymb: // + if (record->event.pressed) { // when the LSymb button is pressed + if(++symb_shift > 2) mdia_shift = 2; // increment the symb shift count, max two + if(spec_shift) symb_lock = !symb_lock; // if the Special layer is on, toggle the shift lock + layer_on(SYMB); // in any case, turn on the Symbols layer + } else { // when the LSymb button is released + if(--symb_shift < 0) symb_shift = 0; // decrement the shift count, minimum zero + if((!symb_shift) && (!symb_lock)) layer_off(SYMB); // if both shifts are released and the lock is off, turn off the Symbols layer } break; case LMdia: if (record->event.pressed) { - if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { register_code(KC_TAB); } else { + if(spec_shift) mdia_lock = !mdia_lock; if(++mdia_shift > 2) mdia_shift = 2; - if(mdia_shift == 2) { - mdia_lock = !mdia_lock; - } else if(mdia_shift == 1) { - layer_on(MDIA); - } + layer_on(MDIA); } } else { - if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { unregister_code(KC_TAB); } else { if(--mdia_shift < 0) mdia_shift = 0; @@ -290,35 +262,36 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) break; case LSpec: - if (record->event.pressed) { - if (record->tap.count && !record->tap.interrupted) { - register_code(KC_GRV); + if (record->event.pressed) { // when the LSpec button is pressed + if(symb_shift) symb_lock == !symb_lock; // if another layer button is engaged, then + else if(mdia_shift) mdia_lock = !mdia_lock; // lock that layer, be it caps or symb or mdia + else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) { + register_code(KC_GRV); // otherwise, if it's an uninterrupted tap, emit a char } else { - layer_on(SPEC); + if(++spec_shift > 2) spec_shift = 2; + layer_on(SPEC); // otherwise, turn on the Special layer } } else { - if(record->tap.count && !record->tap.interrupted) { + if(record->tap.count && !record->tap.interrupted && (!spec_shift)) { unregister_code(KC_GRV); } else { - layer_off(SPEC); + if(--spec_shift < 0) spec_shift = 0; + if(!spec_shift) layer_off(SPEC); } } break; case RSymb: if (record->event.pressed) { - if (record->tap.count && (!symb_shift) && (!symb_lock)) { + if (record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) { register_code(KC_QUOT); } else { if(++symb_shift > 2) symb_shift = 2; - if(symb_shift == 2) { - symb_lock = !symb_lock; - } else if(symb_shift == 1) { - layer_on(SYMB); - } + if(spec_shift) symb_lock = !symb_lock; + layer_on(SYMB); } } else { - if(record->tap.count && symb_shift == 0) { + if(record->tap.count && (!symb_shift) && (!symb_lock) && (!spec_shift)) { unregister_code(KC_QUOT); } else { if(--symb_shift < 0) symb_shift = 0; @@ -329,18 +302,15 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case RMdia: if (record->event.pressed) { - if (record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if (record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { register_code(KC_BSLS); } else { if(++mdia_shift > 2) mdia_shift = 2; - if(mdia_shift == 2) { - mdia_lock = !mdia_lock; - } else if(mdia_shift == 1) { - layer_on(MDIA); - } + if(spec_shift) mdia_lock = !mdia_lock; + layer_on(MDIA); } } else { - if(record->tap.count && (!mdia_shift) && (!mdia_lock)) { + if(record->tap.count && (!mdia_shift) && (!mdia_lock) && (!spec_shift)) { unregister_code(KC_BSLS); } else { if(--mdia_shift < 0) mdia_shift = 0; @@ -351,16 +321,20 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) case RSpec: if (record->event.pressed) { - if (record->tap.count && !record->tap.interrupted) { + if(symb_shift) symb_lock = !symb_lock; + else if(mdia_shift) mdia_lock = !mdia_lock; + else if (record->tap.count && !record->tap.interrupted && (!spec_shift)) { register_code(KC_EQL); } else { + if(++spec_shift > 2) spec_shift = 2; layer_on(SPEC); } } else { - if(record->tap.count && !record->tap.interrupted) { + if(record->tap.count && !record->tap.interrupted && (!spec_shift)) { unregister_code(KC_EQL); } else { - layer_off(SPEC); + if(--spec_shift < 0) spec_shift = 0; + if(!spec_shift) layer_off(SPEC); } } break; @@ -419,7 +393,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // none break; } - + return MACRO_NONE; }; @@ -431,7 +405,9 @@ void matrix_init_user(void) { // Runs constantly in the background, in a loop. void matrix_scan_user(void) { // shift or caps lock turns on red light - if(caps_shift || (keyboard_report->mods & MOD_BIT(KC_RSFT)) || (host_keyboard_leds() & (1<mods & MOD_BIT(KC_LSFT)) + || (keyboard_report->mods & MOD_BIT(KC_RSFT)) + || (host_keyboard_leds() & (1<\n\n\nTab"], +[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"A",{x:14.5},":\n;",{c:"#c6c600",t:"#007d00",w:1.5},"\"\n'\nSymbols\n\n\n\n\nShift"], +[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"< Tab\n\n\nShift Tab",{x:4.5,h:1.5},"Tab >\n\n\nTab"], [{y:-0.75,x:3.5,c:"#cccccc"},"C",{x:10.5},"<\n,"], [{y:-0.875,x:2.5},"X",{x:1},"V",{x:8.5},"M",{x:1},">\n."], [{y:-0.875,x:5.5},"B",{x:6.5},"N"], -[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc"},"Z",{x:14.5},"?\n/",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], +[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#cccccc",t:"#000000"},"Z",{x:14.5},"?\n/",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5},"Option\n\n\nRAlt"], [{y:-0.875,x:2.5},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5},"Cmd\n\n\nSuper",{x:1},"Hyper"], [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Ctrl\n\n\nRCtrl"], -[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Home","End"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Home","End"], [{h:2},"< Del\n\n\nBackspace",{h:2},"Del >\n\n\nDelete","Page\n\n\n\n\n\nUp"], [{x:2},"Page\n\n\n\n\n\nDown"], [{r:-30,rx:13,y:-1,x:-3},"Left","Right"], diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png index 99e5ed80b1..bb78b7c7a8 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt index 4eccc9f350..e1467b22e1 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-media.txt @@ -1,27 +1,27 @@ [{x:3.5,c:"#99de2a"},"F13",{x:10.5},"F18"], [{y:-0.875,x:2.5},"F12",{x:1},"F14",{x:8.5},"F17",{x:1},"F19"], [{y:-0.875,x:5.5},"F15",{c:"#ff4444"},"Esc",{x:4.5,c:"#737373",a:7},"",{c:"#99de2a",a:4},"F16"], -[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"], -[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#ffb063"},"Home",{x:1},"Page\n\n\n\n\n\nUp"], -[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#e6e067"},"Print\n\n\n\n\n\nScreen"], -[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#e6e067",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#ff0000",w:1.5},"\n\nMedia\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#ff8500",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], +[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F11",{x:14.5},"F20",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"], +[{y:-0.375,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nUp",{x:10.5},"Cursor\n\n\n\n\n\nUp"], +[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nUpLeft",{x:1},"Mouse\n\n\n\n\n\nUpRgt",{x:8.5,c:"#1e8fff"},"Home",{x:1},"Page\n\n\n\n\n\nUp"], +[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#1e8fff",h:1.5},"Scroll\n\n\n\n\n\nUp",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nUp",{c:"#9977ee"},"Print\n\n\n\n\n\nScreen"], +[{y:-0.875,c:"#000000",t:"#3f68ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Shut\n\n\n\n\n\nDown",{x:14.5},"Mail",{c:"#000000",t:"#3f68ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], [{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nLeft",{x:1},"Mouse\n\n\n\n\n\nRight",{x:8.5},"Cursor\n\n\n\n\n\nLeft",{x:1},"Cursor\n\n\n\n\n\nRight"], -[{y:-0.875,x:5.5,c:"#e6e067"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"], -[{y:-0.875,c:"#2277ff",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#e6e067"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#2277ff",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], -[{y:-0.625,x:6.5,c:"#ffb063",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"], -[{y:-0.75,x:3.5,c:"#ff8500"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], -[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#ffb063"},"End",{x:1},"Page\n\n\n\n\n\nDown"], -[{y:-0.875,x:5.5,c:"#e6e067"},"Mute",{x:6.5,c:"#737373",a:7},""], -[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#ff8500"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#ffb063",fa:[0,0,0,1]},"Delete\n\n\nOption"], -[{y:-0.875,x:2.5,c:"#ff8500"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#ffb063"},"Insert\n\n\nCmd",{x:1,c:"#77aaff"},"Hyper"], +[{y:-0.875,x:5.5,c:"#9977ee"},"Vol\n\n\n\n\n\nDown",{x:6.5},"Num\n\n\n\n\n\nLock"], +[{y:-0.875,c:"#c6c600",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#9977ee",t:"#000000"},"Sleep",{x:14.5},"My\n\n\n\n\n\nComp",{c:"#c6c600",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], +[{y:-0.625,x:6.5,c:"#1e8fff",t:"#000000",h:1.5},"Scroll\n\n\n\n\n\nDown",{x:4.5,h:1.5},"Scroll\n\n\n\n\n\nDown"], +[{y:-0.75,x:3.5,c:"#0066cc"},"Mouse\n\n\n\n\n\nDown",{x:10.5},"Cursor\n\n\n\n\n\nDown"], +[{y:-0.875,x:2.5},"Mouse\n\n\n\n\n\nDnLeft",{x:1},"Mouse\n\n\n\n\n\nDnRgt",{x:8.5,c:"#1e8fff"},"End",{x:1},"Page\n\n\n\n\n\nDown"], +[{y:-0.875,x:5.5,c:"#9977ee"},"Mute",{x:6.5,c:"#737373",a:7},""], +[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#737373",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"\n\nCapitals\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#0066cc",t:"#000000"},"Middle\n\n\n\n\n\nClick",{x:10.5,c:"#1e8fff",fa:[0,0,0,1]},"Delete\n\n\nOption"], +[{y:-0.875,x:2.5,c:"#0066cc"},"Left\n\n\n\n\n\nClick",{x:1},"Right\n\n\n\n\n\nClick",{x:8.5,c:"#1e8fff"},"Insert\n\n\nCmd",{x:1,c:"#dddd77"},"Hyper"], [{y:-0.75,x:0.5},"Ctrl\n\n\nLCtrl","Meh",{x:14.5},"Meh","Crtl\n\n\nRCtrl"], -[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ccbb00"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#6633ee"},"Stop\n\n\nBrowser","Reload\n\n\nBrowser"], [{h:2},"< Web\n\n\nBrowser",{h:2},"Web >\n\n\nBrowser","Search\n\n\nBrowser"], [{x:2},"Home\n\n\nBrowser"], [{r:-30,rx:13,y:-1,x:-3},"Prev\n\n\nAudio\n\n\nTrack","Next\n\n\nAudio\n\n\nTrack"], -[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nUp",{c:"#ccbb00",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"], -[{x:-3,c:"#e6e067"},"Vol\n\n\n\n\n\nDown"] +[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nUp",{c:"#6633ee",h:2},"Stop\n\n\nAudio",{h:2},"Play\n\n\nAudio\n\n\nPause"], +[{x:-3,c:"#9977ee"},"Vol\n\n\n\n\n\nDown"] diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png index 6eecf447ee..399c5fc754 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt index a08827c6de..6f9d8ef047 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt @@ -1,21 +1,21 @@ [{x:3.5,a:7},"",{x:10.5},""], -[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], -[{y:-0.875,x:5.5},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""], +[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"_\n\n\n\n\n\n-"], +[{y:-0.875,x:5.5,a:7},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""], [{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], [{y:-0.375,x:3.5,c:"#cccccc",t:"#000000",a:7},"",{x:10.5},""], -[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], -[{y:-0.875,x:5.5},"",{h:1.5},"",{x:4.5,h:1.5},"",""], -[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""], -[{y:-0.375,x:3.5},"",{x:10.5},""], +[{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"{\n["], +[{y:-0.875,x:5.5,a:7},"",{h:1.5},"",{x:4.5,h:1.5},"",""], +[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nLock"], +[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""], [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], [{y:-0.875,x:5.5},"",{x:6.5},""], -[{y:-0.875,w:1.5},"","",{x:14.5},"",{w:1.5},""], -[{y:-0.625,x:6.5,h:1.5},"",{x:4.5,h:1.5},""], +[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"], +[{y:-0.625,x:6.5,c:"#cccccc",a:7,h:1.5},"",{x:4.5,h:1.5},""], [{y:-0.75,x:3.5},"",{x:10.5},""], [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], [{y:-0.875,x:5.5},"",{x:6.5},""], -[{y:-0.875,w:1.5},"","",{x:14.5},"",{c:"#2277ff",w:1.5},"RShift"], -[{y:-0.375,x:3.5,c:"#cccccc"},"",{x:10.5},""], +[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"], +[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""], [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], [{y:-0.75,x:0.5},"","",{x:14.5},"",""], [{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""], diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png index e4de64a96f..48cda5f6b6 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt index e199f5c59f..5c5bc155aa 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt @@ -1,24 +1,24 @@ [{x:3.5,c:"#99de2a"},"F3",{x:10.5},"F8"], [{y:-0.875,x:2.5},"F2",{x:1},"F4",{x:8.5},"F7",{x:1},"F9"], [{y:-0.875,x:5.5},"F5",{c:"#ff4444"},"Esc",{x:4.5,c:"#bbddbb"},"_\n\n\n\n\n\n-",{c:"#99de2a"},"F6"], -[{y:-0.875,c:"#2277ff",w:1.5},"Special\n\n\n\n\n\nShift",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#2277ff",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], +[{y:-0.875,c:"#dddd77",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#dddd77",w:1.5},"\n\nShift\n\n\n\n\nLock"], [{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"], [{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"], [{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"], -[{y:-0.875,c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb"},"!",{x:14.5,c:"#89b087"},"/",{c:"#2277ff",w:1.5},"\n\nMedia\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#bbddbb"},"(",{x:10.5,c:"#89b087"},"5"], +[{y:-0.875,c:"#dddd77",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#dddd77",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"(",{x:10.5,c:"#89b087"},"5"], [{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"], [{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"], -[{y:-0.875,c:"#000000",t:"#ff0000",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], -[{y:-0.625,x:6.5,c:"#54d6de",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"], +[{y:-0.875,c:"#000000",t:"#007d00",w:1.5},"Symbols\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"#",{x:14.5,c:"#89b087"},"*",{c:"#000000",t:"#007d00",w:1.5},"\n\nSymbols\n\n\n\n\nShift"], +[{y:-0.625,x:6.5,c:"#ff8500",t:"#000000",fa:[0,0,0,1],h:1.5},"Tab >\n\n\nTab",{x:4.5,h:1.5},"< Tab\n\n\nShift Tab"], [{y:-0.75,x:3.5,c:"#bbddbb"},"[",{x:10.5,c:"#89b087"},"2"], [{y:-0.875,x:2.5,c:"#bbddbb"},"^",{x:1},"]",{x:8.5,c:"#89b087"},"1",{x:1},"3"], [{y:-0.875,x:5.5,c:"#bbddbb"},"~",{x:6.5},"\\"], -[{y:-0.875,c:"#2277ff",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb"},"%",{x:14.5,c:"#89b087"},"-",{c:"#2277ff",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#77aaff"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},".\n\n\nOption"], -[{y:-0.875,x:2.5,c:"#77aaff"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0\n\n\nCmd",{x:1},"=\n\n\nHyper"], -[{y:-0.75,x:0.5,c:"#77aaff"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+\n\n\nMeh","Enter\n\n\nCtrl"], -[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#54d6de"},"Left","Right"], +[{y:-0.875,c:"#dddd77",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#dddd77",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#c6c600",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."], +[{y:-0.875,x:2.5,c:"#c6c600"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="], +[{y:-0.75,x:0.5,c:"#c6c600"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"], +[{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"], [{h:2},"Space",{h:2},"Enter","Up"], [{x:2},"Down"], [{r:-30,rx:13,y:-1,x:-3},"Home","End"], diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md index 6465cd79e0..21d40477ca 100644 --- a/keyboards/ergodox/keymaps/ordinary/readme.md +++ b/keyboards/ergodox/keymaps/ordinary/readme.md @@ -69,7 +69,7 @@ Alas, the yellow keys have at best spotty success with common software. Good luc In addition to Symbols and Media there is the Capitals layer which is exactly the same as pressing the shift key. Each layer is accessed by a shift key on each edge of the keyboard and corresponds to one of the three LEDs on the keyboard: Capitals (red), Symbols (green), Media (blue). The color of a layer illuminates when the layer is active. -Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. If you press both of a pair of shift keys, the layer will lock on until you press both shift keys again. For instance, the widely and rightly loathed Caps Lock is engaged by pressing both Capitals Shift buttons. All the Shift keys work this way. +Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. Lock the shift keys using the Shift Lock button, which is the same as the Special Shift button. You can press the shift and shift-lock buttons in either order. Multiple layers can be turned on at once. The Capitals layer will affect characters on other layers to capitalize. Other layers, however, don't 'mix': Symbols blankets the base layout; Media blankets Symbols. @@ -79,7 +79,7 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact ### Escape ### -The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, whnich is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape. +The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, which is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape. The Ordinary layout offers as a consolation prize a Special sequence for Escape: Special Shift + 1. This is natural so you can tap the top left button, then the button next to it and get Escape. This gesture works in all layers. @@ -87,9 +87,9 @@ The Ordinary layout offers as a consolation prize a Special sequence for Escape: At the top right corner of the Ergodox EZ you can a gesture similar to the special Escape sequence, using the 0 key, to produce a Backspace. Users of this keyboard and this layout are well advised to learn to use their thumbs for deleting text, but sometimes you are doing other computery things and just want to flick your digits up to the right and press backspace a bunch times. -### RShift ### +### Other Characters ### -The Ordinary Layout locks layers by pressing both of a pair of shift keys. This interferes with the QMK firmware magic sequence, which is LShift+RShift. To work around this, both of the Capitals Shift keys produce a *Left Shift* keystroke. If for some reason a person needs *Right Shift* they can find it by pressing a Special Shift key, then the Capitals Shift key on the right side of the keyboard. +The Escape and Backspace special sequences are so useful why not have a few more? You can find dash under 9, left bracket under o, and right bracket under p. That's pretty much all the characters from the top right corner of the keyboard which moved to make room for the columnar layout. **** -- cgit v1.2.3 From 29f64d7a93d941167c6c6e95f893ab84586b2205 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Wed, 17 Aug 2016 13:04:50 +0200 Subject: tap-dance: Major rework, to make it more reliable This reworks how the tap-dance feature works: instead of one global state, we have a state for each tap-dance key, so we can cancel them when another tap-dance key is in flight. This fixes #527. Since we have a state for each key, we can avoid situation where a keyup would mess with our global state. This fixes #563. And while here, we also make sure to fire events only once, and this fixes #574. There is one breaking change, though: tap-dance debugging support was removed, because dumping the whole state would increase the firmware size too much. Any keymap that made use of this, will have to be updated (but there's no such keymap in the repo). Also, there's a nice trick used in this rework: we need to iterate through tap_dance_actions in a few places, to check for timeouts, and so on. For this, we'd need to know the size of the array. We can't discover that at compile-time, because tap-dance gets compiled separately. We'd like to avoid having to terminate the list with a sentinel value, because that would require updates to all keymaps that use the feature. So, we keep track of the highest tap-dance code seen so far, and iterate until that index. Signed-off-by: Gergely Nagy --- keyboards/ergodox/keymaps/algernon/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/algernon/keymap.c b/keyboards/ergodox/keymaps/algernon/keymap.c index 244bfb51fe..144030e2e9 100644 --- a/keyboards/ergodox/keymaps/algernon/keymap.c +++ b/keyboards/ergodox/keymaps/algernon/keymap.c @@ -853,7 +853,7 @@ void ang_tap_dance_ta_reset (qk_tap_dance_state_t *state, void *user_data) { td_ta->finished_once = false; } -const qk_tap_dance_action_t tap_dance_actions[] = { +qk_tap_dance_action_t tap_dance_actions[] = { [CT_CLN] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_cln_finished, ang_tap_dance_cln_reset) ,[CT_MNS] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, ang_tap_dance_mns_finished, ang_tap_dance_mns_reset) ,[CT_TA] = { -- cgit v1.2.3 From e3486caf870b4e4adf915f490e3905d4e24ce2ac Mon Sep 17 00:00:00 2001 From: Xyverz Date: Wed, 17 Aug 2016 14:54:05 -0700 Subject: Create readme.md --- keyboards/ergodox/keymaps/xyverz/readme.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 keyboards/ergodox/keymaps/xyverz/readme.md (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md new file mode 100644 index 0000000000..9cb22bde6a --- /dev/null +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -0,0 +1,5 @@ +# PLEASE NOTE + +## This keymap is optomised for the EZ and Original ergodox. + +It will need modification in order to work on the Infinity. -- cgit v1.2.3 From ef95c10c6659ecc5e23b126d9ac4f3b2d169efb2 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Wed, 17 Aug 2016 14:55:01 -0700 Subject: Update readme.md --- keyboards/ergodox/keymaps/xyverz/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 9cb22bde6a..22e771b091 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -2,4 +2,4 @@ ## This keymap is optomised for the EZ and Original ergodox. -It will need modification in order to work on the Infinity. +It will need **substantial** modification in order to work on the Infinity. -- cgit v1.2.3 From 035290b7d84e1f2c4d473d585b66e1dde9b3bdee Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 00:22:56 -0700 Subject: Added a readme, tidied up comments in the keymap. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 53 ++++++------- keyboards/ergodox/keymaps/xyverz/readme.md | 123 ++++++++++++++++++++++++++++- 2 files changed, 147 insertions(+), 29 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c index c5ce99dd22..7a16367bfa 100644 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -1,4 +1,10 @@ /* + * PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are + * based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to + * figure out where the keys are in the matrix and redo the layout arrays below. + * + * About this keymap: + * * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak * software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner * keys. I've decided to continue using this layout with my ErgoDox. @@ -33,8 +39,9 @@ extern keymap_config_t keymap_config; #define COLEMAK M(_CM) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Keymap 0: Dvorak layer - * + +[_DV] = { // layer 0 : Dvorak +/* * ,--------------------------------------------------. ,--------------------------------------------------. * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| @@ -55,9 +62,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' * */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[_DV] = { // layer 0 : Dvorak // left hand {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, @@ -77,8 +81,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO } }, -/* Keymap 1: QWERTY layer - * + +[_QW] = { // layer 1 : QWERTY +/* * ,--------------------------------------------------. ,--------------------------------------------------. * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| @@ -98,9 +103,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | End | | PgDn | | | * `--------------------' `--------------------' */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[_QW] = { // layer 1 : QWERTY // left hand {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, @@ -120,8 +122,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } }, -/* Keymap 2: Colemak layer - * + +[_CM] = { // layer 2 : Colemak +/* * ,--------------------------------------------------. ,--------------------------------------------------. * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| @@ -141,9 +144,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | End | | PgDn | | | * `--------------------' `--------------------' */ -// If it accepts an argument (i.e, is a function), it doesn't need KC_. -// Otherwise, it needs KC_* -[_CM] = { // layer 2 : Colemak // left hand {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO }, {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, @@ -163,15 +163,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } }, -/* Keymap 3: Symbol Layer - * + +[_MD] = { // layer 3 : Media layer +/* * ,--------------------------------------------------. ,--------------------------------------------------. * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | PrSc | ScLk | Paus | | FN4 | | FN5 | | Mute | Vol- | Vol+ | | | + * | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | - * |--------+------+------+------+------+------| FN4 | | FN5 |------+------+------+------+------+--------| + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | | | | | | @@ -184,8 +185,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | * `--------------------' `--------------------' */ -// Media Layer -[_MD] = { // layer 3 : Media layer // left hand {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO }, {KC_F1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, @@ -205,15 +204,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO } }, -/* Keymap 4: Keypad layer - * + +[_KP] = { // layer 4 : Keypad layer +/* * ,--------------------------------------------------. ,--------------------------------------------------. * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Sleep | | | | | | FN5 | | FN4 | | KP 7 | KP 8 | KP 9 | KP + | | + * | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | - * |--------+------+------+------+------+------| FN5 | | FN4 |------+------+------+------+------+--------| + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | KP 0 | | KP . |KP Ent| | @@ -226,8 +226,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | * `--------------------' `--------------------' */ -// Keypad Layer -[_KP] = { // layer 4 : Keypad layer // left hand {KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO }, {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, @@ -247,6 +245,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO } }, + }; const uint16_t PROGMEM fn_actions[] = { diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 22e771b091..42ae8fe539 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -1,5 +1,124 @@ -# PLEASE NOTE +# Xyverz's ErgoDox EZ Keymap -## This keymap is optomised for the EZ and Original ergodox. +## Please Note: It will need **substantial** modification in order to work on the Infinity. + +PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below. + +## About this keymap: + +The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox. + +The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, with the additional keys as shown in the diagrams. The Colemak layout is merely an adaptation of that. + +I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. + +For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the keymap is defined, beginning on line 81. + +### Layer 0: Dvorak layer + +,--------------------------------------------------. ,--------------------------------------------------. +| ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | +|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| +| LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' + +### Layer 1: QWERTY layer + +,--------------------------------------------------. ,--------------------------------------------------. +| = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | +|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' + +### Keymap 2: Colemak layer + +,--------------------------------------------------. ,--------------------------------------------------. +| = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | +|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' + +### layer 3 : Media layer + +,--------------------------------------------------. ,--------------------------------------------------. +| TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | |Dvorak|Qwerty|Colemk| | | | | | | | | | | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' + + + +### Keymap 4: Keypad layer + +,--------------------------------------------------. ,--------------------------------------------------. +| Power | | | | | | | | | | NmLk | KP / | KP| KP - | | +|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| +| Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | +|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| +| | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | +`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | | | | KP 0 | | KP . |KP Ent| | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' -- cgit v1.2.3 From 4dd641a128aa93f9decec3387b7c34a01007eb4a Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 00:27:54 -0700 Subject: Hopefully this fixes the layout diagrams. --- keyboards/ergodox/keymaps/xyverz/readme.md | 182 ++++++++++++++--------------- 1 file changed, 91 insertions(+), 91 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 42ae8fe539..8bcf5b3035 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -18,107 +18,107 @@ For a better explanation of the layout matrices shown below, take a look at ../. ### Layer 0: Dvorak layer -,--------------------------------------------------. ,--------------------------------------------------. -| ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | -|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| -| Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | -|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| -| LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | -`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' + ,--------------------------------------------------. ,--------------------------------------------------. + | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | + `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' ### Layer 1: QWERTY layer -,--------------------------------------------------. ,--------------------------------------------------. -| = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | -|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| -| Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | -|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | -`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' - + ,--------------------------------------------------. ,--------------------------------------------------. + | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' + ### Keymap 2: Colemak layer -,--------------------------------------------------. ,--------------------------------------------------. -| = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | -|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| -| Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | -|--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| -| LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | -`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' + ,--------------------------------------------------. ,--------------------------------------------------. + | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | LCtr | LAlt | | Ralt | RCtr | + ,------|------|------| |------+------+------. + | | | Home | | PgUp | | | + | BkSp | Del |------| |------| Enter| Space| + | | | End | | PgDn | | | + `--------------------' `--------------------' ### layer 3 : Media layer -,--------------------------------------------------. ,--------------------------------------------------. -| TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | -|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| -| | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| | |Dvorak|Qwerty|Colemk| | | | | | | | | | | -`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | | | | | | - ,------|------|------| |------+------+------. - | | | | | | | | - | | |------| |------| | | - | | | | | | | | - `--------------------' `--------------------' + ,--------------------------------------------------. ,--------------------------------------------------. + | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | + |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | + `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' ### Keymap 4: Keypad layer -,--------------------------------------------------. ,--------------------------------------------------. -| Power | | | | | | | | | | NmLk | KP / | KP| KP - | | -|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| -| Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | -|--------+------+------+------+------+------| | | |------+------+------+------+------+--------| -| | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | -`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | | | | | | | KP 0 | | KP . |KP Ent| | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | | | | | | - ,------|------|------| |------+------+------. - | | | | | | | | - | | |------| |------| | | - | | | | | | | | - `--------------------' `--------------------' + ,--------------------------------------------------. ,--------------------------------------------------. + | Power | | | | | | | | | | NmLk | KP / | KP| KP - | | + |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | + |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | + `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + | | | | | | | KP 0 | | KP . |KP Ent| | + `----------------------------------' `----------------------------------' + ,-------------. ,-------------. + | | | | | | + ,------|------|------| |------+------+------. + | | | | | | | | + | | |------| |------| | | + | | | | | | | | + `--------------------' `--------------------' -- cgit v1.2.3 From 118ad691c46454df8d8aa810190cfa4e21f8952b Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 00:34:22 -0700 Subject: more formatting changes --- keyboards/ergodox/keymaps/xyverz/readme.md | 180 ++++++++++++++--------------- 1 file changed, 90 insertions(+), 90 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 8bcf5b3035..32e569b38c 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -18,107 +18,107 @@ For a better explanation of the layout matrices shown below, take a look at ../. ### Layer 0: Dvorak layer - ,--------------------------------------------------. ,--------------------------------------------------. - | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | - |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | - |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | - `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' + ,--------------------------------------------------.,--------------------------------------------------. + | ] | 1 | 2 | 3 | 4 | 5 | ESC || ESC | 6 | 7 | 8 | 9 | 0 | [ | + |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| + | Tab | ' | , | . | Y | Y | || | F | G | C | R | L | \ | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | CapsLk | A | O | E | U | I |------||------| D | H | T | N | S | - | + |--------+------+------+------+------+------| _MD || _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | X | || | B | M | W | V | Z | RShift | + `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + `----------------------------------' `----------------------------------' + ,-------------.,-------------. + | LCtr | LAlt || Ralt | RCtr | + ,------|------|------||------+------+------. + | | | Home || PgUp | | | + | BkSp | Del |------||------| Enter| Space| + | | | End || PgDn | | | + `--------------------'`--------------------' ### Layer 1: QWERTY layer - ,--------------------------------------------------. ,--------------------------------------------------. - | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | - |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | - `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' + ,--------------------------------------------------.,--------------------------------------------------. + | = | 1 | 2 | 3 | 4 | 5 | ESC || ESC | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| + | Tab | Q | W | E | R | T | || | Y | U | I | O | P | \ | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | CapsLk | A | S | D | F | G |------||------| H | J | K | L | ; | ' | + |--------+------+------+------+------+------| _MD || _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | || | N | M | , | . | / | RShift | + `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------.,-------------. + | LCtr | LAlt || Ralt | RCtr | + ,------|------|------||------+------+------. + | | | Home || PgUp | | | + | BkSp | Del |------||------| Enter| Space| + | | | End || PgDn | | | + `--------------------'`--------------------' ### Keymap 2: Colemak layer - ,--------------------------------------------------. ,--------------------------------------------------. - | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | - |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | - |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | - `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | LCtr | LAlt | | Ralt | RCtr | - ,------|------|------| |------+------+------. - | | | Home | | PgUp | | | - | BkSp | Del |------| |------| Enter| Space| - | | | End | | PgDn | | | - `--------------------' `--------------------' + ,--------------------------------------------------.,--------------------------------------------------. + | = | 1 | 2 | 3 | 4 | 5 | ESC || ESC | 6 | 7 | 8 | 9 | 0 | - | + |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| + | Tab | Q | W | F | P | G | || | J | L | U | Y | ; | \ | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | BkSpc | A | R | S | T | D |------||------| H | N | E | I | O | ' | + |--------+------+------+------+------+------| _MD || _KP |------+------+------+------+------+--------| + | LShift | Z | X | C | V | B | || | K | M | , | . | / | RShift | + `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' + | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | + `----------------------------------' `----------------------------------' + ,-------------.,-------------. + | LCtr | LAlt || Ralt | RCtr | + ,------|------|------||------+------+------. + | | | Home || PgUp | | | + | BkSp | Del |------||------| Enter| Space| + | | | End || PgDn | | | + `--------------------'`--------------------' ### layer 3 : Media layer - ,--------------------------------------------------. ,--------------------------------------------------. - | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | - |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | - `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | | | | | | | | | | | | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | | | | | | - ,------|------|------| |------+------+------. - | | | | | | | | - | | |------| |------| | | - | | | | | | | | - `--------------------' `--------------------' + ,--------------------------------------------------.,--------------------------------------------------. + | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 || F12 | F6 | F7 | F8 | F9 | F10 | | + |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| + | | | PrSc | ScLk | Paus | | || | | Mute | Vol- | Vol+ | | | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | | | | | | |------||------| Stop | Prev | Play | Next | Sel | | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | | |Dvorak|Qwerty|Colemk| | || | | | | | | | + `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' + ,-------------.,-------------. + | | || | | + ,------|------|------||------+------+------. + | | | || | | | + | | |------||------| | | + | | | || | | | + `--------------------'`--------------------' ### Keymap 4: Keypad layer - ,--------------------------------------------------. ,--------------------------------------------------. - | Power | | | | | | | | | | NmLk | KP / | KP| KP - | | - |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | - |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | - `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - | | | | | | | KP 0 | | KP . |KP Ent| | - `----------------------------------' `----------------------------------' - ,-------------. ,-------------. - | | | | | | - ,------|------|------| |------+------+------. - | | | | | | | | - | | |------| |------| | | - | | | | | | | | - `--------------------' `--------------------' + ,--------------------------------------------------.,--------------------------------------------------. + | Power | | | | | | || | | NmLk | KP / | KP| KP - | | + |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| + | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP + | | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | Wake | | | | | |------||------| | KP 4 | KP 5 | KP 6 | KP + | | + |--------+------+------+------+------+------| || |------+------+------+------+------+--------| + | | | | | | | || | | KP 1 | KP 2 | KP 3 |KP Ent| | + `--------+------+------+------+------+-------------'`-------------+------+------+------+------+--------' + | | | | | | | KP 0 | | KP . |KP Ent| | + `----------------------------------' `----------------------------------' + ,-------------.,-------------. + | | || | | + ,------|------|------||------+------+------. + | | | || | | | + | | |------||------| | | + | | | || | | | + `--------------------'`--------------------' \ No newline at end of file -- cgit v1.2.3 From eb81978ecbeaa203c20df70c0c4fc56cb816ab6c Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 00:35:32 -0700 Subject: One last formatting change --- keyboards/ergodox/keymaps/xyverz/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 32e569b38c..89ac8cb044 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -105,7 +105,7 @@ For a better explanation of the layout matrices shown below, take a look at ../. ### Keymap 4: Keypad layer ,--------------------------------------------------.,--------------------------------------------------. - | Power | | | | | | || | | NmLk | KP / | KP| KP - | | + | Power | | | | | | || | | NmLk | KP / | KP * | KP - | | |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP + | | |--------+------+------+------+------+------| || |------+------+------+------+------+--------| -- cgit v1.2.3 From aa37a57e0f55694291290f9db61d8ff352d42454 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 00:38:25 -0700 Subject: One last change to the readme. --- keyboards/ergodox/keymaps/xyverz/readme.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 89ac8cb044..2557493239 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -2,9 +2,7 @@ ## Please Note: -It will need **substantial** modification in order to work on the Infinity. - -PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below. +This keymap will probably **not** work with the Infinity ErgoDox. It will need **substantial** modification in order to work on the Infinity. This is due to the fact that the mappings are based on the matrix positions in the keymap definition in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below. ## About this keymap: -- cgit v1.2.3 From ed1291bfbddc19c410e9c6d7bc4775b638b3e316 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Thu, 18 Aug 2016 22:43:31 -0700 Subject: Added compatibility for the Infinity ErgoDox to my Ergodox keymap. Updated readme.md to reflect this change. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 225 ++++++++++++++++++++++------- keyboards/ergodox/keymaps/xyverz/readme.md | 6 +- 2 files changed, 178 insertions(+), 53 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c index 7a16367bfa..397c8566f5 100644 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -1,7 +1,7 @@ /* - * PLEASE NOTE: This keymap will NOT work with the Infinity ErgoDox due to the fact that the mappings are - * based on the Matrix Layout in the ez.h file. If you want to use this for the infinity, you'll need to - * figure out where the keys are in the matrix and redo the layout arrays below. + * PLEASE NOTE: This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity, + * simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file is untested + * on the Infinity ErgoDox. * * About this keymap: * @@ -38,6 +38,11 @@ extern keymap_config_t keymap_config; #define QWERTY M(_QW) #define COLEMAK M(_CM) +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO + + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_DV] = { // layer 0 : Dvorak @@ -62,24 +67,48 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------' `--------------------' * */ +#ifdef SUBPROJECT_infinity // Infinity Ergodox + // left hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, + {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, + {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, + {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, + {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, + {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, + {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, + + //Right Hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, + {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, + {KC_6, KC_F, KC_D, KC_B, KC_SPC }, + {KC_7, KC_G, KC_H, KC_M, KC_UP }, + {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, + {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, + {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} +#else // Ergodox and Ergodox EZ // left hand - {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX}, {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, {KC_2, KC_COMM, KC_O, KC_Q, KC_INS, KC_DEL }, {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT, KC_BSPC}, {KC_4, KC_P, KC_U, KC_K, KC_RGHT, KC_HOME}, - {KC_5, KC_Y, KC_I, KC_X, KC_NO, KC_LCTL}, - {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + {KC_5, KC_Y, KC_I, KC_X, XXXXXXX, KC_LCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, // right hand - {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, - {KC_6, KC_F, KC_D, KC_B, KC_NO, KC_RCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, + {KC_6, KC_F, KC_D, KC_B, XXXXXXX, KC_RCTL}, {KC_7, KC_G, KC_H, KC_M, KC_UP, KC_PGUP}, {KC_8, KC_C, KC_T, KC_W, KC_DOWN, KC_SPC }, {KC_9, KC_R, KC_N, KC_V, KC_SLSH, KC_ENT }, {KC_0, KC_L, KC_S, KC_Z, KC_EQL, KC_PGDN}, - {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, KC_NO } -}, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, XXXXXXX} +#endif + }, [_QW] = { // layer 1 : QWERTY @@ -103,23 +132,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | End | | PgDn | | | * `--------------------' `--------------------' */ +#ifdef SUBPROJECT_infinity // Infinity Ergodox + // left hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, + {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, + {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, + {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, + {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, + {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, + {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, + + //Right Hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, + {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, + {KC_6, KC_F, KC_D, KC_B, KC_SPC }, + {KC_7, KC_G, KC_H, KC_M, KC_UP }, + {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, + {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, + {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} +#else // Ergodox and Ergodox EZ // left hand - {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, KC_NO }, + {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX}, {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, {KC_2, KC_W, KC_S, KC_X, KC_INS, KC_DEL }, {KC_3, KC_E, KC_D, KC_C, KC_LEFT, KC_BSPC}, {KC_4, KC_R, KC_F, KC_V, KC_RGHT, KC_HOME}, - {KC_5, KC_T, KC_G, KC_B, KC_NO, KC_LCTL}, - {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + {KC_5, KC_T, KC_G, KC_B, XXXXXXX, KC_LCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, // right hand - {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, - {KC_6, KC_Y, KC_H, KC_N, KC_NO, KC_RCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, + {KC_6, KC_Y, KC_H, KC_N, XXXXXXX, KC_RCTL}, {KC_7, KC_U, KC_J, KC_M, KC_UP, KC_PGUP}, {KC_8, KC_I, KC_K, KC_COMM, KC_DOWN, KC_SPC }, {KC_9, KC_O, KC_L, KC_DOT, KC_LBRC, KC_ENT }, {KC_0, KC_P, KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN}, - {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX} +#endif }, @@ -144,23 +197,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | End | | PgDn | | | * `--------------------' `--------------------' */ +#ifdef SUBPROJECT_infinity // Infinity Ergodox + // left hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, + {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, + {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, + {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, + {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, + {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, + {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, + {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, + + //Right Hand + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, + {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, + {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, + {KC_6, KC_F, KC_D, KC_B, KC_SPC }, + {KC_7, KC_G, KC_H, KC_M, KC_UP }, + {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, + {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, + {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, + {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} +#else // Ergodox and Ergodox EZ // left hand - {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, KC_NO }, + {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, XXXXXXX}, {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, {KC_2, KC_W, KC_R, KC_X, KC_INS, KC_DEL }, {KC_3, KC_F, KC_S, KC_C, KC_LEFT, KC_BSPC}, {KC_4, KC_P, KC_T, KC_V, KC_RGHT, KC_HOME}, - {KC_5, KC_G, KC_D, KC_B, KC_NO, KC_LCTL}, - {KC_ESC, KC_NO, KC_NO, MO(_MD), KC_NO, KC_LALT}, + {KC_5, KC_G, KC_D, KC_B, XXXXXXX, KC_LCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, // right hand - {KC_ESC, KC_NO, KC_NO, MO(_KP), KC_NO, KC_RALT}, - {KC_6, KC_J, KC_H, KC_K, KC_NO, KC_RCTL}, + {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, + {KC_6, KC_J, KC_H, KC_K, XXXXXXX, KC_RCTL}, {KC_7, KC_L, KC_N, KC_M, KC_UP, KC_PGUP}, {KC_8, KC_U, KC_E, KC_COMM, KC_DOWN, KC_SPC }, {KC_9, KC_Y, KC_I, KC_DOT, KC_LBRC, KC_ENT }, {KC_0, KC_SCLN, KC_O, KC_SLSH, KC_RBRC, KC_PGDN}, - {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, KC_NO } + {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX} +#endif }, @@ -185,23 +262,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | * `--------------------' `--------------------' */ +#ifdef SUBPROJECT_infinity // Infinity Ergodox + // left hand + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {KC_F11, _______, XXXXXXX, _______, _______}, + {KC_F5, _______, _______, _______, _______}, + {KC_F4, KC_PAUS, _______, COLEMAK, _______}, + {KC_F3, KC_SLCK, _______, QWERTY, _______}, + {KC_F2, KC_PSCR, _______, DVORAK, _______}, + {KC_F1, _______, _______, _______, _______}, + {RESET, _______, _______, _______, _______}, + + //Right Hand + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {KC_F12, _______, XXXXXXX, _______, _______}, + {KC_F6, _______, KC_MSTP, _______, _______}, + {KC_F7, KC_VOLU, KC_MPRV, _______, _______}, + {KC_F8, KC_VOLD, KC_MPLY, _______, _______}, + {KC_F9, KC_MUTE, KC_MNXT, _______, _______}, + {KC_F10, _______, KC_MSEL, _______, _______}, + {_______, _______, _______, _______, _______}, +#else // Ergodox and Ergodox EZ // left hand - {RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO }, - {KC_F1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_F2, KC_PSCR, KC_TRNS, DVORAK, KC_TRNS, KC_TRNS}, - {KC_F3, KC_SLCK, KC_TRNS, QWERTY, KC_TRNS, KC_TRNS}, - {KC_F4, KC_PAUS, KC_TRNS, COLEMAK, KC_TRNS, KC_TRNS}, - {KC_F5, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, - {KC_F11, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {RESET, _______, _______, _______, _______, XXXXXXX}, + {KC_F1, _______, _______, _______, _______, _______}, + {KC_F2, KC_PSCR, _______, DVORAK, _______, _______}, + {KC_F3, KC_SLCK, _______, QWERTY, _______, _______}, + {KC_F4, KC_PAUS, _______, COLEMAK, _______, _______}, + {KC_F5, _______, _______, _______, XXXXXXX, _______}, + {KC_F11, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, // right hand - {KC_F12, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, - {KC_F6, KC_TRNS, KC_MSTP, KC_TRNS, KC_NO, KC_TRNS}, - {KC_F7, KC_MUTE, KC_MPRV, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_F8, KC_VOLD, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_F9, KC_VOLU, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_F10, KC_TRNS, KC_MSEL, KC_TRNS, KC_TRNS, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO } + {KC_F12, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, + {KC_F6, _______, KC_MSTP, _______, XXXXXXX, _______}, + {KC_F7, KC_MUTE, KC_MPRV, _______, _______, _______}, + {KC_F8, KC_VOLD, KC_MPLY, _______, _______, _______}, + {KC_F9, KC_VOLU, KC_MNXT, _______, _______, _______}, + {KC_F10, _______, KC_MSEL, _______, _______, _______}, + {_______, _______, _______, _______, _______, XXXXXXX} +#endif }, @@ -226,23 +327,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | * `--------------------' `--------------------' */ +#ifdef SUBPROJECT_infinity // Infinity Ergodox + // left hand + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {_______, _______, XXXXXXX, _______, _______}, + {_______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______}, + {KC_PWR, KC_SLEP, KC_WAKE, _______, _______}, + + //Right Hand + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, + {_______, _______, XXXXXXX, _______, _______}, + {_______, _______, KC_MSTP, _______, _______}, + {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0 }, + {KC_PSLS, KC_P8, KC_P5, KC_P2, _______}, + {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT}, + {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT}, + {_______, _______, _______, _______, _______}, +#else // Ergodox and Ergodox EZ // left hand - {KC_PWR, KC_SLEP, KC_WAKE, KC_TRNS, KC_TRNS, KC_NO }, - {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_NO, KC_TRNS}, - {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, + {KC_PWR, KC_SLEP, KC_WAKE, _______, _______, XXXXXXX}, + {_______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, _______, _______}, + {_______, _______, _______, _______, XXXXXXX, _______}, + {_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, // right hand - {KC_TRNS, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS}, - {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, KC_TRNS}, - {KC_PSLS, KC_P8, KC_P5, KC_P2, KC_NO, KC_TRNS}, - {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, KC_TRNS}, - {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, KC_TRNS}, - {KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO } + {_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, + {_______, _______, _______, _______, XXXXXXX, _______}, + {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, _______}, + {KC_PSLS, KC_P8, KC_P5, KC_P2, XXXXXXX, _______}, + {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, _______}, + {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, _______}, + {_______, _______, _______, _______, XXXXXXX, XXXXXXX} +#endif }, diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index 2557493239..e6cb582c5c 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -2,7 +2,7 @@ ## Please Note: -This keymap will probably **not** work with the Infinity ErgoDox. It will need **substantial** modification in order to work on the Infinity. This is due to the fact that the mappings are based on the matrix positions in the keymap definition in the ez.h file. If you want to use this for the infinity, you'll need to figure out where the keys are in the matrix and redo the layout arrays below. +This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity, simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file builds cleanly as is but as of this writing has not been tested on the Infinity ErgoDox. YMMV. ## About this keymap: @@ -12,7 +12,7 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. -For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the keymap is defined, beginning on line 81. +For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the keymap is defined beginning on line 81, or in ../../infinity/infinity.h beginning at line 72. ### Layer 0: Dvorak layer @@ -119,4 +119,4 @@ For a better explanation of the layout matrices shown below, take a look at ../. | | | || | | | | | |------||------| | | | | | || | | | - `--------------------'`--------------------' \ No newline at end of file + `--------------------'`--------------------' -- cgit v1.2.3 From 50531068b3aa1b4aced20a1488e3ae052925f651 Mon Sep 17 00:00:00 2001 From: Sean Reifschneider Date: Fri, 19 Aug 2016 14:42:41 -0600 Subject: Adding jafo layout. --- keyboards/ergodox/keymaps/jafo/jafo-Notes | 10 ++ keyboards/ergodox/keymaps/jafo/jafo-layout.pdf | Bin 0 -> 185426 bytes keyboards/ergodox/keymaps/jafo/jafo_highres.png | Bin 0 -> 179460 bytes keyboards/ergodox/keymaps/jafo/keymap.c | 184 ++++++++++++++++++++++++ keyboards/ergodox/keymaps/jafo/readme.md | 20 +++ 5 files changed, 214 insertions(+) create mode 100644 keyboards/ergodox/keymaps/jafo/jafo-Notes create mode 100644 keyboards/ergodox/keymaps/jafo/jafo-layout.pdf create mode 100644 keyboards/ergodox/keymaps/jafo/jafo_highres.png create mode 100644 keyboards/ergodox/keymaps/jafo/keymap.c create mode 100644 keyboards/ergodox/keymaps/jafo/readme.md (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/jafo/jafo-Notes b/keyboards/ergodox/keymaps/jafo/jafo-Notes new file mode 100644 index 0000000000..9376125e90 --- /dev/null +++ b/keyboards/ergodox/keymaps/jafo/jafo-Notes @@ -0,0 +1,10 @@ +These are notes on how to build and deploy the firmware to Ez, but they are +from before the qmk restructuring. + +cd qmk_firmware/keyboard/ergodox_ez +make KEYMAP=jafo +cp ergodox_ez.hex keymaps/jafo/ +/tmp/teensy.64bit +Open hex keymap file +Program +Upload diff --git a/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf b/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf new file mode 100644 index 0000000000..189b49b128 Binary files /dev/null and b/keyboards/ergodox/keymaps/jafo/jafo-layout.pdf differ diff --git a/keyboards/ergodox/keymaps/jafo/jafo_highres.png b/keyboards/ergodox/keymaps/jafo/jafo_highres.png new file mode 100644 index 0000000000..e3d7cef858 Binary files /dev/null and b/keyboards/ergodox/keymaps/jafo/jafo_highres.png differ diff --git a/keyboards/ergodox/keymaps/jafo/keymap.c b/keyboards/ergodox/keymaps/jafo/keymap.c new file mode 100644 index 0000000000..c5f21bd82e --- /dev/null +++ b/keyboards/ergodox/keymaps/jafo/keymap.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Grv | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | = | Q | W | E | R | T | L1 | | L1 | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Esc/Cmd| A | S | D | F | G |------| |------| H | J | K | L |; / L2|' / Cmd | + * |--------+------+------+------+------+------| L2 | | L2 |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" | Del | Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * |Ctrl/Esc| Alt| | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_EQL, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB), + GUI_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(MDIA), + LT(SYMB,KC_GRV),KC_QUOT, KC_DELT, KC_LEFT,KC_RGHT, + CTL_T(KC_ESC), KC_LALT, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),GUI_T(KC_QUOT), + TG(MDIA), KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + 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_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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| LEFT | DOWN | UP | RIGHT| | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | Lclk | Mclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN3, KC_BTN2, + 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + 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) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboards/ergodox/keymaps/jafo/readme.md b/keyboards/ergodox/keymaps/jafo/readme.md new file mode 100644 index 0000000000..c870dfd050 --- /dev/null +++ b/keyboards/ergodox/keymaps/jafo/readme.md @@ -0,0 +1,20 @@ +# ErgoDox EZ "jafo" Configuration + +This is a layout based on the ErgoDox Ez default layout, but with some +customizations I made for my use-case. I use Linux, vi and the i3 window +manager, so I made these changes: + +- Arrow keys laid out in vi positions in media layer. + +- Esc (tap) and Win (held) to the left of A. i3 uses Win key for navigation + and having that be symmetric on the left and right makes it easier. + +- Grave accent below equals, I was having a hard time using ~ + +- Layer 2 switch below the L1 switch, so I can go into a mode where I get + arrow keys under my vi motion fingers. + +- Making the Ctrl (held) and Esc (tap) on my thumbs symmetric. Not sure I + need that with the Esc left of A and Ctrl on the Z and / keys when held... + +![Jafo](jafo_highres.png) -- cgit v1.2.3 From a25480b3b58f1fb779fe6d441023eeb3c72811f5 Mon Sep 17 00:00:00 2001 From: Sean Reifschneider Date: Fri, 19 Aug 2016 20:55:50 -0600 Subject: Bringing over changes from default map. --- keyboards/ergodox/keymaps/jafo/keymap.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/jafo/keymap.c b/keyboards/ergodox/keymaps/jafo/keymap.c index c5f21bd82e..4f1428f2ba 100644 --- a/keyboards/ergodox/keymaps/jafo/keymap.c +++ b/keyboards/ergodox/keymaps/jafo/keymap.c @@ -1,6 +1,7 @@ -#include "ergodox_ez.h" +#include "ergodox.h" #include "debug.h" #include "action_layer.h" +#include "version.h" #define BASE 0 // default layer #define SYMB 1 // symbols @@ -145,9 +146,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) switch(id) { case 0: if (record->event.pressed) { - register_code(KC_RSFT); - } else { - unregister_code(KC_RSFT); + SEND_STRING (QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); } break; } -- cgit v1.2.3 From 8f78ba1f739ac585d7b211bab473f6820452bc45 Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Fri, 19 Aug 2016 23:38:13 -0500 Subject: The Ordinary Layout is boring because all the keys are where you expect them to be --- keyboards/ergodox/keymaps/ordinary/keymap.c | 118 ++++++++++----------- .../ergodox/keymaps/ordinary/ordinary-base.png | Bin 76549 -> 98200 bytes .../ergodox/keymaps/ordinary/ordinary-media.png | Bin 96205 -> 123435 bytes .../ergodox/keymaps/ordinary/ordinary-special.png | Bin 68418 -> 68292 bytes .../ergodox/keymaps/ordinary/ordinary-special.txt | 14 +-- .../ergodox/keymaps/ordinary/ordinary-symbol.png | Bin 73009 -> 101255 bytes .../ergodox/keymaps/ordinary/ordinary-symbol.txt | 12 +-- keyboards/ergodox/keymaps/ordinary/readme.md | 65 +++++------- 8 files changed, 98 insertions(+), 111 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/ordinary/keymap.c b/keyboards/ergodox/keymaps/ordinary/keymap.c index eda45b7cb3..302c41cc8d 100644 --- a/keyboards/ergodox/keymaps/ordinary/keymap.c +++ b/keyboards/ergodox/keymaps/ordinary/keymap.c @@ -1,4 +1,4 @@ -#include "ergodox_ez.h" +#include "ergodox.h" #include "led.h" #include "debug.h" #include "action_layer.h" @@ -31,31 +31,31 @@ * If you use or modify this layout I would love to hear from you. * * Details: readme.md - * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary + * https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/******* Base Layer ******************************************************************************************************** +/******* 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 | | | - * `--------------------' `--------------------' + * ,------------------------------------------------------. ,------------------------------------------------------. + * | 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 @@ -67,37 +67,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ,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 ,KC_RSFT - ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL - ,KC_LEFT ,KC_RGHT - ,KC_UP - ,KC_DOWN ,KC_ENT ,KC_SPC + // 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 ,KC_RSFT + ,KC_RGUI,KC_RALT,KC_HYPR ,KC_MEH ,KC_RCTL + ,KC_LEFT ,KC_RGHT + ,KC_UP + ,KC_DOWN ,KC_ENT ,KC_SPC ), -/******* Symbols Layer ***************************************************************************************************** +/******* 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 | | 0 | . | = | + | Ent | - * `-----------------------------------' `-----------------------------------' - * ,-------------. ,-------------. - * | Left | Right| | Home | End | - * ,------|------|------| |------+------+------. - * | | | Up | | PgUp | | | - * |Space |Enter |------| |------|BackSp| Del | - * | | | Down | | PgDn | | | - * `--------------------' `--------------------' + * ,-----------------------------------------------------. ,-----------------------------------------------------. + * | | 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 | | 0 | . | = | + | Ent | + * `-----------------------------------' `-----------------------------------' + * ,-------------. ,-------------. + * | Left | Right| | Home | End | + * ,------|------|------| |------+------+------. + * | | | Up | | PgUp | | | + * |Space |Enter |------| |------|BackSp| Del | + * | | | Down | | PgDn | | | + * `--------------------' `--------------------' */ [SYMB] = KEYMAP( // left hand @@ -105,19 +105,19 @@ 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 - // 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 - ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT - ,KC_HOME ,KC_END - ,KC_PGUP - ,KC_PGDN ,KC_BSPC ,KC_DEL + // 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 + ,KC_0 ,KC_DOT ,KC_EQL,KC_PLUS ,KC_ENT + ,KC_HOME ,KC_END + ,KC_PGUP + ,KC_PGDN ,KC_BSPC ,KC_DEL ), /******* Media Layer ******************************************************************************************************* diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png index 7f8c1b5c1f..831db4f5d3 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-base.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-base.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png index bb78b7c7a8..5ff3f53385 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-media.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-media.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png index 399c5fc754..4fb9d1d166 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-special.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-special.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt index 6f9d8ef047..97f40f9dbc 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-special.txt @@ -1,21 +1,21 @@ [{x:3.5,a:7},"",{x:10.5},""], [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1,a:4},"_\n\n\n\n\n\n-"], [{y:-0.875,x:5.5,a:7},"",{c:"#ff4444",a:4},"Esc",{x:4.5,c:"#cccccc",a:7},"",""], -[{y:-0.875,c:"#000000",t:"#ff0000",a:4,w:1.5},"Special\n\n\n\n\n\nShift",{c:"#ff4444",t:"#000000"},"Esc",{x:14.5,c:"#54d6de"},"Back\n\n\n\n\n\nspace",{c:"#000000",t:"#ff0000",w:1.5},"\n\nSpecial\n\n\n\n\nShift"], +[{y:-0.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:"#ff8500"},"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,a:4},"{\n["], [{y:-0.875,x:5.5,a:7},"",{h:1.5},"",{x:4.5,h:1.5},"",""], -[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#2277ff",w:1.5},"Media\n\n\n\n\n\nLock"], -[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""], +[{y:-0.875,c:"#c6c600",t:"#002299",a:4,w:1.5},"Media\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5,a:4},"\n\n}\n]",{c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nLock"], +[{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},"",{x:6.5},""], -[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"], -[{y:-0.625,x:6.5,c:"#cccccc",a:7,h:1.5},"",{x:4.5,h:1.5},""], +[{y:-0.875,c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#007d00",a:4,w:1.5},"Symbols\n\n\n\n\n\nLock"], +[{y:-0.625,x:6.5,c:"#cccccc",t:"#000000",a:7,h:1.5},"",{x:4.5,h:1.5},""], [{y:-0.75,x:3.5},"",{x:10.5},""], [{y:-0.875,x:2.5},"",{x:1},"",{x:8.5},"",{x:1},""], [{y:-0.875,x:5.5},"",{x:6.5},""], -[{y:-0.875,c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",a:7},"",{x:14.5},"",{c:"#2277ff",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"], -[{y:-0.375,x:3.5,c:"#cccccc",a:7},"",{x:10.5},""], +[{y:-0.875,c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock",{c:"#cccccc",t:"#000000",a:7},"",{x:14.5},"",{c:"#c6c600",t:"#9e0000",a:4,w:1.5},"Capitals\n\n\n\n\n\nLock"], +[{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.75,x:0.5},"","",{x:14.5},"",""], [{r:30,rx:6.5,ry:4.25,y:-1,x:1},"",""], diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png index 48cda5f6b6..dd90863295 100644 Binary files a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png and b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.png differ diff --git a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt index 5c5bc155aa..001bf370d8 100644 --- a/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt +++ b/keyboards/ergodox/keymaps/ordinary/ordinary-symbol.txt @@ -1,11 +1,11 @@ [{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:"#dddd77",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#dddd77",w:1.5},"\n\nShift\n\n\n\n\nLock"], +[{y:-0.875,c:"#c6c600",w:1.5},"Shift\n\n\n\n\n\nLock",{c:"#99de2a"},"F1",{x:14.5},"F10",{c:"#c6c600",w:1.5},"\n\nShift\n\n\n\n\nLock"], [{y:-0.375,x:3.5,c:"#bbddbb"},"{",{x:10.5,c:"#89b087"},"8"], [{y:-0.875,x:2.5,c:"#bbddbb"},"@",{x:1},"}",{x:8.5,c:"#89b087"},"7",{x:1},"9"], [{y:-0.875,x:5.5,c:"#bbddbb"},"&",{h:1.5},"<",{x:4.5,h:1.5},">","|"], -[{y:-0.875,c:"#dddd77",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#dddd77",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"], +[{y:-0.875,c:"#c6c600",t:"#002299",w:1.5},"Media\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"!",{x:14.5,c:"#89b087"},"/",{c:"#c6c600",t:"#002299",w:1.5},"\n\nMedia\n\n\n\n\nShift"], [{y:-0.375,x:3.5,c:"#bbddbb",t:"#000000"},"(",{x:10.5,c:"#89b087"},"5"], [{y:-0.875,x:2.5,c:"#bbddbb"},"$",{x:1},")",{x:8.5,c:"#89b087"},"4",{x:1},"6"], [{y:-0.875,x:5.5,c:"#bbddbb"},"`",{x:6.5},"/"], @@ -14,10 +14,10 @@ [{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:"#dddd77",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#dddd77",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], -[{y:-0.375,x:3.5,c:"#c6c600",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."], -[{y:-0.875,x:2.5,c:"#c6c600"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="], -[{y:-0.75,x:0.5,c:"#c6c600"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"], +[{y:-0.875,c:"#c6c600",t:"#9e0000",w:1.5},"Capitals\n\n\n\n\n\nShift",{c:"#bbddbb",t:"#000000"},"%",{x:14.5,c:"#89b087"},"-",{c:"#c6c600",t:"#9e0000",w:1.5},"\n\nCapitals\n\n\n\n\nShift"], +[{y:-0.375,x:3.5,c:"#dddd77",t:"#000000"},"Option\n\n\nLAlt",{x:10.5,c:"#89b087"},"."], +[{y:-0.875,x:2.5,c:"#dddd77"},"Hyper",{x:1},"Cmd\n\n\nSuper",{x:8.5,c:"#89b087"},"0",{x:1},"="], +[{y:-0.75,x:0.5,c:"#dddd77"},"Ctrl\n\n\nLCtrl","Meh",{x:14.5,c:"#89b087"},"+","Enter"], [{r:30,rx:6.5,ry:4.25,y:-1,x:1,c:"#ff8500"},"Left","Right"], [{h:2},"Space",{h:2},"Enter","Up"], [{x:2},"Down"], diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md index 21d40477ca..9c5294c5be 100644 --- a/keyboards/ergodox/keymaps/ordinary/readme.md +++ b/keyboards/ergodox/keymaps/ordinary/readme.md @@ -10,66 +10,51 @@ 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 +* *White Keys* are all the normal characters and symbols in all the normal locations (except for the brackets). +* *Modifier Keys* are light yellow and in the traditional location: Control, Option, Command, plus Hyper and Meh. +* *Shift Keys* are dark yellow, found on the outsides of the keyboard. Capitals Shift (traditional shift) is found in the usual place and above that is found Symbol Shift, Media Shift, and Special Shift (Shift Lock). +* Several of the shift keys double for entry of characters which would typically be in those locations. +* *Thumb Keys* shown in orange are for text navigation and manipulation. +* *Escape* is red 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 four big orane 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 +* *Symbols* shown in light green. All kinds of brackets are available on this layer. Ampersand and Pipe justapose each other. Pipe, slash, and backslash are arranged in a column. +* *F-Keys* are bright green and overlay the row of numerals. +* *Number pad* in dark green under the right hand includes all four arithmetic operations in the same order found on most number pads and features an Enter key. The keycodes emitted here are normal numeric keycodes, not the number-pad specific keycodes emitted by most number pads so that NumLock is not needed. +* *Thumb keys* on this layer are the *reverse* of the orange keys on the base layer, with the keys either mirrored or shifted. This is powerful! Often I find myself using the mouse with my right hand, and the left hand needs to press Enter. Instead of reaching the left hand over to the right side of the keyboard, now I simply tap Symbols to reverse the turquoise keys, and Enter is right where it should be. ![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 Symbols Layer is based on the Coder Layer from the default Ergodox EZ layout. I slightly rearranged the symbols, added some symbols, expanded the number pad, and straightened out the F-Keys. It's very handy to have the symbols directly underneath the normal typing keys. ## The 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 +* *Mouse Cursor Keys* are under the left hand, shown in dark blue. Diagonal keys won't automatically repeat unless combined with other keys. Buttons to left- middle- and right-click the mouse are also featured. +* *Text Cursor Keys* are under the right hand, shown in dark blue. They 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. +* *Scrolling and Paging* keys are shown in light blue and have some useful redundancy across the layout. +* Higher-order *F-Keys* are shown in bright green overylaying the numerals. +* *Application Keys* to control web browsers and audio players are dark purple but don't get too excited because these have weak support on operating systems I've looked at. Good luck. +* The light purple keys are various operating system keys such as NumLock and Mute and a button to navigate to My Computer (usually your home dir). * 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. +This layer is a substantial extension of the Media layer on the Ergodox EZ default layout. 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. +Keys to directly interact with the operating system are also found on this layer, such as volume and shutdown. ## 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. Lock the shift keys using the Shift Lock button, which is the same as the Special Shift button. You can press the shift and shift-lock buttons in either order. +Shift buttons work in the expected way: press them and all of the keys switch to that layer; release them and the keys switch back to the base layer. Lock the shift keys using the Shift Lock button, which is the same as the Special Shift button. 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. @@ -77,6 +62,8 @@ Multiple layers can be turned on at once. The Capitals layer will affect charact ![Ordinary special layout](ordinary-special.png) +The Special Shift layer is mostly used to lock the shift keys but in order to make this layout more _ordinary_ there are a few special sequences which put some keys near their most common traditional locations. + ### Escape ### The One True Location for the Escape key is segregated way up on the top left of the keyboard. The Ergodox does not have a physical button in such a location and the nearest one is home to the tilde (er, grave) which is commonly found there. In the Ordinary layout the Escape key is found on all layers in the prominent location in the corner next to the 5, which is easy to remember, and yet it isn't natural for those of us with muscle memory flicking our wrists up and to the left looking for Escape. @@ -85,7 +72,7 @@ The Ordinary layout offers as a consolation prize a Special sequence for Escape: ### 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. +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. ### Other Characters ### @@ -93,11 +80,11 @@ The Escape and Backspace special sequences are so useful why not have a few more **** -The Ordinary Layout for the Ergodox EZ keyboard, v4 +The Ordinary Layout for the Ergodox EZ keyboard, v4.20 Modifications from default by Nicholas Keene ergodoxez@nicholaskeene.com No rights reserved. This software is in the public domain. Credit me if you are friendly but if you're a jerk don't bother. Details: readme.md - https://github.com/nrrkeene/qmk_firmware/tree/master/keyboard/ergodox_ez/keymaps/ordinary + https://github.com/nrrkeene/qmk_firmware/tree/master/keyboards/ergodox/keymaps/ordinary -- cgit v1.2.3 From 6a9a6b9477749d9fc80cad8f026140b52715b5ec Mon Sep 17 00:00:00 2001 From: Nicholas Keene Date: Fri, 19 Aug 2016 23:44:08 -0500 Subject: The Ordinary Layout is boring because all the keys are where you expect them to be --- keyboards/ergodox/keymaps/ordinary/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/ordinary/readme.md b/keyboards/ergodox/keymaps/ordinary/readme.md index 9c5294c5be..820b80b454 100644 --- a/keyboards/ergodox/keymaps/ordinary/readme.md +++ b/keyboards/ergodox/keymaps/ordinary/readme.md @@ -19,7 +19,7 @@ no rights reserved, use for any purposes, credit me if you are a nice person ![Ordinary base layout](ordinary-base.png) -The four big orane 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 four big orange 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. -- cgit v1.2.3 From aff792545d70fbf281e64757b74d0ed776187bb2 Mon Sep 17 00:00:00 2001 From: Xyverz Date: Fri, 19 Aug 2016 22:30:34 -0700 Subject: Changed my keymap to match normal keymaps. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 512 ++++++++++++------------------ 1 file changed, 198 insertions(+), 314 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c index 397c8566f5..5927de33fb 100644 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -45,331 +45,215 @@ extern keymap_config_t keymap_config; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_DV] = { // layer 0 : Dvorak -/* - * ,--------------------------------------------------. ,--------------------------------------------------. - * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | ' | , | . | Y | Y | | | | F | G | C | R | L | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | - * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | X | | | | B | M | W | V | Z | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | LCtr | LAlt | | Ralt | RCtr | - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | BkSp | Del |------| |------| Enter| Space| - * | | | End | | PgDn | | | - * `--------------------' `--------------------' +/* Layer 0 : Dvorak + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ] | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | [ | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | ' | , | . | P | Y | | | | F | G | C | R | L | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | O | E | U | I |------| |------| D | H | T | N | S | - | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCTL | LALT | | RALT | RCTL | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' * */ -#ifdef SUBPROJECT_infinity // Infinity Ergodox - // left hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, - {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, - {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, - {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, - {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, - {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, - {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, - {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, - - //Right Hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, - {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, - {KC_6, KC_F, KC_D, KC_B, KC_SPC }, - {KC_7, KC_G, KC_H, KC_M, KC_UP }, - {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, - {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, - {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, - {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} -#else // Ergodox and Ergodox EZ +[_DV] = KEYMAP( // left hand - {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX}, - {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV, KC_END }, - {KC_2, KC_COMM, KC_O, KC_Q, KC_INS, KC_DEL }, - {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT, KC_BSPC}, - {KC_4, KC_P, KC_U, KC_K, KC_RGHT, KC_HOME}, - {KC_5, KC_Y, KC_I, KC_X, XXXXXXX, KC_LCTL}, - {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, - - // right hand - {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, - {KC_6, KC_F, KC_D, KC_B, XXXXXXX, KC_RCTL}, - {KC_7, KC_G, KC_H, KC_M, KC_UP, KC_PGUP}, - {KC_8, KC_C, KC_T, KC_W, KC_DOWN, KC_SPC }, - {KC_9, KC_R, KC_N, KC_V, KC_SLSH, KC_ENT }, - {KC_0, KC_L, KC_S, KC_Z, KC_EQL, KC_PGDN}, - {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI, XXXXXXX} -#endif - }, - - -[_QW] = { // layer 1 : QWERTY -/* - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | - * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | LCtr | LAlt | | Ralt | RCtr | - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | BkSp | Del |------| |------| Enter| Space| - * | | | End | | PgDn | | | - * `--------------------' `--------------------' + KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_ESC, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, XXXXXXX, + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, MO(_MD), + KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL, KC_LALT, + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, + XXXXXXX, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS, + KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, + MO(_KP), KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, + KC_UP, KC_DOWN, KC_SLSH, KC_EQL, KC_RGUI, + KC_RALT, KC_RCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC + ), + + +/* Layer 1: QWERTY + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | CapsLk | A | S | D | F | G |------| |------| H | J | K | L | ; | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCTL | LALT | | RALT | RCTL | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' */ -#ifdef SUBPROJECT_infinity // Infinity Ergodox - // left hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, - {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, - {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, - {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, - {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, - {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, - {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, - {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, - - //Right Hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, - {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, - {KC_6, KC_F, KC_D, KC_B, KC_SPC }, - {KC_7, KC_G, KC_H, KC_M, KC_UP }, - {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, - {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, - {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, - {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} -#else // Ergodox and Ergodox EZ +[_QW] = KEYMAP( // left hand - {KC_EQL, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI, XXXXXXX}, - {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, - {KC_2, KC_W, KC_S, KC_X, KC_INS, KC_DEL }, - {KC_3, KC_E, KC_D, KC_C, KC_LEFT, KC_BSPC}, - {KC_4, KC_R, KC_F, KC_V, KC_RGHT, KC_HOME}, - {KC_5, KC_T, KC_G, KC_B, XXXXXXX, KC_LCTL}, - {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, - - // right hand - {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, - {KC_6, KC_Y, KC_H, KC_N, XXXXXXX, KC_RCTL}, - {KC_7, KC_U, KC_J, KC_M, KC_UP, KC_PGUP}, - {KC_8, KC_I, KC_K, KC_COMM, KC_DOWN, KC_SPC }, - {KC_9, KC_O, KC_L, KC_DOT, KC_LBRC, KC_ENT }, - {KC_0, KC_P, KC_SCLN, KC_SLSH, KC_RBRC, KC_PGDN}, - {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX} -#endif - }, - - -[_CM] = { // layer 2 : Colemak -/* - * ,--------------------------------------------------. ,--------------------------------------------------. - * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | - * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | LGUI | ` | INS | Left | Rght | | Up | Dn | [ | ] | RGUI | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | LCtr | LAlt | | Ralt | RCtr | - * ,------|------|------| |------+------+------. - * | | | Home | | PgUp | | | - * | BkSp | Del |------| |------| Enter| Space| - * | | | End | | PgDn | | | - * `--------------------' `--------------------' + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD), + KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL, KC_LALT, + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + MO(_KP), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_RGUI, + KC_LALT, KC_LCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC + ), + + +/* Layer 2 : Colemak + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | ESC | | ESC | 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | \ | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSpc | A | R | S | T | D |------| |------| H | N | E | I | O | ' | + * |--------+------+------+------+------+------| _MD | | _KP |------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | | | | K | M | , | . | / | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | LGUI | ` | INS | Left | Rght | | Up | Dn | / | = | RGUI | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | LCTL | LALT | | RALT | RCTL | + * ,------|------|------| |------+------+------. + * | | | Home | | PgUp | | | + * | BkSp | Del |------| |------| Enter| Space| + * | | | End | | PgDn | | | + * `--------------------' `--------------------' */ -#ifdef SUBPROJECT_infinity // Infinity Ergodox - // left hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LALT, KC_HOME}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_LCTL, KC_END }, - {KC_6, MO(_KP), XXXXXXX, MO(_MD), KC_DEL }, - {KC_5, KC_Y, KC_I, KC_X, KC_BSPC}, - {KC_4, KC_P, KC_U, KC_K, KC_RGHT}, - {KC_3, KC_DOT, KC_E, KC_J, KC_LEFT}, - {KC_2, KC_COMM, KC_O, KC_Q, KC_INS }, - {KC_1, KC_QUOT, KC_A, KC_SCLN, KC_GRV }, - {KC_RBRC, KC_TAB, KC_CAPS, KC_LSFT, KC_LGUI}, - - //Right Hand - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RALT, KC_PGUP}, - {XXXXXXX, XXXXXXX, XXXXXXX, KC_RCTL, KC_PGDN}, - {KC_ESC, MO(_MD), XXXXXXX, MO(_KP), KC_ENT }, - {KC_6, KC_F, KC_D, KC_B, KC_SPC }, - {KC_7, KC_G, KC_H, KC_M, KC_UP }, - {KC_8, KC_C, KC_T, KC_W, KC_DOWN}, - {KC_9, KC_R, KC_N, KC_V, KC_SLSH}, - {KC_0, KC_L, KC_S, KC_Z, KC_EQL }, - {KC_LBRC, KC_BSLS, KC_MINS, KC_RSFT, KC_RGUI} -#else // Ergodox and Ergodox EZ +[_CM] = KEYMAP( // left hand - {KC_EQL, KC_TAB, KC_BSPC, KC_LSFT, KC_LGUI, XXXXXXX}, - {KC_1, KC_Q, KC_A, KC_Z, KC_GRV, KC_END }, - {KC_2, KC_W, KC_R, KC_X, KC_INS, KC_DEL }, - {KC_3, KC_F, KC_S, KC_C, KC_LEFT, KC_BSPC}, - {KC_4, KC_P, KC_T, KC_V, KC_RGHT, KC_HOME}, - {KC_5, KC_G, KC_D, KC_B, XXXXXXX, KC_LCTL}, - {KC_ESC, XXXXXXX, XXXXXXX, MO(_MD), XXXXXXX, KC_LALT}, - - // right hand - {KC_ESC, XXXXXXX, XXXXXXX, MO(_KP), XXXXXXX, KC_RALT}, - {KC_6, KC_J, KC_H, KC_K, XXXXXXX, KC_RCTL}, - {KC_7, KC_L, KC_N, KC_M, KC_UP, KC_PGUP}, - {KC_8, KC_U, KC_E, KC_COMM, KC_DOWN, KC_SPC }, - {KC_9, KC_Y, KC_I, KC_DOT, KC_LBRC, KC_ENT }, - {KC_0, KC_SCLN, KC_O, KC_SLSH, KC_RBRC, KC_PGDN}, - {KC_MINS, KC_BSLS, KC_QUOT, KC_RSFT, KC_RGUI, XXXXXXX} -#endif - }, - - -[_MD] = { // layer 3 : Media layer -/* - * ,--------------------------------------------------. ,--------------------------------------------------. - * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, KC_Q, KC_W, KC_F, KC_P, KC_G, XXXXXXX, + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MD), + KC_LGUI, KC_GRV, KC_INS, KC_LEFT, KC_RGHT, + KC_LCTL, KC_LALT, + KC_HOME, + KC_BSPC, KC_DEL, KC_END, + // right hand + KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + XXXXXXX, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, + KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + MO(_KP), KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_UP, KC_DOWN, KC_LBRC, KC_RBRC, KC_RGUI, + KC_LALT, KC_LCTL, + KC_PGUP, + KC_PGDN, KC_ENT, KC_SPC + ), + + +/* Layer 3 : Media layer + * ,--------------------------------------------------. ,--------------------------------------------------. + * | TEENSY | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | PrSc | ScLk | Paus | | | | | | Mute | Vol- | Vol+ | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | |------| |------| Stop | Prev | Play | Next | Sel | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |Dvorak|Qwerty|Colemk| | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' */ -#ifdef SUBPROJECT_infinity // Infinity Ergodox - // left hand - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {KC_F11, _______, XXXXXXX, _______, _______}, - {KC_F5, _______, _______, _______, _______}, - {KC_F4, KC_PAUS, _______, COLEMAK, _______}, - {KC_F3, KC_SLCK, _______, QWERTY, _______}, - {KC_F2, KC_PSCR, _______, DVORAK, _______}, - {KC_F1, _______, _______, _______, _______}, - {RESET, _______, _______, _______, _______}, - - //Right Hand - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {KC_F12, _______, XXXXXXX, _______, _______}, - {KC_F6, _______, KC_MSTP, _______, _______}, - {KC_F7, KC_VOLU, KC_MPRV, _______, _______}, - {KC_F8, KC_VOLD, KC_MPLY, _______, _______}, - {KC_F9, KC_MUTE, KC_MNXT, _______, _______}, - {KC_F10, _______, KC_MSEL, _______, _______}, - {_______, _______, _______, _______, _______}, -#else // Ergodox and Ergodox EZ +[_MD] = KEYMAP( // left hand - {RESET, _______, _______, _______, _______, XXXXXXX}, - {KC_F1, _______, _______, _______, _______, _______}, - {KC_F2, KC_PSCR, _______, DVORAK, _______, _______}, - {KC_F3, KC_SLCK, _______, QWERTY, _______, _______}, - {KC_F4, KC_PAUS, _______, COLEMAK, _______, _______}, - {KC_F5, _______, _______, _______, XXXXXXX, _______}, - {KC_F11, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, - - // right hand - {KC_F12, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, - {KC_F6, _______, KC_MSTP, _______, XXXXXXX, _______}, - {KC_F7, KC_MUTE, KC_MPRV, _______, _______, _______}, - {KC_F8, KC_VOLD, KC_MPLY, _______, _______, _______}, - {KC_F9, KC_VOLU, KC_MNXT, _______, _______, _______}, - {KC_F10, _______, KC_MSEL, _______, _______, _______}, - {_______, _______, _______, _______, _______, XXXXXXX} -#endif - }, - - -[_KP] = { // layer 4 : Keypad layer -/* - * ,--------------------------------------------------. ,--------------------------------------------------. - * | Power | | | | | | | | | | NmLk | KP / | KP * | KP - | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | KP 0 | | KP . |KP Ent| | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' + RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, + _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, + _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, + _______, + _______, _______, _______, + // right hand + KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, + _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, + KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSEL, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, + _______, + _______, _______, _______ + ), + + +/* Layer 4 : Keypad layer + * ,--------------------------------------------------. ,--------------------------------------------------. + * | Power | | | | | | | | | | NmLk | KP = | KP / | KP * | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Sleep | | | | | | | | | | KP 7 | KP 8 | KP 9 | KP - | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | Wake | | | | | |------| |------| | KP 4 | KP 5 | KP 6 | KP + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | KP 0 | | |KP Ent| | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' */ -#ifdef SUBPROJECT_infinity // Infinity Ergodox - // left hand - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {_______, _______, XXXXXXX, _______, _______}, - {_______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______}, - {KC_PWR, KC_SLEP, KC_WAKE, _______, _______}, - - //Right Hand - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {XXXXXXX, XXXXXXX, XXXXXXX, _______, _______}, - {_______, _______, XXXXXXX, _______, _______}, - {_______, _______, KC_MSTP, _______, _______}, - {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0 }, - {KC_PSLS, KC_P8, KC_P5, KC_P2, _______}, - {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT}, - {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT}, - {_______, _______, _______, _______, _______}, -#else // Ergodox and Ergodox EZ +[_KP] = KEYMAP( // left hand - {KC_PWR, KC_SLEP, KC_WAKE, _______, _______, XXXXXXX}, - {_______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, _______, _______}, - {_______, _______, _______, _______, XXXXXXX, _______}, - {_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, - - // right hand - {_______, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______}, - {_______, _______, _______, _______, XXXXXXX, _______}, - {KC_NLCK, KC_P7, KC_P4, KC_P1, KC_P0, _______}, - {KC_PSLS, KC_P8, KC_P5, KC_P2, XXXXXXX, _______}, - {KC_PAST, KC_P9, KC_P6, KC_P3, KC_PDOT, _______}, - {KC_PMNS, KC_PPLS, KC_PPLS, KC_PENT, KC_PENT, _______}, - {_______, _______, _______, _______, XXXXXXX, XXXXXXX} -#endif - }, - + KC_PWR, _______, _______, _______, _______, _______, _______, + KC_SLEP, _______, _______, _______, _______, _______, _______, + KC_WAKE, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, + _______, _______, + _______, + _______, _______, _______, + // right hand + _______, _______, KC_NLCK, KC_PEQL, KC_PSLS, KC_PAST, _______, + _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, + _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, + _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, + _______, _______, _______, _______, _______, + _______, _______, + _______, + _______, _______, _______ + ), }; -- cgit v1.2.3 From e4984f65decbd005d147d29b56d7a0c7d7a8dafd Mon Sep 17 00:00:00 2001 From: Xyverz Date: Fri, 19 Aug 2016 22:45:20 -0700 Subject: Changed the Ergodox keymap to use the KEYMAP() macro, updated readme.md. --- keyboards/ergodox/keymaps/xyverz/keymap.c | 13 +++---------- keyboards/ergodox/keymaps/xyverz/readme.md | 14 +++++++------- 2 files changed, 10 insertions(+), 17 deletions(-) (limited to 'keyboards/ergodox/keymaps') diff --git a/keyboards/ergodox/keymaps/xyverz/keymap.c b/keyboards/ergodox/keymaps/xyverz/keymap.c index 5927de33fb..08ee5aeda5 100644 --- a/keyboards/ergodox/keymaps/xyverz/keymap.c +++ b/keyboards/ergodox/keymaps/xyverz/keymap.c @@ -1,8 +1,4 @@ /* - * PLEASE NOTE: This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity, - * simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file is untested - * on the Infinity ErgoDox. - * * About this keymap: * * The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak @@ -14,9 +10,6 @@ * * I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck * layouts. - * - * For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the - * keymap is defined, beginning on line 81. * */ @@ -197,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, + _______, _______, DVORAK, QWERTY, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -224,7 +217,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | KP 1 | KP 2 | KP 3 |KP Ent| | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | KP 0 | | |KP Ent| | + * | | | | | | | KP 0 | | KP . |KP Ent| | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -249,7 +242,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, - _______, _______, _______, _______, _______, + KC_P0, _______, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, _______ diff --git a/keyboards/ergodox/keymaps/xyverz/readme.md b/keyboards/ergodox/keymaps/xyverz/readme.md index e6cb582c5c..6ecdabc9ed 100644 --- a/keyboards/ergodox/keymaps/xyverz/readme.md +++ b/keyboards/ergodox/keymaps/xyverz/readme.md @@ -1,9 +1,5 @@ # Xyverz's ErgoDox EZ Keymap -## Please Note: - -This keymap has been updated to work with the Infinity ErgoDox. To build for the Infinity, simply append `SUBPROJECT=infinity` to the end of your `make` statement. This keymap file builds cleanly as is but as of this writing has not been tested on the Infinity ErgoDox. YMMV. - ## About this keymap: The Dvorak layout shown herestems from my early Kinesis years, using the Contour PS/2 with a Dvorak software layout. Because of this, the RBRC and LBRC were on opposite sides of the board in the corner keys. I've decided to continue using this layout with my ErgoDox. @@ -12,7 +8,11 @@ The QWERTY layout shown here is based entirely on the Kinesis Advantage layout, I've enabled persistent keymaps for Qwerty, Dvorak and Colemak layers, similar to the default Planck layouts. -For a better explanation of the layout matrices shown below, take a look at ../../ez/ez.h where the keymap is defined beginning on line 81, or in ../../infinity/infinity.h beginning at line 72. +## Still to do: + + * Need to figure out a better position for the ESC key. + * Come up with a function for the empty keys shown in the alpha layers below. + * Fix the CapsLock, NumLock, and ScrLck LEDs. ### Layer 0: Dvorak layer @@ -103,9 +103,9 @@ For a better explanation of the layout matrices shown below, take a look at ../. ### Keymap 4: Keypad layer ,--------------------------------------------------.,--------------------------------------------------. - | Power | | | | | | || | | NmLk | KP / | KP * | KP - | | + | Power | | | | | | || | | NmLk | KP = | KP / | KP * | | |--------+------+------+------+------+-------------||------+------+------+------+------+------+--------| - | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP + | | + | Sleep | | | | | | || | | KP 7 | KP 8 | KP 9 | KP - | | |--------+------+------+------+------+------| || |------+------+------+------+------+--------| | Wake | | | | | |------||------| | KP 4 | KP 5 | KP 6 | KP + | | |--------+------+------+------+------+------| || |------+------+------+------+------+--------| -- cgit v1.2.3