mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-25 18:06:34 +06:00
[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
This commit is contained in:
parent
19bd8aa942
commit
c1c579c554
|
@ -1,9 +1,24 @@
|
||||||
# bcat's Corne layout
|
# bcat's Corne layout
|
||||||
|
|
||||||
This split ergo layout mirrors
|
This is my favorite split ergo layout for typing, featuring the traditional
|
||||||
[my Lily58 layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat)
|
four ortho/ergo layers (Default, Lower, Raise, Adjust). It is loosely inspired
|
||||||
with the number row removed and RGB controls added. See that layout's docs for
|
by the default Planck (numbers on Lower, symbols on Raise) and Crkbd (Space on
|
||||||
more details on the principles that went into the layout.
|
left, Enter on right) layouts, but has since been redesigned heavily according
|
||||||
|
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.
|
||||||
|
|
||||||
|
* Navigation can be done on the right half alone, to enable simultaneous
|
||||||
|
left-handed mousing. Additionally, Web pages can be scrolled with Space or
|
||||||
|
Shift+Space on the left half alone, to enable taking notes with the right hand
|
||||||
|
at the same time.
|
||||||
|
|
||||||
|
* Other than Right Shift (which I seldom use), mods aren't rebound on layers.
|
||||||
|
|
||||||
|
* Likewise, Backspace is not rebound on layers to avoid having to let go of
|
||||||
|
layer-switch keys to correct mistakes.
|
||||||
|
|
||||||
## Default layer
|
## Default layer
|
||||||
|
|
||||||
|
@ -11,20 +26,97 @@ more details on the principles that went into the layout.
|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/08d9827d916662a9414f48805aa895a5))
|
||||||
|
|
||||||
|
* The alpha keys are a standard QWERTY layout, no funny business there.
|
||||||
|
|
||||||
|
* Tab and Backspace are in familiar locations from my row-staggered boards
|
||||||
|
(almost all of which use HHKB-style split backspace).
|
||||||
|
|
||||||
|
* 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).
|
||||||
|
|
||||||
|
* Lower and Raise layer-switch keys are below the left and right thumb,
|
||||||
|
respectively, when resting my fingers on the home row.
|
||||||
|
|
||||||
|
* 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....)
|
||||||
|
|
||||||
## Lower layer
|
## Lower layer
|
||||||
|
|
||||||
![Lower layer layout](https://i.imgur.com/rDlSmrA.png)
|
![Lower layer layout](https://i.imgur.com/rDlSmrA.png)
|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/c3fba5eaa2cd70fdfbdbc0f9e34d3bc0))
|
||||||
|
|
||||||
|
* This could also be called the "symbol layer".
|
||||||
|
|
||||||
|
* Shifted numbers are bound in their usual positions on the top row.
|
||||||
|
|
||||||
|
* Hyphen/Underscore and Equals/Plus are in the right index- and middle-finger
|
||||||
|
columns for easy reach. They share the same relative position as on a
|
||||||
|
row-staggered keyboard, and the shifted versions are physically above the
|
||||||
|
unshifted versions as a mnemonic device.
|
||||||
|
|
||||||
|
* Brackets and braces are placed below the parens for easy recall. Once again,
|
||||||
|
the shifted versions are on the home row and the unshifted versions are on the
|
||||||
|
bottom row.
|
||||||
|
|
||||||
|
* Forward Slash/Pipe and Backtick/Tilde fill out the remaining positions on the
|
||||||
|
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.
|
||||||
|
|
||||||
|
* Some extra keys are placed on the bottom row of the left half, ensuring every
|
||||||
|
key on a TKL has a binding.
|
||||||
|
|
||||||
|
* The left-half home row is reversed for future use. (It's free real estate.)
|
||||||
|
|
||||||
## Raise layer
|
## Raise layer
|
||||||
|
|
||||||
![Raise layer layout](https://i.imgur.com/cVoKygg.png)
|
![Raise layer layout](https://i.imgur.com/cVoKygg.png)
|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/08b44355d4ca85d294bad9e2821f91d7))
|
||||||
|
|
||||||
|
* This could also be called the "number layer".
|
||||||
|
|
||||||
|
* Unshifted numbers are bound in their usual positions on the top row.
|
||||||
|
|
||||||
|
* Arrow keys are on VIM-style HJKL keys.
|
||||||
|
|
||||||
|
* Home/End and Page Up/Page Down are in the same column as the arrow keys, but
|
||||||
|
translated down one row. (This means that the comma and period keys are not
|
||||||
|
bound on the number layer, which makes data entry a bit funky. I might add a
|
||||||
|
dedicated numpad layer to compensate.)
|
||||||
|
|
||||||
|
* Function keys F1–F10 take up most of remaining space on the left half, with
|
||||||
|
F11 and F12 spilling over to the right half. (This puts the most used function
|
||||||
|
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.
|
||||||
|
|
||||||
## Adjust layer
|
## Adjust layer
|
||||||
|
|
||||||
![Adjust layer layout](https://i.imgur.com/LEHM4DU.png)
|
![Adjust layer layout](https://i.imgur.com/LEHM4DU.png)
|
||||||
|
|
||||||
([KLE](http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee))
|
([KLE](http://www.keyboard-layout-editor.com/#/gists/77e7572e077b36a23eb2086017e16fee))
|
||||||
|
|
||||||
|
* Media keys are centered around the ESDF cluster, just like I arrange them on
|
||||||
|
row-staggered keyboards. (It's even more sensible with columnar stagger.)
|
||||||
|
|
||||||
|
* The navigation keys are replaced by RGB controls. Again, this mirrors the
|
||||||
|
positioning I use on my row-staggered keyboards.
|
||||||
|
|
||||||
|
* Finally, reset keys live at the top-left corner of the right half where it's
|
||||||
|
reasonably hard to press them by accident.
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define EE_HANDS
|
#define EE_HANDS
|
||||||
|
|
||||||
|
/* Work around Elite-C v3 with broken VBUS detection. */
|
||||||
|
#define SPLIT_USB_DETECT
|
||||||
|
|
|
@ -1,49 +1,18 @@
|
||||||
# bcat's Lily58 layout
|
# bcat's Lily58 layout
|
||||||
|
|
||||||
This split ergo layout is standard QWERTY on the default layer, with symbols on
|
This split ergo layout follows my preferred [Crkbd
|
||||||
the lower layer, numbers/navigation on the raise layer, and media keys centered
|
layout](https://github.com/qmk/qmk_firmware/tree/master/keyboards/crkbd/keymaps/bcat)
|
||||||
around the ESDF cluster in the adjust (raise + lower) layer. A few general
|
with the following changes:
|
||||||
principles went into this layout:
|
|
||||||
|
|
||||||
* The number row is optional, as are the outermost bottom row keys and the
|
* There's an optional number row at the top of the keyboard. I am quite used to
|
||||||
"extra" keys on the innnermost columns below the controllers. This allows me to
|
using layers for numbers and symbols, so in practice this goes unused.
|
||||||
switch between this keyboard and a 40% like the
|
|
||||||
[Crkbd](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58/keymaps/bcat)
|
|
||||||
without breaking muscle memory.
|
|
||||||
|
|
||||||
* Space and Enter are on the big thumb keys so they're easy to press.
|
* The dedicated Hyphen/Underscore and Equals/Plus keys on the number row are
|
||||||
|
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.)
|
||||||
|
|
||||||
* There are two shift keys because Right Shift is all that important, but just
|
* The extra thumb keys are used for dedicated Ctrl/Menu keys (not super useful)
|
||||||
because I don't have any better ideas for what to put there.
|
and browser back/forward navigation keys (actually more useful than expected).
|
||||||
|
|
||||||
* Arrow keys are on VIM-style HJKL keys.
|
|
||||||
|
|
||||||
* Home/End and Page Up/Page Down are equivalent to the arrow keys, but
|
|
||||||
translated down one row.
|
|
||||||
|
|
||||||
* Navigation is usable with just the right hand, to enable left-handed mousing
|
|
||||||
at the same time. Additionally, Web page scrolling (Space, Shift+Space) is
|
|
||||||
possible with just the left hand, for writing at the same time as scrolling.
|
|
||||||
|
|
||||||
* Escape is easy to reach because Vim is life.
|
|
||||||
|
|
||||||
* 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.
|
|
||||||
|
|
||||||
* Every key on a TKL has a binding.
|
|
||||||
|
|
||||||
* Backspace is bound in the same place on every layer to avoid having to let go
|
|
||||||
of layer-shift keys to fix a mistake.
|
|
||||||
|
|
||||||
* Likewise, the comma and period keys are not rebound on the raise layer to
|
|
||||||
allow typing numbers with thousand separators and decimal points without
|
|
||||||
releasing the layer key.
|
|
||||||
|
|
||||||
* Brackets and braces are on or near the home row for quick access when coding.
|
|
||||||
They're positioned below the parens on the Raise layer for easy recall.
|
|
||||||
|
|
||||||
* For consistency, mods aren't rebound on layers (except for the Tab key).
|
|
||||||
|
|
||||||
## Default layer
|
## Default layer
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#if defined(RGBLIGHT_ENABLE)
|
#if defined(RGBLIGHT_ENABLE)
|
||||||
/* Adjust RGB static hue ranges for shorter gradients than default. */
|
/* Adjust RGB static hue ranges for shorter gradients than default. */
|
||||||
const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 127, 63, 31, 15};
|
const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 127, 63, 31, 15};
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -26,65 +26,45 @@
|
||||||
#define TAPPING_FORCE_HOLD
|
#define TAPPING_FORCE_HOLD
|
||||||
|
|
||||||
#if defined(RGB_MATRIX_ENABLE)
|
#if defined(RGB_MATRIX_ENABLE)
|
||||||
/* Turn off per-key RGB when the host goes to sleep. */
|
/* Turn off per-key RGB when the host goes to sleep. */
|
||||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED true
|
# define RGB_DISABLE_WHEN_USB_SUSPENDED true
|
||||||
|
|
||||||
/* Keep per-key RGB increments consistent across keyboards. */
|
/* Keep per-key RGB increments consistent across keyboards. */
|
||||||
#undef RGB_MATRIX_HUE_STEP
|
# undef RGB_MATRIX_HUE_STEP
|
||||||
#undef RGB_MATRIX_SAT_STEP
|
# undef RGB_MATRIX_SAT_STEP
|
||||||
#undef RGB_MATRIX_VAL_STEP
|
# undef RGB_MATRIX_VAL_STEP
|
||||||
#undef RGB_MATRIX_SPD_STEP
|
# undef RGB_MATRIX_SPD_STEP
|
||||||
|
|
||||||
#define RGB_MATRIX_HUE_STEP 8
|
# define RGB_MATRIX_HUE_STEP 8
|
||||||
#define RGB_MATRIX_SAT_STEP 17
|
# define RGB_MATRIX_SAT_STEP 17
|
||||||
#define RGB_MATRIX_VAL_STEP 17
|
# define RGB_MATRIX_VAL_STEP 17
|
||||||
#define RGB_MATRIX_SPD_STEP 17
|
# define RGB_MATRIX_SPD_STEP 17
|
||||||
|
|
||||||
/* Turn on additional RGB animations. */
|
/* Turn on additional RGB animations. */
|
||||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
#define RGB_MATRIX_KEYPRESSES
|
# define RGB_MATRIX_KEYPRESSES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(RGBLIGHT_ENABLE)
|
#if defined(RGBLIGHT_ENABLE)
|
||||||
/* Turn off RGB underglow when the host goes to sleep. */
|
/* Turn off RGB underglow when the host goes to sleep. */
|
||||||
#define RGBLIGHT_SLEEP
|
# define RGBLIGHT_SLEEP
|
||||||
|
|
||||||
/* Keep RGB underglow level increments consistent across keyboards. */
|
/* Keep RGB underglow level increments consistent across keyboards. */
|
||||||
#undef RGBLIGHT_HUE_STEP
|
# undef RGBLIGHT_HUE_STEP
|
||||||
#undef RGBLIGHT_SAT_STEP
|
# undef RGBLIGHT_SAT_STEP
|
||||||
#undef RGBLIGHT_VAL_STEP
|
# undef RGBLIGHT_VAL_STEP
|
||||||
|
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
# define RGBLIGHT_HUE_STEP 8
|
||||||
#define RGBLIGHT_SAT_STEP 17
|
# define RGBLIGHT_SAT_STEP 17
|
||||||
#define RGBLIGHT_VAL_STEP 17
|
# define RGBLIGHT_VAL_STEP 17
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BACKLIGHT_ENABLE)
|
#if defined(BACKLIGHT_ENABLE)
|
||||||
/* Enable backlight breathing across the board. */
|
/* Enable backlight breathing across the board. */
|
||||||
#define BACKLIGHT_BREATHING
|
# define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
/* Keep backlight level increments consistent across keyboards. */
|
/* Keep backlight level increments consistent across keyboards. */
|
||||||
#undef BACKLIGHT_LEVELS
|
# undef BACKLIGHT_LEVELS
|
||||||
|
|
||||||
#define BACKLIGHT_LEVELS 7
|
# define BACKLIGHT_LEVELS 7
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(MOUSEKEY_ENABLE)
|
|
||||||
/* Make mouse operation smoother. */
|
|
||||||
#undef MOUSEKEY_DELAY
|
|
||||||
#undef MOUSEKEY_INTERVAL
|
|
||||||
|
|
||||||
#define MOUSEKEY_DELAY 0
|
|
||||||
#define MOUSEKEY_INTERVAL 16
|
|
||||||
|
|
||||||
/* Lower mouse speed to adjust for reduced MOUSEKEY_INTERVAL. */
|
|
||||||
#undef MOUSEKEY_MAX_SPEED
|
|
||||||
#undef MOUSEKEY_TIME_TO_MAX
|
|
||||||
#undef MOUSEKEY_WHEEL_MAX_SPEED
|
|
||||||
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
|
|
||||||
|
|
||||||
#define MOUSEKEY_MAX_SPEED 7
|
|
||||||
#define MOUSEKEY_TIME_TO_MAX 150
|
|
||||||
#define MOUSEKEY_WHEEL_MAX_SPEED 3
|
|
||||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 150
|
|
||||||
#endif
|
#endif
|
||||||
|
|
13
users/bcat/readme.md
Normal file
13
users/bcat/readme.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* 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.
|
|
@ -6,18 +6,30 @@ BOOTMAGIC_ENABLE = lite
|
||||||
# Enable media keys on all keyboards.
|
# Enable media keys on all keyboards.
|
||||||
EXTRAKEY_ENABLE = yes
|
EXTRAKEY_ENABLE = yes
|
||||||
|
|
||||||
# Disable some unwanted features on all keyboards.
|
|
||||||
API_SYSEX_ENABLE = no
|
|
||||||
COMMAND_ENABLE = no
|
|
||||||
CONSOLE_ENABLE = no
|
|
||||||
FAUXCLICKY_ENABLE = no
|
|
||||||
MIDI_ENABLE = no
|
|
||||||
MOUSEKEY_ENABLE = no
|
|
||||||
NKRO_ENABLE = no
|
|
||||||
SLEEP_LED_ENABLE = no
|
|
||||||
UCIS_ENABLE = no
|
|
||||||
UNICODE_ENABLE = no
|
|
||||||
UNICODEMAP_ENABLE = no
|
|
||||||
|
|
||||||
# Enable link-time optimization to reduce binary size.
|
# Enable link-time optimization to reduce binary size.
|
||||||
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
LINK_TIME_OPTIMIZATION_ENABLE = yes
|
||||||
|
|
||||||
|
# Disable unused build options on all keyboards.
|
||||||
|
COMMAND_ENABLE = no
|
||||||
|
CONSOLE_ENABLE = no
|
||||||
|
MOUSEKEY_ENABLE = no
|
||||||
|
NKRO_ENABLE = no
|
||||||
|
TERMINAL_ENABLE = no
|
||||||
|
|
||||||
|
# Disable unused hardware options on all keyboards.
|
||||||
|
FAUXCLICKY_ENABLE = no
|
||||||
|
MIDI_ENABLE = no
|
||||||
|
SLEEP_LED_ENABLE = no
|
||||||
|
|
||||||
|
# Disable unused other options.
|
||||||
|
API_SYSEX_ENABLE = no
|
||||||
|
AUTO_SHIFT_ENABLE = no
|
||||||
|
COMBO_ENABLE = no
|
||||||
|
KEYBOARD_LOCK_ENABLE = no
|
||||||
|
KEY_LOCK_ENABLE = no
|
||||||
|
LEADER_ENABLE = no
|
||||||
|
SWAP_HANDS_ENABLE = no
|
||||||
|
TAP_DANCE_ENABLE = no
|
||||||
|
UCIS_ENABLE = no
|
||||||
|
UNICODEMAP_ENABLE = no
|
||||||
|
UNICODE_ENABLE = no
|
||||||
|
|
Loading…
Reference in New Issue
Block a user