1
0
Fork 0
qmk_firmware/layouts/community/ergodox/familiar
Jack Humbert d2ff66a985 Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* 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
2017-08-23 22:29:07 -04:00
..
README.md Creates a layouts/ folder for keymaps shared between keyboards (#1609) 2017-08-23 22:29:07 -04:00
keymap.c Creates a layouts/ folder for keymaps shared between keyboards (#1609) 2017-08-23 22:29:07 -04:00
rules.mk Creates a layouts/ folder for keymaps shared between keyboards (#1609) 2017-08-23 22:29:07 -04:00

README.md

ErgoDox Familiar Layout

Familiar layout for those who regularly switch back and forth from ErgoDox to "normal" QWERTY.

License: GPL v3 standard-readme compliant

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:

  1. QWERTY default layout.
  2. International symbols layer, mapped in the US-International layout default positions, through UCIS.
  3. Numpad layer on right hand.
  4. Thumb cluster holds spacebar and access to secondary layers.
  5. 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

Familiar Layout

Layers

  1. Base Layer: QWERTY, with arrow keys at bottom right.
  2. UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the SYMB layer using the UCIS key (bottom of left thumb cluster).
  3. 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 the CSYM layer).
  4. Numpad Layer: Right hand number pad. Accessed by toggling the NUMP layer using the NUMP key (bottom of right thumb cluster).
  5. 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

Contributor Covenant

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

  1. The CSYM layer is an ugly workaround. I should write a function for doing different things in the SYMB layer depending on whether SHIFT is being held. Or something. Ideas?
  2. Right now, the thumb cluster function keys double as slash and whack... this really isnt a great solution.
  3. MENU and LEAD 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.