diff --git a/keyboards/crkbd/keymaps/bcat/config.h b/keyboards/crkbd/keymaps/bcat/config.h
deleted file mode 100644
index 65e7a80523..0000000000
--- a/keyboards/crkbd/keymaps/bcat/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#define EE_HANDS
-
-/* Limit max RGB LED current to avoid tripping controller fuse. */
-#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
diff --git a/keyboards/crkbd/keymaps/bcat/rules.mk b/keyboards/crkbd/keymaps/bcat/rules.mk
deleted file mode 100644
index cd3418dab8..0000000000
--- a/keyboards/crkbd/keymaps/bcat/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-BOOTLOADER = atmel-dfu # Elite-C
-
-RGB_MATRIX_ENABLE = WS2812 # per-key RGB and underglow
diff --git a/keyboards/eco/keymaps/bcat/config.h b/keyboards/eco/keymaps/bcat/config.h
new file mode 100644
index 0000000000..dffdc7b40a
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/config.h
@@ -0,0 +1,22 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+/* WS2812B RGB LED strip hand wired to Elite-C. */
+#define RGB_DI_PIN B7
+#define RGBLED_NUM 15
+#define RGBLIGHT_ANIMATIONS
diff --git a/keyboards/eco/keymaps/bcat/keymap.c b/keyboards/eco/keymaps/bcat/keymap.c
new file mode 100644
index 0000000000..066acbe649
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/keymap.c
@@ -0,0 +1,72 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+#include "bcat.h"
+
+enum layer {
+ LAYER_DEFAULT,
+ LAYER_LOWER,
+ LAYER_RAISE,
+ LAYER_ADJUST,
+};
+
+#define LY_LWR MO(LAYER_LOWER)
+#define LY_RSE MO(LAYER_RAISE)
+
+#define KY_CSPC LCTL(KC_SPC)
+#define KY_ZMIN LCTL(KC_EQL)
+#define KY_ZMOUT LCTL(KC_MINS)
+#define KY_ZMRST LCTL(KC_0)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Default layer: http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281 */
+ [LAYER_DEFAULT] = LAYOUT(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, 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_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ XXXXXXX, XXXXXXX, KC_LALT, KC_LCTL, LY_LWR, KC_SPC, XXXXXXX, XXXXXXX, KC_ENT, LY_RSE, KC_RALT, KC_RGUI, XXXXXXX, XXXXXXX
+ ),
+
+ /* Lower layer: http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415 */
+ [LAYER_LOWER] = LAYOUT(
+ 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_ZMRST, KY_ZMOUT, KY_ZMIN, 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/308a8be75e0b85902dc18db1b2546862 */
+ [LAYER_RAISE] = LAYOUT(
+ 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,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21 */
+ [LAYER_ADJUST] = LAYOUT(
+ _______, NK_TOGG, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______,
+ _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_VAI, RGB_MOD, RGB_SPI, _______,
+ _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, _______
+ ),
+};
+
+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/eco/keymaps/bcat/readme.md b/keyboards/eco/keymaps/bcat/readme.md
new file mode 100644
index 0000000000..85e2615512
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/readme.md
@@ -0,0 +1,44 @@
+# bcat's Eco layout
+
+This is a cute little 4x14 ortholinear keyboard. I've set it up using an
+unsplit, ortho version of my [split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat)
+(Crkbd) layout, with the following changes:
+
+* The alpha keys are separated by an extra two columns in the middle to provide
+a little more hand separation, similar to a split keyboard.
+
+* The top three rows of the extra middle columns feature navigation keys and
+brackets/braces. I don't really use dedicated keys for these, but I had the
+keycaps, so I figured I may as well put them there.
+
+* I have a Left Alt and Right Super key on the bottom row just like my
+[Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat).
+
+* The two keys in each bottom corner are unbound, as is the 2U spacebar in the
+center of the bottom row. These keys are too inconvenient to reach, and there's
+nothing really useful to bind them to anyway.
+
+## Default layer
+
+![Default layer layout](https://i.imgur.com/uRUT2cY.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/2c11371c7a5f7cd08a0132631d3d3281))
+
+## Lower layer
+
+![Lower layer layout](https://i.imgur.com/8SR0M9x.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/11256970dc0552886a82382ee02fa415))
+
+## Raise layer
+
+![Raise layer layout](https://i.imgur.com/U7KERR3.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/308a8be75e0b85902dc18db1b2546862))
+
+## Adjust layer
+
+![Adjust layer layout](https://i.imgur.com/J2rOshm.png)
+
+([KLE](http://www.keyboard-layout-editor.com/#/gists/b18aafa0327d7e83eaf485546c067a21))
diff --git a/keyboards/eco/keymaps/bcat/rules.mk b/keyboards/eco/keymaps/bcat/rules.mk
new file mode 100644
index 0000000000..684d8e4e85
--- /dev/null
+++ b/keyboards/eco/keymaps/bcat/rules.mk
@@ -0,0 +1,3 @@
+BOOTLOADER = atmel-dfu # Elite-C
+
+RGBLIGHT_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/bcat/keymap.c b/keyboards/lily58/keymaps/bcat/keymap.c
index 69864cd085..549363d03a 100644
--- a/keyboards/lily58/keymaps/bcat/keymap.c
+++ b/keyboards/lily58/keymaps/bcat/keymap.c
@@ -1,3 +1,19 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include QMK_KEYBOARD_H
#include "bcat.h"
@@ -24,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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_WBAK, KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LGUI, KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT, KC_APP
+ KC_LALT, KC_LCTL, LY_LWR, KC_SPC, KC_ENT, LY_RSE, KC_RALT, KC_RGUI
),
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/19ad0d3b5d745fbb2818db09740f5a11 */
diff --git a/keyboards/lily58/keymaps/bcat/readme.md b/keyboards/lily58/keymaps/bcat/readme.md
index 84c2fc335f..de03526a8b 100644
--- a/keyboards/lily58/keymaps/bcat/readme.md
+++ b/keyboards/lily58/keymaps/bcat/readme.md
@@ -1,8 +1,8 @@
# bcat's Lily58 layout
-This split ergo layout follows my preferred [Crkbd
-layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
-with the following changes:
+This split ergo layout follows my preferred [split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat)
+(Crkbd) layout with a few changes:
* There's an optional number row at the top of the keyboard. I am quite used to
using layers for numbers and symbols, so in practice this goes unused.
@@ -11,12 +11,15 @@ using layers for numbers and symbols, so in practice this goes unused.
placed in the same positions as on the ErgoDox EZ. (There's no real reason for
this; I just had to do _something_ with those keys.)
-* The extra thumb keys are used for dedicated Super/Menu keys, as well as
-browser back/forward navigation keys.
+* The extra thumb keys on the bottom row are used for a Left Alt key (for easier
+Alt+Tab, Alt+F4, etc.) and a dedicated Super key.
+
+* The harder-to-reach thumb keys below the controllers are bound to browser
+back/forward navigation keys.
## Default layer
-![Default layer layout](https://i.imgur.com/FNITWJ0.png)
+![Default layer layout](https://i.imgur.com/0stG2GT.png)
([KLE](http://www.keyboard-layout-editor.com/#/gists/e0eb3af65961e9fd612dcff3ddd88e4f))
diff --git a/layouts/community/split_3x6_3/bcat/config.h b/layouts/community/split_3x6_3/bcat/config.h
new file mode 100644
index 0000000000..e177f0ffcb
--- /dev/null
+++ b/layouts/community/split_3x6_3/bcat/config.h
@@ -0,0 +1,34 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#if defined(KEYBOARD_crkbd_rev1_common) || defined(KEYBOARD_crkbd_rev1_legacy)
+# define EE_HANDS
+
+# if defined(RGBLIGHT_ENABLE)
+/* Configure RGB for underglow only (first six LEDs on each side). */
+# undef RGBLED_SPLIT
+# define RGBLED_SPLIT \
+ { 6, 6 }
+# endif
+
+# if defined(RGB_MATRIX_ENABLE)
+/* Limit max RGB LED current to avoid tripping controller fuse. */
+# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
+# endif
+#endif
diff --git a/keyboards/crkbd/keymaps/bcat/keymap.c b/layouts/community/split_3x6_3/bcat/keymap.c
similarity index 78%
rename from keyboards/crkbd/keymaps/bcat/keymap.c
rename to layouts/community/split_3x6_3/bcat/keymap.c
index 7b8329fea9..934a8e31f2 100644
--- a/keyboards/crkbd/keymaps/bcat/keymap.c
+++ b/layouts/community/split_3x6_3/bcat/keymap.c
@@ -1,3 +1,19 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#include QMK_KEYBOARD_H
#include "bcat.h"
@@ -19,7 +35,7 @@ enum layer {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default layer: http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5 */
- [LAYER_DEFAULT] = LAYOUT(
+ [LAYER_DEFAULT] = LAYOUT_split_3x6_3(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
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,
@@ -27,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Lower layer: http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0 */
- [LAYER_LOWER] = LAYOUT(
+ [LAYER_LOWER] = LAYOUT_split_3x6_3(
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_ZMRST, KY_ZMOUT, KY_ZMIN, 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,
@@ -35,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Raise layer: http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7 */
- [LAYER_RAISE] = LAYOUT(
+ [LAYER_RAISE] = LAYOUT_split_3x6_3(
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,
@@ -43,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Adjust layer: http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee */
- [LAYER_ADJUST] = LAYOUT(
+ [LAYER_ADJUST] = LAYOUT_split_3x6_3(
_______, NK_TOGG, KC_MPLY, KC_VOLU, KC_MSTP, _______, EEP_RST, RESET, _______, _______, _______, _______,
_______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, RGB_RMOD, RGB_VAD, RGB_VAI, RGB_MOD, RGB_SPI, _______,
_______, _______, _______, KC_MUTE, _______, _______, RGB_HUI, RGB_SAD, RGB_SAI, RGB_HUD, RGB_SPD, _______,
diff --git a/keyboards/crkbd/keymaps/bcat/readme.md b/layouts/community/split_3x6_3/bcat/readme.md
similarity index 96%
rename from keyboards/crkbd/keymaps/bcat/readme.md
rename to layouts/community/split_3x6_3/bcat/readme.md
index 4ffb1562bf..ed17b84186 100644
--- a/keyboards/crkbd/keymaps/bcat/readme.md
+++ b/layouts/community/split_3x6_3/bcat/readme.md
@@ -1,4 +1,4 @@
-# bcat's Corne layout
+# bcat's split 3x6 + 3 thumb keys layout
This is my favorite split ergo layout for typing, featuring the traditional
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
@@ -33,9 +33,6 @@ layer-switch keys to correct mistakes.
* 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, although I generally use Left Shift. (I've
considered replacing Right Shift with another key, but haven't chosen one.)
@@ -46,7 +43,8 @@ right thumbs, respectively.
* 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.
+elimination. (I would really like one more 1U thumb key on each half to allow
+for a redundant Alt key on the left and a dedicated Super key on the right.)
## Lower layer
diff --git a/layouts/community/split_3x6_3/bcat/rules.mk b/layouts/community/split_3x6_3/bcat/rules.mk
new file mode 100644
index 0000000000..3a9796673e
--- /dev/null
+++ b/layouts/community/split_3x6_3/bcat/rules.mk
@@ -0,0 +1,10 @@
+ifeq ($(strip $(KEYBOARD)), crkbd/rev1/common)
+ BOOTLOADER = atmel-dfu # Elite-C
+
+ # Enable underglow only. (Split Common doesn't support RGB matrix on slave.)
+ RGBLIGHT_ENABLE = yes
+else ifeq ($(strip $(KEYBOARD)), crkbd/rev1/legacy)
+ BOOTLOADER = atmel-dfu # Elite-C
+
+ RGB_MATRIX_ENABLE = WS2812 # per-key RGB and underglow
+endif
diff --git a/users/bcat/config.h b/users/bcat/config.h
index b0d556186a..16188950e2 100644
--- a/users/bcat/config.h
+++ b/users/bcat/config.h
@@ -1,26 +1,32 @@
+/* Copyright 2020 Jonathan Rascher
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
/* Wait between tap_code register and unregister to fix flaky media keys. */
#undef TAP_CODE_DELAY
#define TAP_CODE_DELAY 20
-/*
- * Force the default tapping term since some keyboards make it way too short
- * (*cough*Lily58*cough*).
- */
-#undef TAPPING_TERM
-
-#define TAPPING_TERM 200
-
-/*
- * Treat mod-tap keys as holds even if the mod-tap key and the key being
- * modified are both relased within TAPPING_TERM. This assumes the mod-tap key
+/* Treat mod-tap keys as holds even if the mod-tap key and the key being
+ * modified are both released within TAPPING_TERM. This assumes the mod-tap key
* isn't usually pressed in quick succession with other tapped keys, which is
* good when the tap keycode is something like KC_ESC rather than a letter.
*/
#define PERMISSIVE_HOLD
-/*
- * Turn off key repeat support of the tap keycode for tap-hold keys, enabling
+/* Turn off key repeat support of the tap keycode for tap-hold keys, enabling
* holds to work correctly in quick succession after taps.
*/
#define TAPPING_FORCE_HOLD
@@ -57,6 +63,9 @@
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 17
# define RGBLIGHT_VAL_STEP 17
+
+/* Turn on additional RGB animations. */
+# define RGBLIGHT_ANIMATIONS
#endif
#if defined(BACKLIGHT_ENABLE)
diff --git a/users/bcat/readme.md b/users/bcat/readme.md
index 49fbea1acf..6d097d663d 100644
--- a/users/bcat/readme.md
+++ b/users/bcat/readme.md
@@ -1,13 +1,48 @@
# bcat's userspace
This is some code and config shared by all of [my](https://github.com/bcat)
-keyboards. I have a few different keymaps spread throughout the repo; however,
-they are all derived from two "canonical" keymaps for my preferred layouts:
+keyboards. I use community layouts wherever possible, only writing
+keyboard-specific keymaps for boards without standard layout support. I derive
+my keymaps from two canonical ones (preferred for typing and gaming,
+respectively).
-* For typing, my canonical layout is my
-[Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
-(split ergo, columnar-staggered) layout.
+## Canonical keymaps
-* For gaming, my canonical layout is my
-[Tsangan](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat)
-(row-staggered) layout.
+* [Split 3x6 + 3 thumb
+keys](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/split_3x6_3/bcat):
+Columnar-staggered split ergo layout, preferred for typing. Used on Crkbd.
+
+* [60% Tsangan
+HHKB](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat):
+Row-staggered layout, preferred for gaming. Used on ai03 Polaris, CannonKeys
+AN-C, CannonKeys Instant60.
+
+## Other keymaps
+
+### Ergo
+
+* [Lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat)
+
+### Ortho
+
+* [Eco](https://github.com/qmk/qmk_firmware/tree/master/keyboards/eco/keymaps/bcat)
+
+### Traditional
+
+* [60% ANSI split
+backspace/right-shift](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_ansi_split_bs_rshift/bcat).
+Used on DZ60.
+
+* [65% ANSI blocker split
+backspace](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/65_ansi_blocker_split_bs/bcat).
+Used on KBDfans KBD67 hotswap.
+
+* [Keebio
+Quefrency](https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/quefrency/keymaps/bcat)
+
+### Macropads
+
+* [9-Key](https://github.com/qmk/qmk_firmware/tree/master/keyboards/9key/keymaps/bcat)
+
+* [Keebio
+BDN9](https://github.com/qmk/qmk_firmware/tree/master/keyboards/keebio/bdn9/keymaps/bcat)