Add Eco keymap, factor Crkbd keymap to community layout, other minor tweaks * Remove outdated Crkbd Ctrl key positioning info * Add Left Alt key to Lily58 keymap * Lily58 no longer overrides default TAPPING_TERM * Refactor Crkbd keymap to use new community layout * Fix underglow animations for Crkbd w/ Split Common * Add initial Eco keymap * Update outdated reference to Crkbd layout * Add keymap links to userspace readme * Add copyright notices to files changed in this PRpull/10870/head
@ -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 |
@ -1,3 +0,0 @@ | |||||
BOOTLOADER = atmel-dfu # Elite-C | |||||
RGB_MATRIX_ENABLE = WS2812 # per-key RGB and underglow |
@ -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 <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
/* WS2812B RGB LED strip hand wired to Elite-C. */ | |||||
#define RGB_DI_PIN B7 | |||||
#define RGBLED_NUM 15 | |||||
#define RGBLIGHT_ANIMATIONS |
@ -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 <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#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); | |||||
} |
@ -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)) |
@ -0,0 +1,3 @@ | |||||
BOOTLOADER = atmel-dfu # Elite-C | |||||
RGBLIGHT_ENABLE = yes |
@ -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 <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#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 |
@ -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 |
@ -1,13 +1,48 @@ | |||||
# bcat's userspace | # bcat's userspace | ||||
This is some code and config shared by all of [my](https://github.com/bcat) | 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) |