qmk-keychron-q3-colemak-dh/keyboards/planck/keymaps/jeebak
James Young a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
..
config.h Remove MIDI_ENABLE_STRICT from user keymaps (#11750) 2021-02-06 09:35:10 +11:00
keymap.c
readme.md
rules.mk Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00

jeebak's layout

This WIP keymap attempts to minimize fingers straying away from the home row. To aid in this endeavor, when additional modifyer keys to switch layers are needed, they will be mapped to home row keys. The keymap.c file will contain the exact changes. The diagrams in this README shows the highlights of the changes from the default mappings.

I also decided to change all calls to persistent_default_layer_set() to default_layer_set() since this is my personal perference.

Macros

#define ALT_TAB     M(KC_ALT_TAB)

Base Layers (Qwerty/Colemak/Dvorak)

These base layers are mostly the same as the default mappings. The interesting changes are shown below.

  • The Ctrl/Esc, will emit an Escape when tapped, and act as a Control key when held,
  • GUI/; as ; and GUI,
  • Alt/" as " and Alt,
  • Sft/Ent as Enter and Shift, and
  • Hyper/Tab as Tab and Hyper

A TODO item is to see if it can also act as a CapsLock when double-tapped. The arrow keys, which have been moved to the TouchCursor layer, have been replaced with the Media keys as shown. The MC/kc key activates the MouseCursor layer when held, and emits the corresponding kc for its layer, when tapped.

  ,-----------------------------------------------------------------------------------------.
  | Hyper/Tab|      |      |      |      |      |      |      |      |      |      |        |
  |----------+------+------+------+------+-------------+------+------+------+------+--------|
  | Ctrl/Esc |      |      |MC/kc |      |      |      |      |      |      |GUI/; | Alt/"  |
  |----------+------+------+------+------+------|------+------+------+------+------+--------|
  |          |      |      |      |      |      |      |      |      |      |      |Sft/Ent |
  |----------+------+------+------+------+------+------+------+------+------+------+--------|
  | PrntScrn | RGUI | Alt  | GUI  |Lower |  TC/Space   |Raise | Next | Vol- | Vol+ |  Play  |
  `-----------------------------------------------------------------------------------------'

Lower Layer (Symbols and Function Keys)

The symbols and functions keys are essentially the same as the default mapping. The most notable changes are that the symbol keys from the RAISE layer have been moved here. The remaining Media keys replace those that are now on the base layers. The BACKLIT key has also been moved here.

  ,-----------------------------------------------------------------------------------.
  |   ~  |   !  |   @  |   #  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  | Bksp |
  |------+------+------+------+------+-------------+------+------+------+------+------|
  |   [  |  F1  |  F2  |  F3  |  F4  |  F5  |  F6  |   _  |   +  |   {  |   }  |  |   |
  |------+------+------+------+------+------|------+------+------+------+------+------|
  |   ]  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |   -  |   =  |   [  |   ]  |  \   |
  |------+------+------+------+------+------+------+------+------+------+------+------|
  |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
  `-----------------------------------------------------------------------------------'

Raise Layer (Numbers and Arithmetic Operators)

All of the numbers and arithmetic operators are available on this layer. Some keys are duplicated for the convenience of their positions. The 0 and $ keys at the far left are for quick access to beginning and end of line in vim.

  ,-----------------------------------------------------------------------------------.
  |   0  |   1  |   2  |   3  |   4  |   5  |   6  |   7  |   8  |   9  |   0  | Bksp |
  |------+------+------+------+------+-------------+------+------+------+------+------|
  |   $  |   4  |   5  |   6  |   .  |   +  |   .  |   4  |   5  |   6  |   *  |  |   |
  |------+------+------+------+------+------|------+------+------+------+------+------|
  |   =  |   7  |   8  |   9  |   0  |   -  |   .  |   1  |   2  |   3  |   /  |  \   |
  |------+------+------+------+------+------+------+------+------+------+------+------|
  |Brite |      |      |      |      |             |      | Prev | Stop | Slct | Mute |
  `-----------------------------------------------------------------------------------'

TouchCursor layer plus personal customizations

TouchCursor uses the Space key as the modifier, with the IJKL home row keys representing the inverted-T of the arrow keys. All of the default TouchCursor keymappings for the right hand are represented below. My personalizations include all of the keys shown for the left hand. Having the Alt and Shift keys (as well as the Control key from the base layers) readily accessible from the home row allows quick word jumps and highlighting when used in conjunction with the arrow keys. The Alt-Tab macro is not only useful under Windows, but also under Mac when used with alternative switchers like HyperSwitch. The Cmd-Tab and Ctrl-Tab sequences are duplicated for easy access while in this layer. The KC_UNDO, KC_CUT, KC_COPY, KC_PASTE, KC_FIND, and KC_AGAIN keycodes do not seem to work. There are macros in place that'll "automatically" choose the correct version (Cmd-Tab vs. Alt-Tab, Cmd-C vs. Ctrl-C, etc.) depending on which layout you've currently selected (AG_NORM or AG_SWAP) in the _ADJUST layer. The Desk_L and Desk_R macros are what I use to switch between Virtual Desktops Left/Right. The Tab_C, Tab_N and Tab_R are for "Close Tab," "New Tab" and "Reopen Closed Tab" for apps such as Google Chrome.

  ,-----------------------------------------------------------------------------------.
  |AltTab|CmdTab|CtlTab|  GUI |Shift |  ~   |Insert| Home |  Up  | End  | Bksp |      |
  |------+------+------+------+------+-------------+------+------+------+------+------|
  |      | Alt  |Space |Tab_C | Find |Again | PgUp | Left | Down |Right |Desk_L|Desk_R|
  |------+------+------+------+------+------|------+------+------+------+------+------|
  |      | Undo | Cut  | Copy |Paste |  `   | PgDn | Del  |Tab_N |Tab_R |iTerm2|      |
  |------+------+------+------+------+------+------+------+------+------+------+------|
  |      |      |      |      |      |             |      |      |      |      |      |
  `-----------------------------------------------------------------------------------'

Mouse Layer

The Mouse layer, closely mimics the layout/behaviour of the TouchCursor layer. The D key (on QWERTY) is used to activate this layer. All 16 keycodes for the mouse from the doc/keycode.txt file are represented, and logically located, IMHO. The left and right click buttons are duplicated; on the right hand side, for a quick click here and there, and again on the left hand side for when the buttons need to be held for dragging things or highlighting text, thus allowing the right hand to be free to use the up/down/left/right actions.

  ,-----------------------------------------------------------------------------------.
  |      |      |ACCL0 |      |      |      |      |WHL_L |  Up  |WHL_R | BTN2 |      |
  |------+------+------+------+------+-------------+------+------+------+------+------|
  |      |ACCL2 | BTN2 |      | BTN1 |ACCL1 |WHL_Up| Left | Down |Right | BTN4 | BTN5 |
  |------+------+------+------+------+------|------+------+------+------+------+------|
  |      |      |      |      | BTN3 |      |WHL_Dn| BTN1 |      |      | BTN3 |      |
  |------+------+------+------+------+------+------+------+------+------+------+------|
  |      |      |      |      |      |             |      |      |      |      |      |
  `-----------------------------------------------------------------------------------'