qmk_firmware/keyboard/ergodox_ez/keymaps/townk_osx
Jack Humbert d9e4dad0a8 Makefile redo & other features (#395)
* .build containment implemented

* no destructive variable setting - builds in either folder

* make from 3 places

* cleans before each build
* make from root with keyboard=keyboard, keymap=keymap
* make from keyboard/keyboard with keymap=keymap
* make from keymaps/keymap
* only implemented on planck

* adds color diag to avr-gcc

* makefiles for all plancks, clean-up

* quick build-all makefile for plancks

* reformatting of make output (colors)

* color toggle, tmk path corrections

* correct if statement for color

* move config.h to main makefile, updates preonic, atomic

* format update, all keyboards targets

* makefile optional for build all target, alps and arrow_pad updated

* alps updated

* make planck default, trying out travis recipe for all-keyboards

* all-keymaps target, different travis recipe

* updates alps64

* updates keyboards to new format

* updates clue* projects

* all projects updated, specialise EZ .hex, let .hex through

* updates travis

* automatically find root, keyboard, keymap

* silent echo, cleaned-up mass make output

* updates all keyboards' .hex files except EZ

* Rename Bantam44.c to bantam44.c

* Rename Bantam44.h to bantam44.h

* nananana

* adds six key keyboard

* does same to ez as rest

* updates send_string example

* brings ergodox_ez up to date

* updates template/new project script

* adds sixkeyboard

* adds readme for sixkeyboard

* adds sixkeyboard to travis

* filenames, gitignore mess

* define clock prescaler stuff manually

* make quick, size test example

* documentation and dfu-no-build
2016-06-11 13:31:31 -04:00
..
compiled.hex Makefile redo & other features (#395) 2016-06-11 13:31:31 -04:00
config.h Add custom config.h and revert the changes on the global one. 2016-05-10 16:17:30 -07:00
keymap.c Remove unused variable on the keymap. 2016-05-11 14:01:15 -07:00
makefile.mk Add custom config.h and revert the changes on the global one. 2016-05-10 16:17:30 -07:00
readme.md Add an initial Readme to the keymap. 2016-05-11 13:04:53 -07:00
townk_osx_base.png Add an initial Readme to the keymap. 2016-05-11 13:04:53 -07:00
townk_osx_fn.png Add an initial Readme to the keymap. 2016-05-11 13:04:53 -07:00
townk_osx_keypad.png Add an initial Readme to the keymap. 2016-05-11 13:04:53 -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