summaryrefslogtreecommitdiff
path: root/layouts
diff options
context:
space:
mode:
authorFred Silberberg <fred@silberberg.xyz>2017-11-06 09:09:01 -0800
committerJack Humbert <jack.humb@gmail.com>2017-11-06 12:09:01 -0500
commit89357b96d40f6f8189da09c3d15131e22991ed4c (patch)
treeb62722f0814bed5aee7cc11331ca1846453cb486 /layouts
parent16843bc8c967e965a5361fe5f94abc9cd1ccc5a5 (diff)
333fred layout update (#1971)
* Set up tap dance for layers on the lower button. * Refactored code to share in the users directory between my two keyboard layouts. * Small keyboard layout change. * Updated documentation on oneshot usage in macros/tap dance.
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/ergodox/333fred/README.md23
-rw-r--r--layouts/community/ergodox/333fred/keymap.c52
-rw-r--r--layouts/community/ergodox/333fred/rules.mk1
3 files changed, 35 insertions, 41 deletions
diff --git a/layouts/community/ergodox/333fred/README.md b/layouts/community/ergodox/333fred/README.md
index f7b4ca42f4..8286de173b 100644
--- a/layouts/community/ergodox/333fred/README.md
+++ b/layouts/community/ergodox/333fred/README.md
@@ -5,24 +5,23 @@
,--------------------------------------------------. ,--------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | = | | L1 | 6 | 7 | 8 | 9 | 0 | - |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| TAB | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | \ |
+| TAB | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-| Esc | A | S | D |LT 3,F| G |------| |------| H | J | K | L |; / : | ' |
-|--------+------+------+------+------+------| L1 | |TT(3) |------+------+------+------+------+--------|
+| Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
+|--------+------+------+------+------+------| L2 | |TT(3) |------+------+------+------+------+--------|
| LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
|LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | Up | Right| RGUI |
`----------------------------------' `----------------------------------'
,-------------. ,-------------.
- | Copy | Paste| | Alt |Ctrl/Esc|
+ | Copy | Paste| | Copy | Paste |
,------|------|------| |------+--------+------.
| | | PgUp | | PgDn | | |
| Bcksp|OSL(2)|------| |------| Ent |Space |
- | | | Del | |OSL(2)| | |
+ | | VIM | Del | |OSL(2)| | |
`--------------------' `----------------------'
```
-* Double-click `;` to get a `:`
-* Press-and-hold `f` to go to the movement layer
+* For a single tap or single hold, OSL behaves like OSL(SYMB). For a tap + hold, it behaves like MO(VIM).
### Keymap 1: Code Layer
```
@@ -38,7 +37,7 @@
| | | | | | | F12 |GoToIm| FAR | | |
`----------------------------------' `----------------------------------'
,-------------. ,---------------.
- |Format|Build | | Test | DTest |
+ |Format|Build | | Copy | Paste |
,------|------|------| |------+--------+------.
| | |Refact| |Sort U| | |
| | |------| |------| | |
@@ -46,13 +45,11 @@
`--------------------' `----------------------'
```
* Build - Visualt Studio Build Solution. Sends `CTRL + SHFT + B`
-* DTest - Visual Studio Debug Test. Sends `CTRL + R, CTRL + T`
* FAR - Visual Studio Find All References. Sends `CTRL + K, R`
* Format - Visual Studio Format. Sends `CTRL + K, CTRL + D`
* GoToIm - Visual Studio Go To Implementation. Sends `CTRL + F12`
* Refact - Visual Studio Refactor. Sends `CTRL + R, R`
* Sort U - Visual Studio Sort Usings. Sends `CTRL + R, CTRL + G`
-* Test - Visual Studio Run Test. Sends `CTRL + R, T`
### Keymap 2: Symbol Layer
@@ -105,9 +102,9 @@
,--------------------------------------------------. ,--------------------------------------------------.
| | | | | | | | | | | | | | | |
|--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
-| |KOpen |KType | | | | | | | Copy | | | | Paste| |
+| |KOpen |KType | LSFT | | | | | | Copy | | | | Paste| |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
-| |DLeft |DRight| LCTL | | |------| |------| Left | Down | Up | Right| | |
+| |DLeft |DRight| LCTL | LGUI | |------| |------| Left | Down | Up | Right| | |
|--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
| |SFT_TB| Tab | | | | | | | | | | | | |
`--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
@@ -117,7 +114,7 @@
| | | | Home | End |
,------|------|------| |------+------+------.
| | | | | | | |
- | | LSFT |------| |------| | |
+ | | |------| |------| | |
| | | | | | | |
`--------------------' `--------------------'
```
diff --git a/layouts/community/ergodox/333fred/keymap.c b/layouts/community/ergodox/333fred/keymap.c
index 3fac44e398..4e2cffa548 100644
--- a/layouts/community/ergodox/333fred/keymap.c
+++ b/layouts/community/ergodox/333fred/keymap.c
@@ -2,12 +2,7 @@
#include "debug.h"
#include "action_layer.h"
#include "version.h"
-
-#define BASE 0 // default layer
-#define CODE 1 // code layer
-#define SYMB 2 // symbols
-#define MDIA 3 // media keys
-#define MOVE 4 // movement layer
+#include "333fred.h"
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
@@ -48,20 +43,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | = | | L1 | 6 | 7 | 8 | 9 | 0 | - |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | TAB | Q | W | E | R | T | L2 | | L2 | Y | U | I | O | P | \ |
+ * | TAB | Q | W | E | R | T | L1 | | L2 | Y | U | I | O | P | \ |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | Esc | A | S | D |LT 3,F| G |------| |------| H | J | K | L | ; | ' |
- * |--------+------+------+------+------+------| L1 | |MO(3) |------+------+------+------+------+--------|
+ * |--------+------+------+------+------+------| L2 | |MO(3) |------+------+------+------+------+--------|
* | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |LCTRL | F4 | F5 | LGUI | LALT | | Left | Down | Up | Right| RGUI |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
- * | Copy | Paste| | Alt | Lock |
+ * | Copy | Paste| | Copy | Paste |
* ,------|------|------| |------+--------+------.
* | | | PgUp | | PgDn | | |
* | Bcksp|OSL(2)|------| |------| Ent |Space |
- * | | | Del | | RCtrl| | |
+ * | | VIM | Del | | RCtrl| | |
* `--------------------' `----------------------'
*/
// If it accepts an argument (i.e, is a function), it doesn't need KC_.
@@ -69,22 +64,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT_ergodox( // layer 0 : default
// left hand
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
- KC_ESC, KC_A, KC_S, KC_D, LT(MOVE, KC_F),KC_G,
- OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(CODE),
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(CODE),
+ KC_ESC, KC_A, KC_S, KC_D, LT(VIM, KC_F),KC_G,
+ OSM(MOD_LSFT), CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, TG(SYMB),
OSM(MOD_LCTL), KC_F4, KC_F5, KC_LGUI,KC_LALT,
- LCTL(KC_C),LCTL(KC_V),
- KC_PGUP,
- KC_BSPC,OSL(SYMB), KC_DEL,
+ LCTL(KC_C), LCTL(KC_V),
+ KC_PGUP,
+ KC_BSPC,TD(TD_SYM_VIM), KC_DEL,
// right hand
TG(CODE), 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, KC_SCLN, KC_QUOT,
MO(MDIA), KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), OSM(MOD_RSFT),
KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, KC_RGUI,
- KC_RALT, KC_LOCK,
+ LCTL(KC_C), LCTL(KC_V),
KC_PGDN,
- KC_RCTL, KC_ENT, KC_SPC
+ KC_RCTL, KC_ENT, KC_SPC
),
/* Keymap 1: Code Layer
*
@@ -100,10 +95,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | F12 |GoToIm| FAR | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,---------------.
- * |Format|Build | | Test | DTest |
+ * |Format|Build | | Copy | Paste |
* ,------|------|------| |------+--------+------.
* | | |Refact| |Sort U| | |
- * | | |------| |------| | |
+ * | |ACCESS|------| |------| | |
* | | | | | | | |
* `--------------------' `----------------------'
*/
@@ -126,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_F12, M(GO_TO_IMPL),M(FIND_ALL_REF),KC_TRNS, KC_TRNS,
- M(TEST), M(DEBUG_TEST),
+ LCTL(KC_C), LCTL(KC_V),
M(REMOVE_SORT_USINGS),
KC_TRNS, KC_TRNS, KC_TRNS
),
@@ -218,9 +213,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | |KOpen |KType | | | | | | | Copy | | | | Paste| |
+ * | |KOpen |KType |LSHFT | | | | | | Copy | | | | Paste| |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | |DLeft |DRight|LCTRL |ACCESS| |------| |------| Left | Down | Up | Right| | |
+ * | |DLeft |DRight|LCTRL | LGUI | |------| |------| Left | Down | Up | Right| | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |SFT_TB| TAB | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
@@ -230,20 +225,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | Home | End |
* ,------|------|------| |------+------+------.
* | | | | | | | |
- * | |LSHIFT|------| |------| | |
+ * | |ACCESS|------| |------| | |
* | | | | | | | |
* `--------------------' `--------------------'
*/
// MEDIA AND MOUSE
-[MOVE] = LAYOUT_ergodox(
+[VIM] = LAYOUT_ergodox(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(KEEPASS_OPEN),M(KEEPASS_TYPE),KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, M(DLEFT), M(DRIGHT), KC_LCTL, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(KEEPASS_OPEN),M(KEEPASS_TYPE),KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, M(DLEFT), M(DRIGHT), KC_LCTL, KC_LGUI, KC_TRNS,
KC_TRNS, M(LSFT_TAB), KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
- KC_TRNS, KC_LSFT, 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, LCTL(KC_C),KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_V),KC_TRNS,
@@ -349,6 +344,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ tap_dance_process_record(keycode);
switch (keycode) {
// dynamically generate these.
case EPRM:
diff --git a/layouts/community/ergodox/333fred/rules.mk b/layouts/community/ergodox/333fred/rules.mk
index d8e081eaa0..31e7237322 100644
--- a/layouts/community/ergodox/333fred/rules.mk
+++ b/layouts/community/ergodox/333fred/rules.mk
@@ -3,6 +3,7 @@ LCD_ENABLE = yes
BACKLIGHT_ENABLE = yes
NKRO_ENABLE = yes
KEY_LOCK_ENABLE = yes
+TAP_DANCE_ENABLE = yes