From abc3cd4d72ebd7627ebb78a78ad88827fbe4d5f9 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sun, 31 Jul 2016 03:04:37 -0700 Subject: [PATCH 01/13] Update readme.md --- keyboards/planck/keymaps/jeebak/readme.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index eb8104379..25fbc5e67 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -7,7 +7,7 @@ the exact changes. The diagrams in this README shows the highlights of the changes from the default mappings. I also decided to change all calls to `persistant_default_layer_set()` to -`update_tri_layer()` since this is my personal perference. +`default_layer_set()` since this is my personal perference. ## Base Layers (Qwerty/Colemak/Dvorak) These base layers are mostly the same as the default mappings. The interesting @@ -69,11 +69,12 @@ keys at the far left are for quick access to beginning and end of line in vim. as the modifier, with the `IJKL` home row keys representing the inverted-T of the arrow keys. All of the default TouchCursor keymappings for the right hand are represented below. My personalizations include all of the keys shown for -the left hand. Having the `Alt` and `Shift` keys readily accessible from the -home row allows quick word jumps and highlighting when used in conjunction with -the arrow keys. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and -`KC_AGAIN` keycodes have been mapped but they don't seem to work on Mac. -Presumably they'll work under Windows. +the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key +from the base layers) readily accessible from the home row allows quick word +jumps and highlighting when used in conjunction with the arrow keys. The +`KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN` keycodes have +been mapped but they don't seem to work on Mac. Presumably they'll work under +Windows. ``` ,-----------------------------------------------------------------------------------. | | | |Shift | GUI | ~ |Insert| Home | Up | End | Bksp | | From fdd89e7f0d50f619e8608a4448449a3a627f1da1 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sun, 31 Jul 2016 17:16:25 -0700 Subject: [PATCH 02/13] Add Alt-Tab, Cmd-Tab, and Ctl-Tab Macros to TouchCursor layer, swap LGUI and LSFT --- keyboards/planck/keymaps/jeebak/keymap.c | 35 ++++++++++++++++++++--- keyboards/planck/keymaps/jeebak/readme.md | 16 ++++++++--- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index ec142ecbb..ef4de074f 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -24,6 +24,7 @@ extern keymap_config_t keymap_config; #define _MOUSE 7 #define _ADJUST 16 +// Keycodes enum planck_keycodes { QWERTY = SAFE_RANGE, COLEMAK, @@ -35,16 +36,25 @@ enum planck_keycodes { EXT_PLV }; +enum macro_keycodes { + KC_ALT_TAB, + KC_CMD_TAB, + KC_CTL_TAB, +}; + // Fillers to make layering more clear #define _______ KC_TRNS #define XXXXXXX KC_NO // Custom macros #define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl -#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor -// ^-- Requires KC_TRNS / _______ for the trigger key in the destination layer #define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift +// Requires KC_TRNS/_______ for the trigger key in the destination layer +#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor. #define LT_ML LT(_MOUSE, KC_A) // L-ayer T-ap M-ouse C-ursor (on A) +#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab +#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab +#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -140,7 +150,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* TouchCursor layer (http://martin-stone.github.io/touchcursor/) plus personal customizations * ,-----------------------------------------------------------------------------------. - * | | | |Shift | GUI | ~ |Insert| Home | Up | End | Bksp | | + * |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | * |------+------+------+------+------+-------------+------+------+------+------+------| * | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | * |------+------+------+------+------+------|------+------+------+------+------+------| @@ -154,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_TOUCHCURSOR] = { - {_______, _______, _______, KC_LSFT, KC_LGUI, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, + {ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, {_______, KC_LALT, KC_SPC, _______, KC_FIND,KC_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______}, {_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} @@ -330,6 +340,23 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } +/* + * Macro definition + */ +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + switch (id) { + case KC_ALT_TAB: + return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); + case KC_CMD_TAB: + return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); + case KC_CTL_TAB: + return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END )); + } + + return MACRO_NONE; +} + void matrix_init_user(void) { #ifdef AUDIO_ENABLE startup_user(); diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 25fbc5e67..f7daf53d8 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -9,6 +9,11 @@ changes from the default mappings. I also decided to change all calls to `persistant_default_layer_set()` to `default_layer_set()` since this is my personal perference. +## Macros +``` +#define ALT_TAB M(KC_ALT_TAB) +``` + ## Base Layers (Qwerty/Colemak/Dvorak) These base layers are mostly the same as the default mappings. The interesting changes are shown below. The `Ctrl/Esc`, mapped using `CTL_T(KC_ESC)` will emit @@ -72,12 +77,15 @@ are represented below. My personalizations include all of the keys shown for the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key from the base layers) readily accessible from the home row allows quick word jumps and highlighting when used in conjunction with the arrow keys. The -`KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN` keycodes have -been mapped but they don't seem to work on Mac. Presumably they'll work under -Windows. +`AltTab` macro is not only useful under Windows, but also under Mac when used +with alternative switchers like [HyperSwitch](https://bahoom.com/hyperswitch). +The `CmdTab` and `CtlTab` sequences are duplicated for easy access while in +this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN` +keycodes have been mapped but they don't seem to work on Mac. Presumably +they'll work under Windows. ``` ,-----------------------------------------------------------------------------------. - | | | |Shift | GUI | ~ |Insert| Home | Up | End | Bksp | | + |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | |------+------+------+------+------+------|------+------+------+------+------+------| From 16f4a3178459305fd517d23f028812620e64c18f Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Mon, 1 Aug 2016 15:28:05 -0700 Subject: [PATCH 03/13] Number layer tweaks --- keyboards/planck/keymaps/jeebak/keymap.c | 8 ++++---- keyboards/planck/keymaps/jeebak/readme.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index ef4de074f..e39887394 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -134,17 +134,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | - | | | + * | $ | 4 | 5 | 6 | . | + | . | 4 | 5 | 6 | * | | | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | . | \ | + * | = | 7 | 8 | 9 | 0 | - | . | 1 | 2 | 3 | / | \ | * |------+------+------+------+------+------+------+------+------+------+------+------| * |Brite | | | | | | | Prev | Stop | Slct | Mute | * `-----------------------------------------------------------------------------------' */ [_RAISE] = { {KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC}, - {KC_DLR, KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_ASTR, KC_4, KC_5, KC_6, KC_MINS, KC_PIPE}, - {KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_BSLS}, + {KC_DLR, KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE}, + {KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DOT, KC_1, KC_2, KC_3, KC_SLSH, KC_BSLS}, {BACKLIT, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MSTP, KC_MSEL, KC_MUTE} }, diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index f7daf53d8..de2096954 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -61,9 +61,9 @@ keys at the far left are for quick access to beginning and end of line in vim. ,-----------------------------------------------------------------------------------. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | |------+------+------+------+------+-------------+------+------+------+------+------| - | $ | 4 | 5 | 6 | . | + | * | 4 | 5 | 6 | - | | | + | $ | 4 | 5 | 6 | . | + | . | 4 | 5 | 6 | * | | | |------+------+------+------+------+------|------+------+------+------+------+------| - | = | 7 | 8 | 9 | 0 | - | / | 1 | 2 | 3 | . | \ | + | = | 7 | 8 | 9 | 0 | - | . | 1 | 2 | 3 | / | \ | |------+------+------+------+------+------+------+------+------+------+------+------| |Brite | | | | | | | Prev | Stop | Slct | Mute | `-----------------------------------------------------------------------------------' From 9a4e72fa7175f0ef3b31c6a6036ac1a5010dc6c1 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Mon, 1 Aug 2016 22:02:39 -0700 Subject: [PATCH 04/13] Add CmdSlash to TouchCursor Layer --- keyboards/planck/keymaps/jeebak/keymap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index e39887394..0a6b9cfa0 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -40,6 +40,7 @@ enum macro_keycodes { KC_ALT_TAB, KC_CMD_TAB, KC_CTL_TAB, + KC_CMD_SLSH, }; // Fillers to make layering more clear @@ -55,6 +56,7 @@ enum macro_keycodes { #define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab #define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab #define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab +#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -166,7 +168,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_TOUCHCURSOR] = { {ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, {_______, KC_LALT, KC_SPC, _______, KC_FIND,KC_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______}, - {_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, _______, _______}, + {_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, CMD_SLSH,_______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, @@ -352,6 +354,8 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); case KC_CTL_TAB: return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END )); + case KC_CMD_SLSH: + return (record->event.pressed ? MACRO( D(LGUI), D(SLSH),END ) : MACRO( U(SLSH),END )); } return MACRO_NONE; From 7db1d7902bfb7044b899859d95846fa92bad61db Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Wed, 3 Aug 2016 20:00:54 -0700 Subject: [PATCH 05/13] Workaround for KC_COPY, etc. based on current AG_NORM/AG_SWAP setting --- keyboards/planck/keymaps/jeebak/keymap.c | 47 +++++++++++++++++++++-- keyboards/planck/keymaps/jeebak/readme.md | 12 +++--- 2 files changed, 50 insertions(+), 9 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 0a6b9cfa0..25918dc98 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -41,6 +41,12 @@ enum macro_keycodes { KC_CMD_TAB, KC_CTL_TAB, KC_CMD_SLSH, + KC_AG_FIND, + KC_AG_AGAIN, + KC_AG_UNDO, + KC_AG_CUT, + KC_AG_COPY, + KC_AG_PASTE, }; // Fillers to make layering more clear @@ -57,6 +63,12 @@ enum macro_keycodes { #define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab #define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab #define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility) +#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings +#define AG_AGAIN M(KC_AG_AGAIN) +#define AG_UNDO M(KC_AG_UNDO) +#define AG_CUT M(KC_AG_CUT) +#define AG_COPY M(KC_AG_COPY) +#define AG_PASTE M(KC_AG_PASTE) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -167,8 +179,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_TOUCHCURSOR] = { {ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, - {_______, KC_LALT, KC_SPC, _______, KC_FIND,KC_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______}, - {_______, KC_UNDO, KC_CUT, KC_COPY, KC_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, CMD_SLSH,_______}, + {_______, KC_LALT, KC_SPC, _______, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______}, + {_______, AG_UNDO, AG_CUT, AG_COPY, AG_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, CMD_SLSH,_______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, @@ -347,15 +359,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { */ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + + bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc. + // Compare to MAGIC_SWAP_ALT_GUI and MAGIC_UNSWAP_ALT_GUI configs, set in: + // quantum/quantum.c + if(keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1) { + use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc. + } + switch (id) { case KC_ALT_TAB: - return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); + if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); } + else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); } case KC_CMD_TAB: - return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); + if(use_cmd) { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); } + else { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); } + case KC_CTL_TAB: return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END )); case KC_CMD_SLSH: return (record->event.pressed ? MACRO( D(LGUI), D(SLSH),END ) : MACRO( U(SLSH),END )); + + case KC_AG_FIND: + return use_cmd ? MACRODOWN( D(LGUI), T(F), END ) : MACRODOWN( D(LCTRL), T(F), END ); + case KC_AG_AGAIN: + return use_cmd ? MACRODOWN( D(LGUI), T(G), END ) : MACRODOWN( D(LCTRL), T(G), END ); + case KC_AG_UNDO: + return use_cmd ? MACRODOWN( D(LGUI), T(Z), END ) : MACRODOWN( D(LCTRL), T(Z), END ); + case KC_AG_CUT: + return use_cmd ? MACRODOWN( D(LGUI), T(X), END ) : MACRODOWN( D(LCTRL), T(X), END ); + case KC_AG_COPY: + return use_cmd ? MACRODOWN( D(LGUI), T(C), END ) : MACRODOWN( D(LCTRL), T(C), END ); + case KC_AG_PASTE: + return use_cmd ? MACRODOWN( D(LGUI), T(V), END ) : MACRODOWN( D(LCTRL), T(V), END ); } return MACRO_NONE; diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index de2096954..094bc2a0e 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -77,15 +77,17 @@ are represented below. My personalizations include all of the keys shown for the left hand. Having the `Alt` and `Shift` keys (as well as the `Control` key from the base layers) readily accessible from the home row allows quick word jumps and highlighting when used in conjunction with the arrow keys. The -`AltTab` macro is not only useful under Windows, but also under Mac when used +`Alt-Tab` macro is not only useful under Windows, but also under Mac when used with alternative switchers like [HyperSwitch](https://bahoom.com/hyperswitch). -The `CmdTab` and `CtlTab` sequences are duplicated for easy access while in +The `Cmd-Tab` and `Ctrl-Tab` sequences are duplicated for easy access while in this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN` -keycodes have been mapped but they don't seem to work on Mac. Presumably -they'll work under Windows. +keycodes do not seem to work. There are macros in place that'll "automatically" +choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`, +etc.) depending on which layout you've currently selected (`AG_NORM` or +`AG_SWAP`) in the `_ADJUST` layer. ``` ,-----------------------------------------------------------------------------------. - |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | + |CmdTab|AltTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | |------+------+------+------+------+------|------+------+------+------+------+------| From 36abd4463fec1623e7eb590bb7960c6655cf2b70 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Thu, 4 Aug 2016 14:26:03 -0700 Subject: [PATCH 06/13] Revert swapp of AltTab/CmdTab in readme. Layout did not change --- keyboards/planck/keymaps/jeebak/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 094bc2a0e..48eb23264 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -87,7 +87,7 @@ etc.) depending on which layout you've currently selected (`AG_NORM` or `AG_SWAP`) in the `_ADJUST` layer. ``` ,-----------------------------------------------------------------------------------. - |CmdTab|AltTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | + |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | |------+------+------+------+------+------|------+------+------+------+------+------| From 6483a2a04b40ea7eb3ad56b5af10a4986b783fd6 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Fri, 5 Aug 2016 23:31:35 -0700 Subject: [PATCH 07/13] Mouse layer updates - Rename to MOUSECURSOR - Use "d" key, since middle finger is stronger than pinky - Shuffle some mouse buttons around --- keyboards/planck/keymaps/jeebak/keymap.c | 32 +++++++++++------------ keyboards/planck/keymaps/jeebak/readme.md | 14 +++++----- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 25918dc98..4a3cc2d56 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -21,7 +21,7 @@ extern keymap_config_t keymap_config; #define _RAISE 4 #define _PLOVER 5 #define _TOUCHCURSOR 6 -#define _MOUSE 7 +#define _MOUSECURSOR 7 #define _ADJUST 16 // Keycodes @@ -57,8 +57,8 @@ enum macro_keycodes { #define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl #define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift // Requires KC_TRNS/_______ for the trigger key in the destination layer -#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor. -#define LT_ML LT(_MOUSE, KC_A) // L-ayer T-ap M-ouse C-ursor (on A) +#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor +#define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor #define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab #define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab #define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab @@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------------. * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| - * | Ctrl/Esc | ML/A | S | D | F | G | H | J | K | L | ; | " | + * | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L | ; | " | * |----------+------+------+------+------+------|------+------+------+------+------+--------| * | Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent | * |----------+------+------+------+------+------+------+------+------+------+------+--------| @@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_QWERTY] = { {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {CTL_ESC, LT_ML, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {CTL_ESC, KC_A, KC_S, LT_MC(KC_D),KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------------. * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| - * | Ctrl/Esc | ML/A | R | S | T | D | H | N | E | I | O | " | + * | Ctrl/Esc | A | R | MC/S | T | D | H | N | E | I | O | " | * |----------+------+------+------+------+------|------+------+------+------+------+--------| * | Shift | Z | X | C | V | B | K | M | , | . | / |Sft/Ent | * |----------+------+------+------+------+------+------+------+------+------+------+--------| @@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_COLEMAK] = { {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, - {CTL_ESC, LT_ML, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, + {CTL_ESC, KC_A, KC_R, LT_MC(KC_S),KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, @@ -112,7 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------------. * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| - * | Ctrl/Esc | ML/A | O | E | U | I | D | H | T | N | S | / | + * | Ctrl/Esc | A | O | MC/E | U | I | D | H | T | N | S | / | * |----------+------+------+------+------+------|------+------+------+------+------+--------| * | Shift | ; | Q | J | K | X | B | M | W | V | Z |Sft/Ent | * |----------+------+------+------+------+------+------+------+------+------+------+--------| @@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_DVORAK] = { {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, - {CTL_ESC, LT_ML, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, + {CTL_ESC, KC_A, KC_O, LT_MC(KC_E),KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, @@ -186,20 +186,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Mouse Layer * ,-----------------------------------------------------------------------------------. - * | | |ACCL0 |ACCL1 |ACCL2 |ACCL2 | |WHL_L | Up |WHL_R | BTN2 | | + * | | |ACCL0 | |ACCL1 | | |WHL_L | Up |WHL_R | BTN2 | | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | | | BTN3 | BTN1 | BTN4 |WHL_Up| Left | Down |Right | | | + * | |ACCL2 | BTN2 | | BTN1 | |WHL_Up| Left | Down |Right | BTN4 | BTN5 | * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | | | | BTN2 | BTN5 |WHL_Dn| BTN1 | | | | | + * | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' */ -[_MOUSE] = { - {_______, _______, KC_ACL0, KC_ACL1, KC_ACL2, KC_ACL2, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______}, - {_______, _______, _______, KC_BTN3, KC_BTN1, KC_BTN4, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______}, - {_______, _______, _______, _______, KC_BTN2, KC_BTN5, KC_WH_D, KC_BTN1, _______, _______, _______, _______}, +[_MOUSECURSOR] = { + {_______, _______, KC_ACL0, _______, KC_ACL1, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______}, + {_______, KC_ACL2, KC_BTN2, _______, KC_BTN1, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5}, + {_______, _______, _______, _______, KC_BTN3, _______, KC_WH_D, KC_BTN1, _______, _______, KC_BTN3, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 48eb23264..0f2c9e26d 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -99,19 +99,19 @@ etc.) depending on which layout you've currently selected (`AG_NORM` or ## Mouse Layer The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer. -The `A` key is used to activate this layer. All 16 keycodes for the mouse from -the `doc/keycode.txt` file are represented, and logically located, IMHO. The -left and right click buttons are duplicated; on the right hand side, for a -quick click here and there, and again on the left hand side for when the +The `D` key (on QWERTY) is used to activate this layer. All 16 keycodes for the +mouse from the `doc/keycode.txt` file are represented, and logically located, +IMHO. The left and right click buttons are duplicated; on the right hand side, +for a quick click here and there, and again on the left hand side for when the buttons need to be held for dragging things or highlighting text, thus allowing the right hand to be free to use the up/down/left/right actions. ``` ,-----------------------------------------------------------------------------------. - | | |ACCL0 |ACCL1 |ACCL2 |ACCL2 | |WHL_L | Up |WHL_R | BTN2 | | + | | |ACCL0 | |ACCL1 | | |WHL_L | Up |WHL_R | BTN2 | | |------+------+------+------+------+-------------+------+------+------+------+------| - | | | | BTN3 | BTN1 | BTN4 |WHL_Up| Left | Down |Right | | | + | |ACCL2 | BTN2 | | BTN1 | |WHL_Up| Left | Down |Right | BTN4 | BTN5 | |------+------+------+------+------+------|------+------+------+------+------+------| - | | | | | BTN2 | BTN5 |WHL_Dn| BTN1 | | | | | + | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | | |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' From 96ed96f924d7df610465b567e5127e73e99a368d Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sat, 6 Aug 2016 00:01:12 -0700 Subject: [PATCH 08/13] Fix KC_ALT_TAB/KC_CMD_TAB logic --- keyboards/planck/keymaps/jeebak/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 4a3cc2d56..3b51e34e3 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -372,11 +372,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) switch (id) { case KC_ALT_TAB: - if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); } - else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); } - case KC_CMD_TAB: if(use_cmd) { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); } else { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); } + case KC_CMD_TAB: + if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); } + else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); } case KC_CTL_TAB: return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END )); From 57218827cbdb6e9510147239f69b8aa62e28cd14 Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sat, 6 Aug 2016 00:08:42 -0700 Subject: [PATCH 09/13] Move KC_ACL1 button --- keyboards/planck/keymaps/jeebak/keymap.c | 8 ++++---- keyboards/planck/keymaps/jeebak/readme.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 3b51e34e3..c5761b2d1 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -186,9 +186,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Mouse Layer * ,-----------------------------------------------------------------------------------. - * | | |ACCL0 | |ACCL1 | | |WHL_L | Up |WHL_R | BTN2 | | + * | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | |ACCL2 | BTN2 | | BTN1 | |WHL_Up| Left | Down |Right | BTN4 | BTN5 | + * | |ACCL2 | BTN2 | | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 | * |------+------+------+------+------+------|------+------+------+------+------+------| * | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -197,8 +197,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_MOUSECURSOR] = { - {_______, _______, KC_ACL0, _______, KC_ACL1, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______}, - {_______, KC_ACL2, KC_BTN2, _______, KC_BTN1, _______, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5}, + {_______, _______, KC_ACL0, _______, _______, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______}, + {_______, KC_ACL2, KC_BTN2, _______, KC_BTN1, KC_ACL1, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5}, {_______, _______, _______, _______, KC_BTN3, _______, KC_WH_D, KC_BTN1, _______, _______, KC_BTN3, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 0f2c9e26d..359aacff9 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -107,9 +107,9 @@ buttons need to be held for dragging things or highlighting text, thus allowing the right hand to be free to use the up/down/left/right actions. ``` ,-----------------------------------------------------------------------------------. - | | |ACCL0 | |ACCL1 | | |WHL_L | Up |WHL_R | BTN2 | | + | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | | |------+------+------+------+------+-------------+------+------+------+------+------| - | |ACCL2 | BTN2 | | BTN1 | |WHL_Up| Left | Down |Right | BTN4 | BTN5 | + | |ACCL2 | BTN2 | | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 | |------+------+------+------+------+------|------+------+------+------+------+------| | | | | | BTN3 | |WHL_Dn| BTN1 | | | BTN3 | | |------+------+------+------+------+------+------+------+------+------+------+------| From bda4d15ffa5a7390591b2f4edb05ed568a1c708a Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sat, 6 Aug 2016 11:59:57 -0700 Subject: [PATCH 10/13] Add Virtual Desktop Switching macros to TouchCursor layer --- keyboards/planck/keymaps/jeebak/keymap.c | 13 +++++++++++-- keyboards/planck/keymaps/jeebak/readme.md | 5 +++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index c5761b2d1..aa5c41593 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -47,6 +47,8 @@ enum macro_keycodes { KC_AG_CUT, KC_AG_COPY, KC_AG_PASTE, + KC_AG_DESK_L, + KC_AG_DESK_R, }; // Fillers to make layering more clear @@ -69,6 +71,8 @@ enum macro_keycodes { #define AG_CUT M(KC_AG_CUT) #define AG_COPY M(KC_AG_COPY) #define AG_PASTE M(KC_AG_PASTE) +#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and +#define AG_D_R M(KC_AG_DESK_R) // Right const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -166,7 +170,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | + * | | Alt |Space | | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| * |------+------+------+------+------+------|------+------+------+------+------+------| * | | Undo | Cut | Copy |Paste | ` | PgDn | Del | | | | | * |------+------+------+------+------+------+------+------+------+------+------+------| @@ -179,7 +183,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_TOUCHCURSOR] = { {ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, - {_______, KC_LALT, KC_SPC, _______, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______}, + {_______, KC_LALT, KC_SPC, _______, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R }, {_______, AG_UNDO, AG_CUT, AG_COPY, AG_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, CMD_SLSH,_______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, @@ -395,6 +399,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return use_cmd ? MACRODOWN( D(LGUI), T(C), END ) : MACRODOWN( D(LCTRL), T(C), END ); case KC_AG_PASTE: return use_cmd ? MACRODOWN( D(LGUI), T(V), END ) : MACRODOWN( D(LCTRL), T(V), END ); + + case KC_AG_DESK_L: + return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(SCLN), END ) : MACRODOWN( D(LALT), D(LCTRL), T(SCLN), END ); + case KC_AG_DESK_R: + return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(QUOT), END ) : MACRODOWN( D(LALT), D(LCTRL), T(QUOT), END ); } return MACRO_NONE; diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 359aacff9..28ae34f47 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -84,12 +84,13 @@ this layer. The `KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND,` and `KC_AGAIN` keycodes do not seem to work. There are macros in place that'll "automatically" choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`, etc.) depending on which layout you've currently selected (`AG_NORM` or -`AG_SWAP`) in the `_ADJUST` layer. +`AG_SWAP`) in the `_ADJUST` layer. The `Desk_L` and `Desk_R` macros are what I +use to switch between Virtual Desktops Left/Right. ``` ,-----------------------------------------------------------------------------------. |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| - | | Alt |Space | | Find |Again | PgUp | Left | Down |Right | | | + | | Alt |Space | | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| |------+------+------+------+------+------|------+------+------+------+------+------| | | Undo | Cut | Copy |Paste | ` | PgDn | Del | | | | | |------+------+------+------+------+------+------+------+------+------+------+------| From 68e287013b42cea53a1834c141bdf2c0802da3af Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sat, 6 Aug 2016 13:36:26 -0700 Subject: [PATCH 11/13] Add Tab Close, New, Reopen macros to TouchCursor layer --- keyboards/planck/keymaps/jeebak/keymap.c | 21 +++++++++++++++++---- keyboards/planck/keymaps/jeebak/readme.md | 8 +++++--- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index aa5c41593..7dc8760ec 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -49,6 +49,9 @@ enum macro_keycodes { KC_AG_PASTE, KC_AG_DESK_L, KC_AG_DESK_R, + KC_AG_TAB_C, + KC_AG_TAB_N, + KC_AG_TAB_R, }; // Fillers to make layering more clear @@ -73,6 +76,9 @@ enum macro_keycodes { #define AG_PASTE M(KC_AG_PASTE) #define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and #define AG_D_R M(KC_AG_DESK_R) // Right +#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close, +#define AG_T_N M(KC_AG_TAB_N) // Tab New, and +#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -170,9 +176,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------. * |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | * |------+------+------+------+------+-------------+------+------+------+------+------| - * | | Alt |Space | | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| + * | | Alt |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| * |------+------+------+------+------+------|------+------+------+------+------+------| - * | | Undo | Cut | Copy |Paste | ` | PgDn | Del | | | | | + * | | Undo | Cut | Copy |Paste | ` | PgDn | Del |Tab_N |Tab_R |iTerm2| | * |------+------+------+------+------+------+------+------+------+------+------+------| * | | | | | | | | | | | | * `-----------------------------------------------------------------------------------' @@ -183,8 +189,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_TOUCHCURSOR] = { {ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______}, - {_______, KC_LALT, KC_SPC, _______, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R }, - {_______, AG_UNDO, AG_CUT, AG_COPY, AG_PASTE,KC_GRV, KC_PGDN, KC_DEL, _______, _______, CMD_SLSH,_______}, + {_______, KC_LALT, KC_SPC, AG_T_C, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R }, + {_______, AG_UNDO, AG_CUT, AG_COPY, AG_PASTE,KC_GRV, KC_PGDN, KC_DEL, AG_T_N, AG_T_R, CMD_SLSH,_______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} }, @@ -404,6 +410,13 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(SCLN), END ) : MACRODOWN( D(LALT), D(LCTRL), T(SCLN), END ); case KC_AG_DESK_R: return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(QUOT), END ) : MACRODOWN( D(LALT), D(LCTRL), T(QUOT), END ); + + case KC_AG_TAB_C: + return use_cmd ? MACRODOWN( D(LGUI), T(W), END ) : MACRODOWN( D(LCTRL), T(W), END ); + case KC_AG_TAB_N: + return use_cmd ? MACRODOWN( D(LGUI), T(T), END ) : MACRODOWN( D(LCTRL), T(T), END ); + case KC_AG_TAB_R: + return use_cmd ? MACRODOWN( D(LGUI), D(LSHIFT), T(T), END ) : MACRODOWN( D(LCTRL), D(LSHIFT), T(T), END ); } return MACRO_NONE; diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 28ae34f47..b43f8a2fb 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -85,14 +85,16 @@ keycodes do not seem to work. There are macros in place that'll "automatically" choose the correct version (`Cmd-Tab` vs. `Alt-Tab`, `Cmd-C` vs. `Ctrl-C`, etc.) depending on which layout you've currently selected (`AG_NORM` or `AG_SWAP`) in the `_ADJUST` layer. The `Desk_L` and `Desk_R` macros are what I -use to switch between Virtual Desktops Left/Right. +use to switch between Virtual Desktops Left/Right. The `Tab_C`, `Tab_N` and +`Tab_R` are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as +Google Chrome. ``` ,-----------------------------------------------------------------------------------. |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| - | | Alt |Space | | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| + | | Alt |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R| |------+------+------+------+------+------|------+------+------+------+------+------| - | | Undo | Cut | Copy |Paste | ` | PgDn | Del | | | | | + | | Undo | Cut | Copy |Paste | ` | PgDn | Del |Tab_N |Tab_R |iTerm2| | |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' From 3d86e5b7a796e8d574107109708ed873405a77dc Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sun, 7 Aug 2016 11:05:10 -0700 Subject: [PATCH 12/13] Tap for Tab, hold for Hyper --- keyboards/planck/keymaps/jeebak/keymap.c | 13 ++++--- keyboards/planck/keymaps/jeebak/readme.md | 46 ++++++++++++----------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 7dc8760ec..8541ecd8d 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -61,6 +61,7 @@ enum macro_keycodes { // Custom macros #define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl #define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift +#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper // Requires KC_TRNS/_______ for the trigger key in the destination layer #define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor #define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor @@ -84,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty * ,-----------------------------------------------------------------------------------------. - * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * | Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| * | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L | ; | " | * |----------+------+------+------+------+------|------+------+------+------+------+--------| @@ -94,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------------' */ [_QWERTY] = { - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, {CTL_ESC, KC_A, KC_S, LT_MC(KC_D),KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} @@ -102,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Colemak * ,-----------------------------------------------------------------------------------------. - * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp | + * | Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| * | Ctrl/Esc | A | R | MC/S | T | D | H | N | E | I | O | " | * |----------+------+------+------+------+------|------+------+------+------+------+--------| @@ -112,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------------' */ [_COLEMAK] = { - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, + {HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC}, {CTL_ESC, KC_A, KC_R, LT_MC(KC_S),KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} @@ -120,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Dvorak * ,-----------------------------------------------------------------------------------------. - * | Tab | " | , | . | P | Y | F | G | C | R | L | Bksp | + * | Hyper/Tab| " | , | . | P | Y | F | G | C | R | L | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| * | Ctrl/Esc | A | O | MC/E | U | I | D | H | T | N | S | / | * |----------+------+------+------+------+------|------+------+------+------+------+--------| @@ -130,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `-----------------------------------------------------------------------------------------' */ [_DVORAK] = { - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, + {HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC}, {CTL_ESC, KC_A, KC_O, LT_MC(KC_E),KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH}, {KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index b43f8a2fb..863567904 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -16,32 +16,36 @@ I also decided to change all calls to `persistant_default_layer_set()` to ## Base Layers (Qwerty/Colemak/Dvorak) These base layers are mostly the same as the default mappings. The interesting -changes are shown below. The `Ctrl/Esc`, mapped using `CTL_T(KC_ESC)` will emit -an `Escape` when tapped, and act as a `Control` key when held. A `TODO` item is -to see if it can also act as a `CapsLock` when double-tapped. The right shift -key acts as `Enter` when tapped, and as a `Shift` key when held. The arrow -keys, which have been moved to the +changes are shown below. + +- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held. +- The `Sft/Ent` as `Enter` and `Shift`, and +- The `Hyper/Tab` as `Tab` and `Hyper` + +A `TODO` item is to see if it can also act as a `CapsLock` when double-tapped. +The arrow keys, which have been moved to the [TouchCursor](http://martin-stone.github.io/touchcursor/) layer, have been -replaced with the Media keys as shown. The `ML/A` key activates the Mouse layer -when held, and emits an `A` when tapped. +replaced with the Media keys as shown. The `MC/kc` key activates the +`MouseCursor` layer when held, and emits the corresponding `kc` for its layer, +when tapped. ``` ,-----------------------------------------------------------------------------------------. - | | | | | | | | | | | | | + | Hyper/Tab| | | | | | | | | | | | |----------+------+------+------+------+-------------+------+------+------+------+--------| - | Ctrl/Esc | ML/A | | | | | | | | | | | + | Ctrl/Esc | | |MC/kc | | | | | | | | | |----------+------+------+------+------+------|------+------+------+------+------+--------| | | | | | | | | | | | |Sft/Ent | |----------+------+------+------+------+------+------+------+------+------+------+--------| | PrntScrn | RGUI | Alt | GUI |Lower | TC/Space |Raise | Next | Vol- | Vol+ | Play | `-----------------------------------------------------------------------------------------' -``` - +``` + ## Lower Layer (Symbols and Function Keys) The symbols and functions keys are essentially the same as the default mapping. The most notable changes are that the symbol keys from the `RAISE` layer have been moved here. The remaining Media keys replace those that are now on the base layers. The `BACKLIT` key has also been moved here. -``` +``` ,-----------------------------------------------------------------------------------. | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | |------+------+------+------+------+-------------+------+------+------+------+------| @@ -51,13 +55,13 @@ base layers. The `BACKLIT` key has also been moved here. |------+------+------+------+------+------+------+------+------+------+------+------| |Brite | | | | | | | Prev | Stop | Slct | Mute | `-----------------------------------------------------------------------------------' -``` - +``` + ## Raise Layer (Numbers and Arithmetic Operators) All of the numbers and arithmetic operators are available on this layer. Some keys are duplicated for the convenience of their positions. The `0` and `$` keys at the far left are for quick access to beginning and end of line in vim. -``` +``` ,-----------------------------------------------------------------------------------. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | |------+------+------+------+------+-------------+------+------+------+------+------| @@ -67,8 +71,8 @@ keys at the far left are for quick access to beginning and end of line in vim. |------+------+------+------+------+------+------+------+------+------+------+------| |Brite | | | | | | | Prev | Stop | Slct | Mute | `-----------------------------------------------------------------------------------' -``` - +``` + ## TouchCursor layer plus personal customizations [TouchCursor](http://martin-stone.github.io/touchcursor/) uses the `Space` key as the modifier, with the `IJKL` home row keys representing the inverted-T of @@ -88,7 +92,7 @@ etc.) depending on which layout you've currently selected (`AG_NORM` or use to switch between Virtual Desktops Left/Right. The `Tab_C`, `Tab_N` and `Tab_R` are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as Google Chrome. -``` +``` ,-----------------------------------------------------------------------------------. |AltTab|CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |------+------+------+------+------+-------------+------+------+------+------+------| @@ -98,7 +102,7 @@ Google Chrome. |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' -``` +``` ## Mouse Layer The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer. @@ -108,7 +112,7 @@ IMHO. The left and right click buttons are duplicated; on the right hand side, for a quick click here and there, and again on the left hand side for when the buttons need to be held for dragging things or highlighting text, thus allowing the right hand to be free to use the up/down/left/right actions. -``` +``` ,-----------------------------------------------------------------------------------. | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | | |------+------+------+------+------+-------------+------+------+------+------+------| @@ -118,4 +122,4 @@ the right hand to be free to use the up/down/left/right actions. |------+------+------+------+------+------+------+------+------+------+------+------| | | | | | | | | | | | | `-----------------------------------------------------------------------------------' -``` +``` From ef83f1d04f4cf85c1922632b8a759fe67a5b24cb Mon Sep 17 00:00:00 2001 From: JeeBak Kim Date: Sun, 7 Aug 2016 12:44:45 -0700 Subject: [PATCH 13/13] Tap for ;, hold for GUI, tap for ", hold for Alt --- keyboards/planck/keymaps/jeebak/keymap.c | 6 ++++-- keyboards/planck/keymaps/jeebak/readme.md | 10 ++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/keyboards/planck/keymaps/jeebak/keymap.c b/keyboards/planck/keymaps/jeebak/keymap.c index 8541ecd8d..cb7ccb588 100644 --- a/keyboards/planck/keymaps/jeebak/keymap.c +++ b/keyboards/planck/keymaps/jeebak/keymap.c @@ -62,6 +62,8 @@ enum macro_keycodes { #define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl #define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift #define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper +#define GUI_SEM GUI_T(KC_SCLN) // Tap for Semicolon, hold for GUI +#define ALT_QUO ALT_T(KC_QUOT) // Tap for Quote, hold for Alt // Requires KC_TRNS/_______ for the trigger key in the destination layer #define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor #define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor @@ -87,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-----------------------------------------------------------------------------------------. * | Hyper/Tab| Q | W | E | R | T | Y | U | I | O | P | Bksp | * |----------+------+------+------+------+-------------+------+------+------+------+--------| - * | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L | ; | " | + * | Ctrl/Esc | A | S | MC/D | F | G | H | J | K | L |GUI/; | Alt/" | * |----------+------+------+------+------+------|------+------+------+------+------+--------| * | Shift | Z | X | C | V | B | N | M | , | . | / |Sft/Ent | * |----------+------+------+------+------+------+------+------+------+------+------+--------| @@ -96,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [_QWERTY] = { {HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, - {CTL_ESC, KC_A, KC_S, LT_MC(KC_D),KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {CTL_ESC, KC_A, KC_S, LT_MC(KC_D),KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, GUI_SEM, ALT_QUO}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT}, {KC_PSCR, KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY} }, diff --git a/keyboards/planck/keymaps/jeebak/readme.md b/keyboards/planck/keymaps/jeebak/readme.md index 863567904..e1dd1dca5 100644 --- a/keyboards/planck/keymaps/jeebak/readme.md +++ b/keyboards/planck/keymaps/jeebak/readme.md @@ -18,9 +18,11 @@ I also decided to change all calls to `persistant_default_layer_set()` to These base layers are mostly the same as the default mappings. The interesting changes are shown below. -- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held. -- The `Sft/Ent` as `Enter` and `Shift`, and -- The `Hyper/Tab` as `Tab` and `Hyper` +- The `Ctrl/Esc`, will emit an `Escape` when tapped, and act as a `Control` key when held, +- `GUI/;` as `;` and `GUI`, +- `Alt/"` as `"` and `Alt`, +- `Sft/Ent` as `Enter` and `Shift`, and +- `Hyper/Tab` as `Tab` and `Hyper` A `TODO` item is to see if it can also act as a `CapsLock` when double-tapped. The arrow keys, which have been moved to the @@ -32,7 +34,7 @@ when tapped. ,-----------------------------------------------------------------------------------------. | Hyper/Tab| | | | | | | | | | | | |----------+------+------+------+------+-------------+------+------+------+------+--------| - | Ctrl/Esc | | |MC/kc | | | | | | | | | + | Ctrl/Esc | | |MC/kc | | | | | | |GUI/; | Alt/" | |----------+------+------+------+------+------|------+------+------+------+------+--------| | | | | | | | | | | | |Sft/Ent | |----------+------+------+------+------+------+------+------+------+------+------+--------|