diff options
author | Jonathan Rascher <jon@bcat.name> | 2020-04-22 15:26:51 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-22 13:26:51 -0700 |
commit | c1c579c554839b5bea1b23480837d9b67faf87d4 (patch) | |
tree | 153e2e309ac20060aefb023c2ca38a6a1861cf5f | |
parent | 19bd8aa942519666fa8af298f7b80f6150d268a2 (diff) | |
download | qmk_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.md | 100 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/bcat/config.h | 3 | ||||
-rw-r--r-- | keyboards/lily58/keymaps/bcat/readme.md | 51 | ||||
-rw-r--r-- | users/bcat/bcat.c | 4 | ||||
-rw-r--r-- | users/bcat/config.h | 82 | ||||
-rw-r--r-- | users/bcat/readme.md | 13 | ||||
-rw-r--r-- | users/bcat/rules.mk | 28 |
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 | ||
3 | This split ergo layout mirrors | 3 | This 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) | 4 | four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired |
5 | with the number row removed and RGB controls added. See that layout's docs for | 5 | by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on |
6 | more details on the principles that went into the layout. | 6 | left, Enter on right) layouts, but has since been redesigned heavily according |
7 | to the principles described below: | ||
8 | |||
9 | * Since most of the modifiers are on the left half, keys frequently pressed | ||
10 | together with mods (e.g., numbers, function keys, etc.) are on the Raise layer | ||
11 | activated by the right thumb. | ||
12 | |||
13 | * Navigation can be done on the right half alone, to enable simultaneous | ||
14 | left-handed mousing. Additionally, Web pages can be scrolled with Space or | ||
15 | Shift+Space on the left half alone, to enable taking notes with the right hand | ||
16 | at 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 | ||
21 | layer-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 | ||
38 | though I'm predominately a Left Shift-er). | ||
39 | |||
40 | * Lower and Raise layer-switch keys are below the left and right thumb, | ||
41 | respectively, 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 | ||
47 | half. 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 | ||
50 | something I'm totally in love with, as even after tweaking `TAPPING_TERM` I | ||
51 | still get occasional spurious Esc taps. (I might move Esc up a key and put Tab | ||
52 | on a layer, but that'd take some getting used to....) | ||
53 | |||
14 | ## Lower layer | 54 | ## Lower layer |
15 | 55 | ||
16 |  | 56 |  |
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 | ||
65 | columns for easy reach. They share the same relative position as on a | ||
66 | row-staggered keyboard, and the shifted versions are physically above the | ||
67 | unshifted versions as a mnemonic device. | ||
68 | |||
69 | * Brackets and braces are placed below the parens for easy recall. Once again, | ||
70 | the shifted versions are on the home row and the unshifted versions are on the | ||
71 | bottom row. | ||
72 | |||
73 | * Forward Slash/Pipe and Backtick/Tilde fill out the remaining positions on the | ||
74 | right half, with the same relative positions as on a row-staggered HHKB layout. | ||
75 | And 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 | ||
78 | better location. | ||
79 | |||
80 | * Some extra keys are placed on the bottom row of the left half, ensuring every | ||
81 | key 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 |  | 87 |  |
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 | ||
98 | translated down one row. (This means that the comma and period keys are not | ||
99 | bound on the number layer, which makes data entry a bit funky. I might add a | ||
100 | dedicated numpad layer to compensate.) | ||
101 | |||
102 | * Function keys F1–F10 take up most of remaining space on the left half, with | ||
103 | F11 and F12 spilling over to the right half. (This puts the most used function | ||
104 | keys (F1–F5) on the home row.) | ||
105 | |||
106 | * Insert and Delete are on the rightmost column, because there didn't seem to | ||
107 | be a better place to put them. | ||
108 | |||
26 | ## Adjust layer | 109 | ## Adjust layer |
27 | 110 | ||
28 |  | 111 |  |
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 | ||
116 | row-staggered keyboards. (It's even more sensible with columnar stagger.) | ||
117 | |||
118 | * The navigation keys are replaced by RGB controls. Again, this mirrors the | ||
119 | positioning 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 | ||
122 | reasonably 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 | ||
3 | This split ergo layout is standard QWERTY on the default layer, with symbols on | 3 | This split ergo layout follows my preferred [Crkbd |
4 | the lower layer, numbers/navigation on the raise layer, and media keys centered | 4 | layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat) |
5 | around the ESDF cluster in the adjust (raise + lower) layer. A few general | 5 | with the following changes: |
6 | principles 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 | 8 | using layers for numbers and symbols, so in practice this goes unused. |
10 | switch between this keyboard and a 40% like the | ||
11 | [Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat) | ||
12 | without 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 |
11 | placed in the same positions as on the ErgoDox EZ. (There's no real reason for | ||
12 | this; 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) |
17 | because I don't have any better ideas for what to put there. | 15 | and 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 | ||
22 | translated down one row. | ||
23 | |||
24 | * Navigation is usable with just the right hand, to enable left-handed mousing | ||
25 | at the same time. Additionally, Web page scrolling (Space, Shift+Space) is | ||
26 | possible 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 | ||
31 | together with mods (e.g., numbers, function keys, etc.) are on the Raise layer | ||
32 | activated 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 | ||
37 | of layer-shift keys to fix a mistake. | ||
38 | |||
39 | * Likewise, the comma and period keys are not rebound on the raise layer to | ||
40 | allow typing numbers with thousand separators and decimal points without | ||
41 | releasing the layer key. | ||
42 | |||
43 | * Brackets and braces are on or near the home row for quick access when coding. | ||
44 | They'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}; | 5 | const 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 | |||
3 | This is some code and config shared by all of [my](https://github.com/bcat) | ||
4 | keyboards. I have a few different keymaps spread throughout the repo; however, | ||
5 | they 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. |
7 | EXTRAKEY_ENABLE = yes | 7 | EXTRAKEY_ENABLE = yes |
8 | 8 | ||
9 | # Disable some unwanted features on all keyboards. | 9 | # Enable link-time optimization to reduce binary size. |
10 | API_SYSEX_ENABLE = no | 10 | LINK_TIME_OPTIMIZATION_ENABLE = yes |
11 | |||
12 | # Disable unused build options on all keyboards. | ||
11 | COMMAND_ENABLE = no | 13 | COMMAND_ENABLE = no |
12 | CONSOLE_ENABLE = no | 14 | CONSOLE_ENABLE = no |
13 | FAUXCLICKY_ENABLE = no | ||
14 | MIDI_ENABLE = no | ||
15 | MOUSEKEY_ENABLE = no | 15 | MOUSEKEY_ENABLE = no |
16 | NKRO_ENABLE = no | 16 | NKRO_ENABLE = no |
17 | TERMINAL_ENABLE = no | ||
18 | |||
19 | # Disable unused hardware options on all keyboards. | ||
20 | FAUXCLICKY_ENABLE = no | ||
21 | MIDI_ENABLE = no | ||
17 | SLEEP_LED_ENABLE = no | 22 | SLEEP_LED_ENABLE = no |
23 | |||
24 | # Disable unused other options. | ||
25 | API_SYSEX_ENABLE = no | ||
26 | AUTO_SHIFT_ENABLE = no | ||
27 | COMBO_ENABLE = no | ||
28 | KEYBOARD_LOCK_ENABLE = no | ||
29 | KEY_LOCK_ENABLE = no | ||
30 | LEADER_ENABLE = no | ||
31 | SWAP_HANDS_ENABLE = no | ||
32 | TAP_DANCE_ENABLE = no | ||
18 | UCIS_ENABLE = no | 33 | UCIS_ENABLE = no |
19 | UNICODE_ENABLE = no | ||
20 | UNICODEMAP_ENABLE = no | 34 | UNICODEMAP_ENABLE = no |
21 | 35 | UNICODE_ENABLE = no | |
22 | # Enable link-time optimization to reduce binary size. | ||
23 | LINK_TIME_OPTIMIZATION_ENABLE = yes | ||