qmk-firmware/layouts/community/ergodox/townk_osx
James Young a03aa301de
Remove Full Bootmagic ()
* 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 QMK_KEYBOARD_CONFIG_H () 2021-01-22 19:32:10 +00:00
keymap.c 2020 May 30 Breaking Changes Update () 2020-05-30 13:14:59 -07:00
readme.md Fixed dead links () 2018-03-01 07:45:47 -08:00
rules.mk Remove Full Bootmagic () 2021-08-06 23:59:56 -07:00

Townk's Keymap

Trying to take care of an enjury on my arm I borrow an ergonomic keyboard from a frient (Kinesis Advantage).

I really enjoyed my time with it but there were some anoyancies:

  • The curvature on the keys bothered me since I'm a Vim user and using the motion keys on my editor was awkard.
  • I had to spend too much time remapping the keyboard to make some symbol keys more accessible to me.
  • The fact that my hands had to stay close to each other was a bit stressfull to my sholders.

After a long research I find out that Ergodox EZ would be perfect for my needs and purchase one. Before the keyboard even got in my hands I started to think on the layout I would use on it and soon enough I planed couple adjustments from the Kinesis I was using so far.

The layout

Here are the layout mapping in images so you can have a glimpse on it:

Base Layout fn Layout Keypad & Mouse Layout

Notice that, differently from the default behavior, my layer keys are not transparent by default, which means that if you press any non-labeled white key, nothing will be handled to the OS.

One shot keys

It all started with the access to the function keys (F1, F2, F3...), since those keys are located on a different layer I needed a way to press them with minimal effort without disrupting my flow.

For me, togglihg a layer to press a button and than toggle it back is a waste of time (although I admit it's a single tap from what I have), so I decided to do it as a one shot key. I could press it and the next pressed key would be handled by the target layer which just after it delivers the key to the OS it would get back to the previous layer.

After setting up my layout to do just that I realized that occasionally I would stop myseld on the middle of the process and the one shot layer would be still triggered until I press any other key. So to prevent me from tapping keys I don't want I added a timeout of 3 seconds for the one shot actions.

Ultimately I tested the shift key as a one shot one and really like it, so here you have it, all the one shot keys on my layout.

Glossary

If you're not familiar with the Mac symbols used on some keys, here is a reference to them:

Symbol Description
Command
Caps Lock
Shift
Option (alt)
Esc
Tab forward
Tab backward
Control
Space
Backspace
Delete
Enter
Return
Power on/off button
Home
End
Page up
Page down
Clear