qmk-firmware/keyboards/planck/keymaps/dr_notsokind
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 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
Readme.md Keymap: Updated keymap with better F positioning (#4463) 2018-12-07 14:00:26 -08:00
rules.mk Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00

Dr NotSoKind's layout

Feel free to ask questions or send suggestions to me on Twitter

I love some features from the default layout, although there are things that definitively I can't get used to. Other layouts such as circuit gave me some good ideas, so I combined them all plus some own stuff to fit better my needs.

BTW, I don't use Dvorak or other layouts than QWERTY and I'm too old and grumpy for learning something new (I'm lying a bit here, I learn new stuff every day), so I removed the ther typing layouts

Things I love about the default layout

  1. I love the consistency between the raise and lower layers, like one is the shifted version of the other.
  2. I like the F keys distributed in two rows, from F1 to F6 and F7 to F12, which makes them easier to find and access.

Things I don't like from the default layout

  1. Arrow keys distributed VIM like. I use VIM frequently, but there I navigate using HJKL. Moving to the arrows intituively I tend to expect three arrows on the bottom (left, down, right) and one up in the middle (up).
  2. Tab and Esc. I switched them.
  3. Alt and Super. Switched them too.

Needs, changes and goals

  1. Arrow keys distributed "traditionally".
  2. Media keys easily accessible.
  3. A button for Sleep/Power.
  4. As close as possible to a US QWERTY layout.
  5. A Numpad, for when I want to feel like an accountant.
  6. Be able to record Dynamic Macros.
  7. Zoom in and Zoom out (basically Ctrl - and Ctrl +)

I've been experimenting a lot and I think I'm getting closer to my customization end game.

Layers:

Main Layer / QWERTY

Apart from the default, lower and raise, I added an extra Media/Action layer, for volume and playback control, plus some keyboard actions such as Print Screen, Insert, Calculator or Power/Sleep/Wake. Also in the [MEDIA] layer, you can record two different macros and reproduce them.

About the volume up and down

That was a hard decision. I wanted the vol up, down and mute easily accessible, and in an obvious palce. I finally decided to use the Raise and Lower modifier keys to manage the volume, in combination with the [MEDIA] modifier key. This could look a little weird, since the modifier keys are having a different function than modify the layer, but ended up working fairly well, so while pressing [MEDIA] you have the Lower key to put the volume down, Raise to raise the volume, and Space for mute.

Zoom in and Zoom out

Using the [MEDIA] modifier you can zoom in and zoom out in browsers and other applications using , (for zooming out) and . (for zooming in). These keys are mapped to LCTRL - and LCTRL =. I initially thought about mapping zoom in to LCTRL + but most apps also map the zoom in using the = key, and some they don't event support zooming in with + (I'm looking at you Sublime Text).

Right Shift and Enter

RSHFT and ENTER are combined. Tap once for ENTER and hold for RSHFT. ENTER will be registered on release if released within 200 ms, else RSHFT is registered starting at 201 ms until release.

If for some reason, this interferes with the normal usage of the ENTER key in any way, (some problem that may never happen), there is a regular non-modified ENTER key on the same key in the [LOWER] and [RAISE] layers, as well in the [LOCK] mode (see below).

Caps Lock

LSHFT and CAPS are also combined. The key works like a normal LSHFT unless double-tapped, in which case it counts as CAPS. This functionality unfortunately delays all key presses by at most 200 ms, but I have added ways to disable this both temporarily or permanently, described below.

A normal behavior for LSHFT key is on the same key in the [LOWER], [RAISE] and [MEDIA] layers (so you can double tap it, as in IntelliJ IDEA), you can also use the [LOCK] mode.

Copy/Paste

There are UNDO, CUT, COPY, and PASTE keys with the [MEDIA] modifier. This was intended to be a universal way to use these commands since in macOS cut is ⌘ + C but in Windows it is ⌃ + C. Unfortunately these special keys only work in Windows.

How to record and play dynamic Macros

I wanted the macros a little "harder" to start recording than usual, since I didn't want to accidentally delete a macro. Also I wanted to share the same key for storing and reproducing the macros, made more sense for me than using one key for storing the Macro1, and use another one for reproducing that Macro.

Record a Macro

Press Media and LCtrl (that's left control), you will hear a beep if you have the audio on. Then choose where you want to store the Macro, in ; or ', so press that key, you will now hear a tone for the macro start being recorded.

When you are done, press Media and Enter. You will finally hear a tune confirming that the macro has been stored.

Play a Macro

Press Media and the key where you stored your Macro, either ; or '. The Macro will play.

Imgur

http://www.keyboard-layout-editor.com/#/gists/4cfb26f84bbb4fabe5e6c7cc22c85e24

Lock Mode

The Lock mode toggle disables the double-tap CAPS and disables GUI keys (WINDOWS key), also makes ENTER behave normally (not RSHIFT when hold).

Lower + Raise (adjust) Layer

Lower + Raise gives access to the layer switching, plus keyboard modes (such as enabling music mode for annoying your coworkers), reset, SysReq and Lock Mode, which disables the double shift tap for CapsLock (taken from the circuit layout, see the comments below). Also provides another distribution for the F keys.

Adjust

http://www.keyboard-layout-editor.com/#/gists/12462bfba17d16bb40b54ed914209d92

Numpad Layer

Numpad

http://www.keyboard-layout-editor.com/#/gists/5ab730ab278d2050c5250498806e8edc

This layer is mostly for quick typing numbers using the numpad. You have NumLock available to switch before the keypad numbers or the actions (movement, del, insert, etc). Esc serves as a quick way to go abck to the QWERTY layer (also you can go to the QWERTY layer through the adjust layer).