qmk_firmware/keyboard/ergodox_ez/keymaps/dave
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
keymap.c
readme.md

This keymap is my preferred layout (after a certain amount of experimentation). The rationale behind the design is as follows:

I grew up typing from a very early age and thus never learned the "correct" way to touch type (essentially, I'm self-taught). As a, result my fingers don't tend to stay on the "home keys" and occasionally my right hand wants to type keys that are on the left of the keyboard, and vice versa.

Hence, despite liking the idea of split keyboards in principle, I've never been able to get on with them because the split simply doesn't work with my style of typing. The Ergodox solves this neatly by virtue of having a few extra keys in the "middle" of the keyboard which I can utilise for deliberate redundancy. Thus in this keymap there are two "6" keys (one on the left, one on the right) and likewise Y, H, G, and B are all duplicated to enable one-handed patterns that I use frequently (e.g. "byobu" with the right hand, "yes" with the left, etc.).

I occasionally use the numeric pad for data entry, thus this is duplicated under the natural home position of the right hand in layer 1 (activated by holding one of the right thumb buttons), while the cursor keys are duplicated under the classic WASD gaming layout of the left hand in layer 2 (activated by holding one of the left thumb buttons). Various other useful keys also appear in these layers (brackets and symbols for coding in layer 1, navigation and F-keys in layer 2, etc.).

Finally, modifier keys like Ctrl, Shift, and Alt, along with Backspace and Enter are all in traditional locations in an effort to reuse existing muscle memory as much as possible (keys like =, #, and ' are in layer 1). The layout maps are in the comments of keymap_dave.c so I won't bother duplicating them here.

Oh, and the LEDs are rather pimped ... because I could!

Anyway, although I'm sure this keymap won't be to many people's taste you might find some interesting ideas in here for your own layouts. Do tweet me (@waveform80) if you have any questions / suggestions / bugs.

Dave.