* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
4.4 KiB
ErgoDox Familiar Layout
Familiar layout for those who regularly switch back and forth from ErgoDox to "normal" QWERTY.
Table of Contents
Background
This layout is built to be as familiar as possible for users coming directly from a default (QWERTY US) keyboard, while gaining as much advantage as possible from the ErgoDox and QMK featureset. I use an ErgoDoxEZ at home, but I don't have a regular office (CS grad student) so I regularly use either my laptop or a default-setup lab computer; I context switch daily so this layout is meant to reduce the mental overhead as much as possible.
The default ErgoDoxEZ layout is probably more optimized as a solo daily driver - as are a lot of the others available keymaps. The focus of this layout is to get as much from the 'Dox as possible without overly disrupting long-established muscle memory.
Key features of the familiar layout:
- QWERTY default layout.
- International symbols layer, mapped in the US-International layout default positions, through UCIS.
- Numpad layer on right hand.
- Thumb cluster holds spacebar and access to secondary layers.
- Function-layer arrow keys in both the first-person-shooter (actually ESDF instead of WASD) and vim (HJKL) locations.
Install
If you are on Windows or Mac, choose the proper line in keymap.c
for unicode/international character support (starts at line 253).
void matrix_init_user(void) {
set_unicode_input_mode(UC_LNX); // Linux
//set_unicode_input_mode(UC_OSX); // Mac OSX
//set_unicode_input_mode(UC_WIN); // Windows (with registry key, see wiki)
//set_unicode_input_mode(UC_WINC); // Windows (with WinCompose, see wiki)
};
For instructions on building and installing this keymap, go to the wiki. Below is the command for me; it may be different for you.
$ make ergodox-ez-familiar-teensy
Usage
Layers
- Base Layer: QWERTY, with arrow keys at bottom right.
- UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the
SYMB
layer using the UCIS key (bottom of left thumb cluster). - UCIS-Shifted Layer: Making shift work for UCIS characters. An ugly workaround. Any ideas? Accessed by holding shift while the
SYMB
layer is active (toggles theCSYM
layer). - Numpad Layer: Right hand number pad. Accessed by toggling the
NUMP
layer using the NUMP key (bottom of right thumb cluster). - Function Layer: F1-F12, arrows on ESDF and HJKL, media player controls. Accessed by holding either FN key (center key of each thumb cluster), which toggles the
ARRW
layer. I know, I need to work on my naming conventions.
Contribute
I'm terrible at this; I have no background in human-computer interaction, kinesiology, or keyboard-ology. Please send comments/issues/pull requests/angry tweets/etc. If you think there is a better way to take advantage of the ErgoDox/QMK comination without straying far from 84/101-key QWERTY, I want to know it.
Issues
- The
CSYM
layer is an ugly workaround. I should write a function for doing different things in theSYMB
layer depending on whether SHIFT is being held. Or something. Ideas? - Right now, the thumb cluster function keys double as slash and whack... this really isnt a great solution.
MENU
andLEAD
are useless, at the moment.
License
QMK is licensed (mostly) under the GPLv2. Accordingly, to whatever extent applicable, this keymap is licensed under the GPLv3.