From 5713083e911dcff371e7e1fb62022e2063cb98de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?James=20=E2=80=98Twey=E2=80=99=20Kay?= Date: Sat, 23 Apr 2016 18:49:32 +0100 Subject: [PATCH] Add Twey's keymap --- keyboard/ergodox_ez/keymaps/twey/keymap.c | 225 +++++++++++++++++++++ keyboard/ergodox_ez/keymaps/twey/readme.md | 19 ++ keyboard/ergodox_ez/keymaps/twey/twey.hex | Bin 0 -> 50418 bytes 3 files changed, 244 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/twey/keymap.c create mode 100644 keyboard/ergodox_ez/keymaps/twey/readme.md create mode 100644 keyboard/ergodox_ez/keymaps/twey/twey.hex diff --git a/keyboard/ergodox_ez/keymaps/twey/keymap.c b/keyboard/ergodox_ez/keymaps/twey/keymap.c new file mode 100644 index 000000000..75d264bdb --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/twey/keymap.c @@ -0,0 +1,225 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_plover.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys +#define STEN 3 // steno + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,---------------------------------------------------. ,---------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | STEN | | NONE | 6 | 7 | 8 | 9 | 0 | \ | + * |--------+------+------+------+-------+-------------| |-------+------+------+------+------+------+--------| + * | Del | ' | , | . | P | Y | Esc | | Caps | F | G | C | R | L | / | + * |--------+------+------+------+-------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |-------| D | H | T | N |S / L2|- / Cmd | + * |--------+------+------+------+-------+------| Tab | | Enter |------+------+------+------+------+--------| + * | LShift | ; | Q | J | K | X | | | | B | M | W | V | Z | RShift | + * `--------+------+------+------+-------+-------------' `--------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right | | Up | Down | [ | ] | ~L1 | + * `-----------------------------------' `----------------------------------' + * ,-------------. ,---------------. + * | PgUp | PgDn | | Home | End | + * ,------|------|------| |-------+-------+------. + * | | | NONE | | NONE | | | + * | Alt | NONE |------| |-------| Space | Ctrl | + * | | | Supr | | AltGr | | | + * `--------------------' `----------------------' + */ +// 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_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, M(0), + KC_DELT, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_ESC, + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_TAB, + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + KC_PGUP,KC_PGDN, + KC_NO, + KC_LALT,KC_ENT ,KC_LGUI, + // right hand + KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + KC_CAPS, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), GUI_T(KC_MINS), + KC_ENT, KC_B, KC_M, KC_W, KC_V, KC_Z , KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_HOME,KC_END, + KC_NO, + KC_RALT,KC_SPC,KC_RCTL + ), +/* 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 +[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_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 +), + +[STEN] = KEYMAP( // layout: layer 4: Steno for Plover + // left hand + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_NO, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_NUM, PV_STAR, + 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_TRNS, KC_TRNS, + 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_STAR, 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_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO, + KC_NO, PV_E, PV_U +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +void toggle_steno(int pressed) +{ + uint8_t layer = biton32(layer_state); + + if (pressed) { + if (layer != STEN) layer_on(STEN); else layer_off(STEN); + + register_code(PV_LS); + register_code(PV_LH); + register_code(PV_RF); + register_code(PV_RT); + } else { + unregister_code(PV_LS); + unregister_code(PV_LH); + unregister_code(PV_RF); + unregister_code(PV_RT); + } +} + +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: + toggle_steno(record->event.pressed); + 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; + case 3: + ergodox_right_led_3_on(); + break; + default: + // none + break; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/twey/readme.md b/keyboard/ergodox_ez/keymaps/twey/readme.md new file mode 100644 index 000000000..d44c0a238 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/twey/readme.md @@ -0,0 +1,19 @@ +# Twey's Home Configuration +## Layers +- Layer 0: Non-ANSI Dvorak layout, with modified modifiers — all + modifiers on thumb keys, as well as return and space. +- Layer 1: Default symbol layout. +- Layer 2: Default media/mouse layout. +- Layer 3: Plover-oriented stenography layer. + +## Unusual features +The Plover key (top right key on the left half) also sends my Plover +‘toggle’ chord (SH-FT) when pressed, as well as toggling the steno +layer, so you can toggle between steno and typing modes with a single +keypress. + +If you want to use this feature, you'll need to add: + + "SH-FT": "{PLOVER:TOGGLE}" + +to your Plover dictionary. diff --git a/keyboard/ergodox_ez/keymaps/twey/twey.hex b/keyboard/ergodox_ez/keymaps/twey/twey.hex new file mode 100644 index 0000000000000000000000000000000000000000..14f5b7c798099eae320766048a98d28777aca995 GIT binary patch literal 50418 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 E0Xx^<5dZ)H literal 0 HcmV?d00001