summaryrefslogtreecommitdiff
path: root/keyboards/crkbd/keymaps/bcat
diff options
context:
space:
mode:
authorJonathan Rascher <jon@bcat.name>2020-07-10 17:57:49 -0400
committerGitHub <noreply@github.com>2020-07-10 22:57:49 +0100
commit027570a21b44b2cba1b917c2eddb804b5dc82173 (patch)
tree6ed2111c9e65a1e38a855de490f7d359ba2e0306 /keyboards/crkbd/keymaps/bcat
parentbd72a577a2bec7479a909316d1729bad41c0b0e5 (diff)
Rework bcat Crkbd and Lily58 modifier keys (#9692)
* Re-enable mouse keys to fix Chrome OS media keys I'm not sure if there's a bug in Chrome OS, QMK, or both, but EXTRAKEY_ENABLE isn't sufficient for media keys to work on Chrome OS. Instead, MOUSEKEY_ENABLE is also required. * Remove unnecessary SPLIT_USB_DETECT for Lily58 I've since swapped my Lily58 back to Elite-C v2 controllers with working VBUS detection. * Move Crkbd Esc and Ctrl keys; add some shortcuts * Move MC_ALTT to userspace for cross-board support * Sync Lily58 keymap with Crkbd * Fix typos
Diffstat (limited to 'keyboards/crkbd/keymaps/bcat')
-rw-r--r--keyboards/crkbd/keymaps/bcat/keymap.c21
-rw-r--r--keyboards/crkbd/keymaps/bcat/readme.md53
2 files changed, 42 insertions, 32 deletions
diff --git a/keyboards/crkbd/keymaps/bcat/keymap.c b/keyboards/crkbd/keymaps/bcat/keymap.c
index b4c347181f..60375f6764 100644
--- a/keyboards/crkbd/keymaps/bcat/keymap.c
+++ b/keyboards/crkbd/keymaps/bcat/keymap.c
@@ -1,5 +1,7 @@
#include QMK_KEYBOARD_H
+#include "bcat.h"
+
enum layer {
LAYER_DEFAULT,
LAYER_LOWER,
@@ -10,28 +12,31 @@ enum layer {
#define LY_LWR MO(LAYER_LOWER)
#define LY_RSE MO(LAYER_RAISE)
-#define KY_CESC LCTL_T(KC_ESC)
+#define KY_CSPC LCTL(KC_SPC)
+#define KY_LOCK LGUI(KC_L)
+#define KY_WINL LGUI(KC_LEFT)
+#define KY_WINR LGUI(KC_RGHT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
[LAYER_DEFAULT] = LAYOUT(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KY_CESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_ESC, KC_A, KC_S, 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, KC_RSFT,
- KC_LALT, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RGUI
+ KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT
),
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
[LAYER_LOWER] = LAYOUT(
- KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
- _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
+ MC_ALTT, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ KY_CSPC, KY_WINL, KY_WINR, KY_LOCK, KC_WBAK, KC_WFWD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_TILD,
+ _______, KC_APP, KC_PSCR, KC_SLCK, KC_PAUS, KC_LGUI, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_GRV,
_______, _______, _______, _______, _______, _______
),
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
[LAYER_RAISE] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F11, KC_DEL,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_F12, KC_INS,
_______, _______, _______, _______, _______, _______
@@ -46,6 +51,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-layer_state_t layer_state_set_user(layer_state_t state) {
+layer_state_t layer_state_set_keymap(layer_state_t state) {
return update_tri_layer_state(state, LAYER_LOWER, LAYER_RAISE, LAYER_ADJUST);
}
diff --git a/keyboards/crkbd/keymaps/bcat/readme.md b/keyboards/crkbd/keymaps/bcat/readme.md
index fa6b5af37f..21594f75c9 100644
--- a/keyboards/crkbd/keymaps/bcat/readme.md
+++ b/keyboards/crkbd/keymaps/bcat/readme.md
@@ -4,11 +4,11 @@ This is my favorite split ergo layout for typing, featuring the traditional
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
left, Enter on right) layouts, but has since been redesigned heavily according
-to the principles described below:
+to the principles described below.
-* Since most of the modifiers are on the left half, keys frequently pressed
-together with mods (e.g., numbers, function keys, etc.) are on the Raise layer
-activated by the right thumb.
+* Since my most-frequently-used keyboard shortcuts involve Ctrl, which lives on
+the left half of the keyboard, keys frequently used with it (numbers, function
+keys, etc.) are on the Raise layer activated by the right thumb.
* Navigation can be done on the right half alone, to enable simultaneous
left-handed mousing. Additionally, Web pages can be scrolled with Space or
@@ -22,7 +22,7 @@ layer-switch keys to correct mistakes.
## Default layer
-![Default layer layout](https://i.imgur.com/s1LDlSQ.png)
+![Default layer layout](https://i.imgur.com/g5N7g8D.png)
([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
@@ -31,29 +31,26 @@ layer-switch keys to correct mistakes.
* Tab and Backspace are in familiar locations from my row-staggered boards
(almost all of which use HHKB-style split backspace).
+* The Esc key is next to the home row for convenience in Vim.
+
* Likewise, the Ctrl key is in the same place as on my row-staggered boards
(where I've been remapping Caps Lock as Ctrl since before even using QMK).
-* There are two Shift keys, because I do use Right Shift on occasion (even
-though I'm predominately a Left Shift-er).
+* There are two Shift keys, although I generally use Left Shift. (I've
+considered replacing Right Shift with another key, but haven't chosen one.)
-* Lower and Raise layer-switch keys are below the left and right thumb,
-respectively, when resting my fingers on the home row.
+* Lower and Raise layer-switch keys are in the resting position of my left and
+right thumbs, respectively.
* Space and Enter are on the big thumb keys so they're easy to press.
-* Alt is on the left so I can navigate back (Alt+Raise+H) and forward
-(Alt+Raise+L) without having to uncomfortably hit two thumb keys on the same
-half. This puts Super on the right by the process of elimination.
-
-* Escape shares a mod-tap key with Ctrl, which is convenient for Vim, but not
-something I'm totally in love with, as even after tweaking `TAPPING_TERM` I
-still get occasional spurious Esc taps. (I might move Esc up a key and put Tab
-on a layer, but that'd take some getting used to....)
+* Ctrl is on the left for ease of chording, especially one-handed use of common
+shortcuts like Ctrl+T and Ctrl+W. This puts Alt on the right by the process of
+elimination.
## Lower layer
-![Lower layer layout](https://i.imgur.com/SsxvCgy.png)
+![Lower layer layout](https://i.imgur.com/djIkwsa.png)
([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
@@ -74,17 +71,23 @@ bottom row.
right half, with the same relative positions as on a row-staggered HHKB layout.
And yup, the shifted versions are above the unshifted versions.
-* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious
-better location.
+* Remaining keys from a TKL are placed out of the way on the bottom row of the
+left half.
-* Some extra keys are placed on the bottom row of the left half, ensuring every
-key on a TKL has a binding.
+* The home row on the left half contains handy shortcuts for window movement,
+and browser navigation, and screen lock.
-* The left-half home row is reversed for future use. (It's free real estate.)
+* Lower+Esc is bound to Ctrl+Space because the Ctrl and Space keys are both on
+the left thumb, so this key combination (which I use for tmux prefix and editor
+autocomplete) is hard to press in its natural location.
+
+* Lower+Tab is bound to a custom Alt+Tab macro that keeps the Alt modifier held
+as long as the Lower key is held down. This means that window switching is on
+Lower+Tab immediately next to browser tab switching (Ctrl+Tab).
## Raise layer
-![Raise layer layout](https://i.imgur.com/cVoKygg.png)
+![Raise layer layout](https://i.imgur.com/VNEiV9A.png)
([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
@@ -106,6 +109,8 @@ keys (F1–F5) on the home row.)
* Insert and Delete are on the rightmost column, because there didn't seem to
be a better place to put them.
+* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious better location.
+
## Adjust layer
![Adjust layer layout](https://i.imgur.com/LEHM4DU.png)