aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Rascher <jon@bcat.name>2020-04-22 15:26:51 -0500
committerGitHub <noreply@github.com>2020-04-22 13:26:51 -0700
commitc1c579c554839b5bea1b23480837d9b67faf87d4 (patch)
tree153e2e309ac20060aefb023c2ca38a6a1861cf5f
parent19bd8aa942519666fa8af298f7b80f6150d268a2 (diff)
downloadqmk_firmware-c1c579c554839b5bea1b23480837d9b67faf87d4.tar.gz
qmk_firmware-c1c579c554839b5bea1b23480837d9b67faf87d4.zip
[Keymap] Clean up my ergo keymaps and userspace (#8857)
* Remove more mouse keys settings missed in #8836 * Turn off more unwanted make options * clang-format my userspace * Reword ergo layout docs so Crkbd is canonical * Add a basic readme to my userspace * Tweak Crkbd readme wording and fix typos * Enable SPLIT_USB_DETECT for Lily58 w/ Elite-C bug
-rw-r--r--keyboards/crkbd/keymaps/bcat/readme.md100
-rw-r--r--keyboards/lily58/keymaps/bcat/config.h3
-rw-r--r--keyboards/lily58/keymaps/bcat/readme.md51
-rw-r--r--users/bcat/bcat.c4
-rw-r--r--users/bcat/config.h82
-rw-r--r--users/bcat/readme.md13
-rw-r--r--users/bcat/rules.mk28
7 files changed, 175 insertions, 106 deletions
diff --git a/keyboards/crkbd/keymaps/bcat/readme.md b/keyboards/crkbd/keymaps/bcat/readme.md
index 71a9d93c9..9b2110a47 100644
--- a/keyboards/crkbd/keymaps/bcat/readme.md
+++ b/keyboards/crkbd/keymaps/bcat/readme.md
@@ -1,9 +1,24 @@
1# bcat's Corne layout 1# bcat's Corne layout
2 2
3This split ergo layout mirrors 3This is my favorite split ergo layout for typing, featuring the traditional
4[my Lily58 layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat) 4four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
5with the number row removed and RGB controls added. See that layout's docs for 5by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
6more details on the principles that went into the layout. 6left, Enter on right) layouts, but has since been redesigned heavily according
7to the principles described below:
8
9* Since most of the modifiers are on the left half, keys frequently pressed
10together with mods (e.g., numbers, function keys, etc.) are on the Raise layer
11activated by the right thumb.
12
13* Navigation can be done on the right half alone, to enable simultaneous
14left-handed mousing. Additionally, Web pages can be scrolled with Space or
15Shift+Space on the left half alone, to enable taking notes with the right hand
16at the same time.
17
18* Other than Right Shift (which I seldom use), mods aren't rebound on layers.
19
20* Likewise, Backspace is not rebound on layers to avoid having to let go of
21layer-switch keys to correct mistakes.
7 22
8## Default layer 23## Default layer
9 24
@@ -11,20 +26,97 @@ more details on the principles that went into the layout.
11 26
12([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5)) 27([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
13 28
29* The alpha keys are a standard QWERTY layout, no funny business there.
30
31* Tab and Backspace are in familiar locations from my row-staggered boards
32(almost all of which use HHKB-style split backspace).
33
34* Likewise, the Ctrl key is in the same place as on my row-staggered boards
35(where I've been remapping Caps Lock as Ctrl since before even using QMK).
36
37* There are two Shift keys, because I do use Right Shift on occasion (even
38though I'm predominately a Left Shift-er).
39
40* Lower and Raise layer-switch keys are below the left and right thumb,
41respectively, when resting my fingers on the home row.
42
43* Space and Enter are on the big thumb keys so they're easy to press.
44
45* Alt is on the left so I can navigate back (Alt+Raise+H) and forward
46(Alt+Raise+L) without having to uncomfortably hit two thumb keys on the same
47half. This puts Super on the right by the process of elimination.
48
49* Escape shares a mod-tap key with Ctrl, which is convenient for Vim, but not
50something I'm totally in love with, as even after tweaking `TAPPING_TERM` I
51still get occasional spurious Esc taps. (I might move Esc up a key and put Tab
52on a layer, but that'd take some getting used to....)
53
14## Lower layer 54## Lower layer
15 55
16![Lower layer layout](https://i.imgur.com/rDlSmrA.png) 56![Lower layer layout](https://i.imgur.com/rDlSmrA.png)
17 57
18([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0)) 58([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
19 59
60* This could also be called the "symbol layer".
61
62* Shifted numbers are bound in their usual positions on the top row.
63
64* Hyphen/Underscore and Equals/Plus are in the right index- and middle-finger
65columns for easy reach. They share the same relative position as on a
66row-staggered keyboard, and the shifted versions are physically above the
67unshifted versions as a mnemonic device.
68
69* Brackets and braces are placed below the parens for easy recall. Once again,
70the shifted versions are on the home row and the unshifted versions are on the
71bottom row.
72
73* Forward Slash/Pipe and Backtick/Tilde fill out the remaining positions on the
74right half, with the same relative positions as on a row-staggered HHKB layout.
75And yup, the shifted versions are above the unshifted versions.
76
77* Caps Lock is bound in the same position as on an HHKB, for lack of an obvious
78better location.
79
80* Some extra keys are placed on the bottom row of the left half, ensuring every
81key on a TKL has a binding.
82
83* The left-half home row is reversed for future use. (It's free real estate.)
84
20## Raise layer 85## Raise layer
21 86
22![Raise layer layout](https://i.imgur.com/cVoKygg.png) 87![Raise layer layout](https://i.imgur.com/cVoKygg.png)
23 88
24([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7)) 89([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
25 90
91* This could also be called the "number layer".
92
93* Unshifted numbers are bound in their usual positions on the top row.
94
95* Arrow keys are on VIM-style HJKL keys.
96
97* Home/End and Page Up/Page Down are in the same column as the arrow keys, but
98translated down one row. (This means that the comma and period keys are not
99bound on the number layer, which makes data entry a bit funky. I might add a
100dedicated numpad layer to compensate.)
101
102* Function keys F1–F10 take up most of remaining space on the left half, with
103F11 and F12 spilling over to the right half. (This puts the most used function
104keys (F1–F5) on the home row.)
105
106* Insert and Delete are on the rightmost column, because there didn't seem to
107be a better place to put them.
108
26## Adjust layer 109## Adjust layer
27 110
28![Adjust layer layout](https://i.imgur.com/LEHM4DU.png) 111![Adjust layer layout](https://i.imgur.com/LEHM4DU.png)
29 112
30([KLE](http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee)) 113([KLE](http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee))
114
115* Media keys are centered around the ESDF cluster, just like I arrange them on
116row-staggered keyboards. (It's even more sensible with columnar stagger.)
117
118* The navigation keys are replaced by RGB controls. Again, this mirrors the
119positioning I use on my row-staggered keyboards.
120
121* Finally, reset keys live at the top-left corner of the right half where it's
122reasonably hard to press them by accident.
diff --git a/keyboards/lily58/keymaps/bcat/config.h b/keyboards/lily58/keymaps/bcat/config.h
index 180926204..f7f08d076 100644
--- a/keyboards/lily58/keymaps/bcat/config.h
+++ b/keyboards/lily58/keymaps/bcat/config.h
@@ -1,3 +1,6 @@
1#pragma once 1#pragma once
2 2
3#define EE_HANDS 3#define EE_HANDS
4
5/* Work around Elite-C v3 with broken VBUS detection. */
6#define SPLIT_USB_DETECT
diff --git a/keyboards/lily58/keymaps/bcat/readme.md b/keyboards/lily58/keymaps/bcat/readme.md
index 389def143..0ea0d2278 100644
--- a/keyboards/lily58/keymaps/bcat/readme.md
+++ b/keyboards/lily58/keymaps/bcat/readme.md
@@ -1,49 +1,18 @@
1# bcat's Lily58 layout 1# bcat's Lily58 layout
2 2
3This split ergo layout is standard QWERTY on the default layer, with symbols on 3This split ergo layout follows my preferred [Crkbd
4the lower layer, numbers/navigation on the raise layer, and media keys centered 4layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
5around the ESDF cluster in the adjust (raise + lower) layer. A few general 5with the following changes:
6principles went into this layout:
7 6
8* The number row is optional, as are the outermost bottom row keys and the 7* There's an optional number row at the top of the keyboard. I am quite used to
9"extra" keys on the innnermost columns below the controllers. This allows me to 8using layers for numbers and symbols, so in practice this goes unused.
10switch between this keyboard and a 40% like the
11[Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat)
12without breaking muscle memory.
13 9
14* Space and Enter are on the big thumb keys so they're easy to press. 10* The dedicated Hyphen/Underscore and Equals/Plus keys on the number row are
11placed in the same positions as on the ErgoDox EZ. (There's no real reason for
12this; I just had to do _something_ with those keys.)
15 13
16* There are two shift keys because Right Shift is all that important, but just 14* The extra thumb keys are used for dedicated Ctrl/Menu keys (not super useful)
17because I don't have any better ideas for what to put there. 15and browser back/forward navigation keys (actually more useful than expected).
18
19* Arrow keys are on VIM-style HJKL keys.
20
21* Home/End and Page Up/Page Down are equivalent to the arrow keys, but
22translated down one row.
23
24* Navigation is usable with just the right hand, to enable left-handed mousing
25at the same time. Additionally, Web page scrolling (Space, Shift+Space) is
26possible with just the left hand, for writing at the same time as scrolling.
27
28* Escape is easy to reach because Vim is life.
29
30* Since most of the modifiers are on the left half, keys frequently pressed
31together with mods (e.g., numbers, function keys, etc.) are on the Raise layer
32activated by the right thumb.
33
34* Every key on a TKL has a binding.
35
36* Backspace is bound in the same place on every layer to avoid having to let go
37of layer-shift keys to fix a mistake.
38
39* Likewise, the comma and period keys are not rebound on the raise layer to
40allow typing numbers with thousand separators and decimal points without
41releasing the layer key.
42
43* Brackets and braces are on or near the home row for quick access when coding.
44They're positioned below the parens on the Raise layer for easy recall.
45
46* For consistency, mods aren't rebound on layers (except for the Tab key).
47 16
48## Default layer 17## Default layer
49 18
diff --git a/users/bcat/bcat.c b/users/bcat/bcat.c
index bea64dbaa..2b250c10f 100644
--- a/users/bcat/bcat.c
+++ b/users/bcat/bcat.c
@@ -1,6 +1,6 @@
1#include "quantum.h" 1#include "quantum.h"
2 2
3#if defined(RGBLIGHT_ENABLE) 3#if defined(RGBLIGHT_ENABLE)
4 /* Adjust RGB static hue ranges for shorter gradients than default. */ 4/* Adjust RGB static hue ranges for shorter gradients than default. */
5 const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 127, 63, 31, 15}; 5const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 127, 63, 31, 15};
6#endif 6#endif
diff --git a/users/bcat/config.h b/users/bcat/config.h
index da74cb0a0..b0d556186 100644
--- a/users/bcat/config.h
+++ b/users/bcat/config.h
@@ -26,65 +26,45 @@
26#define TAPPING_FORCE_HOLD 26#define TAPPING_FORCE_HOLD
27 27
28#if defined(RGB_MATRIX_ENABLE) 28#if defined(RGB_MATRIX_ENABLE)
29 /* Turn off per-key RGB when the host goes to sleep. */ 29/* Turn off per-key RGB when the host goes to sleep. */
30 #define RGB_DISABLE_WHEN_USB_SUSPENDED true 30# define RGB_DISABLE_WHEN_USB_SUSPENDED true
31 31
32 /* Keep per-key RGB increments consistent across keyboards. */ 32/* Keep per-key RGB increments consistent across keyboards. */
33 #undef RGB_MATRIX_HUE_STEP 33# undef RGB_MATRIX_HUE_STEP
34 #undef RGB_MATRIX_SAT_STEP 34# undef RGB_MATRIX_SAT_STEP
35 #undef RGB_MATRIX_VAL_STEP 35# undef RGB_MATRIX_VAL_STEP
36 #undef RGB_MATRIX_SPD_STEP 36# undef RGB_MATRIX_SPD_STEP
37 37
38 #define RGB_MATRIX_HUE_STEP 8 38# define RGB_MATRIX_HUE_STEP 8
39 #define RGB_MATRIX_SAT_STEP 17 39# define RGB_MATRIX_SAT_STEP 17
40 #define RGB_MATRIX_VAL_STEP 17 40# define RGB_MATRIX_VAL_STEP 17
41 #define RGB_MATRIX_SPD_STEP 17 41# define RGB_MATRIX_SPD_STEP 17
42 42
43 /* Turn on additional RGB animations. */ 43/* Turn on additional RGB animations. */
44 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS 44# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
45 #define RGB_MATRIX_KEYPRESSES 45# define RGB_MATRIX_KEYPRESSES
46#endif 46#endif
47 47
48#if defined(RGBLIGHT_ENABLE) 48#if defined(RGBLIGHT_ENABLE)
49 /* Turn off RGB underglow when the host goes to sleep. */ 49/* Turn off RGB underglow when the host goes to sleep. */
50 #define RGBLIGHT_SLEEP 50# define RGBLIGHT_SLEEP
51 51
52 /* Keep RGB underglow level increments consistent across keyboards. */ 52/* Keep RGB underglow level increments consistent across keyboards. */
53 #undef RGBLIGHT_HUE_STEP 53# undef RGBLIGHT_HUE_STEP
54 #undef RGBLIGHT_SAT_STEP 54# undef RGBLIGHT_SAT_STEP
55 #undef RGBLIGHT_VAL_STEP 55# undef RGBLIGHT_VAL_STEP
56 56
57 #define RGBLIGHT_HUE_STEP 8 57# define RGBLIGHT_HUE_STEP 8
58 #define RGBLIGHT_SAT_STEP 17 58# define RGBLIGHT_SAT_STEP 17
59 #define RGBLIGHT_VAL_STEP 17 59# define RGBLIGHT_VAL_STEP 17
60#endif 60#endif
61 61
62#if defined(BACKLIGHT_ENABLE) 62#if defined(BACKLIGHT_ENABLE)
63 /* Enable backlight breathing across the board. */ 63/* Enable backlight breathing across the board. */
64 #define BACKLIGHT_BREATHING 64# define BACKLIGHT_BREATHING
65
66 /* Keep backlight level increments consistent across keyboards. */
67 #undef BACKLIGHT_LEVELS
68
69 #define BACKLIGHT_LEVELS 7
70#endif
71
72#if defined(MOUSEKEY_ENABLE)
73 /* Make mouse operation smoother. */
74 #undef MOUSEKEY_DELAY
75 #undef MOUSEKEY_INTERVAL
76
77 #define MOUSEKEY_DELAY 0
78 #define MOUSEKEY_INTERVAL 16
79 65
80 /* Lower mouse speed to adjust for reduced MOUSEKEY_INTERVAL. */ 66/* Keep backlight level increments consistent across keyboards. */
81 #undef MOUSEKEY_MAX_SPEED 67# undef BACKLIGHT_LEVELS
82 #undef MOUSEKEY_TIME_TO_MAX
83 #undef MOUSEKEY_WHEEL_MAX_SPEED
84 #undef MOUSEKEY_WHEEL_TIME_TO_MAX
85 68
86 #define MOUSEKEY_MAX_SPEED 7 69# define BACKLIGHT_LEVELS 7
87 #define MOUSEKEY_TIME_TO_MAX 150
88 #define MOUSEKEY_WHEEL_MAX_SPEED 3
89 #define MOUSEKEY_WHEEL_TIME_TO_MAX 150
90#endif 70#endif
diff --git a/users/bcat/readme.md b/users/bcat/readme.md
new file mode 100644
index 000000000..49fbea1ac
--- /dev/null
+++ b/users/bcat/readme.md
@@ -0,0 +1,13 @@
1# bcat's userspace
2
3This is some code and config shared by all of [my](https://github.com/bcat)
4keyboards. I have a few different keymaps spread throughout the repo; however,
5they are all derived from two "canonical" keymaps for my preferred layouts:
6
7* For typing, my canonical layout is my
8[Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
9(split ergo, columnar-staggered) layout.
10
11* For gaming, my canonical layout is my
12[Tsangan](https://github.com/qmk/qmk_firmware/tree/master/layouts/community/60_tsangan_hhkb/bcat)
13(row-staggered) layout.
diff --git a/users/bcat/rules.mk b/users/bcat/rules.mk
index 585e8092e..f3c6f9ab2 100644
--- a/users/bcat/rules.mk
+++ b/users/bcat/rules.mk
@@ -6,18 +6,30 @@ BOOTMAGIC_ENABLE = lite
6# Enable media keys on all keyboards. 6# Enable media keys on all keyboards.
7EXTRAKEY_ENABLE = yes 7EXTRAKEY_ENABLE = yes
8 8
9# Disable some unwanted features on all keyboards. 9# Enable link-time optimization to reduce binary size.
10API_SYSEX_ENABLE = no 10LINK_TIME_OPTIMIZATION_ENABLE = yes
11
12# Disable unused build options on all keyboards.
11COMMAND_ENABLE = no 13COMMAND_ENABLE = no
12CONSOLE_ENABLE = no 14CONSOLE_ENABLE = no
13FAUXCLICKY_ENABLE = no
14MIDI_ENABLE = no
15MOUSEKEY_ENABLE = no 15MOUSEKEY_ENABLE = no
16NKRO_ENABLE = no 16NKRO_ENABLE = no
17TERMINAL_ENABLE = no
18
19# Disable unused hardware options on all keyboards.
20FAUXCLICKY_ENABLE = no
21MIDI_ENABLE = no
17SLEEP_LED_ENABLE = no 22SLEEP_LED_ENABLE = no
23
24# Disable unused other options.
25API_SYSEX_ENABLE = no
26AUTO_SHIFT_ENABLE = no
27COMBO_ENABLE = no
28KEYBOARD_LOCK_ENABLE = no
29KEY_LOCK_ENABLE = no
30LEADER_ENABLE = no
31SWAP_HANDS_ENABLE = no
32TAP_DANCE_ENABLE = no
18UCIS_ENABLE = no 33UCIS_ENABLE = no
19UNICODE_ENABLE = no
20UNICODEMAP_ENABLE = no 34UNICODEMAP_ENABLE = no
21 35UNICODE_ENABLE = no
22# Enable link-time optimization to reduce binary size.
23LINK_TIME_OPTIMIZATION_ENABLE = yes