1 # ErgoDox EZ Code Friendly Qwerty Layout
3 - This layout aims to balance muscle memory from a typical QWERTY layout
4 with having keys used for software development easily accessible.
6 - Arrow keys follow VIM convention
7 (the media layer even uses arrow keys for HJKL).
9 - On the top row only symbols are used (not numbers),
10 it's expected the symbol layer's number-pad layout will be used for numbers.
12 - Symbols match regular QWERTY.
13 except for '()' which are grouped with other brackets.
14 In their place -/= keys are placed, which almost matches a regular layout.
16 - Brackets are placed symmetrically along the center edges,
17 if using keys from both sides is inconvenient - the symbol layer has macros
18 at the same key locations to type matching pairs.
20 - The extra space-bar on the lower-left looks like it's in an obscure location,
21 however using the larger thumb cluster
22 ended up being more of a reach while typing.
24 - There is a handy shortcut for writing quotes that inserts the cursor
25 between the quotation marks.
27 Holding LShift, then RShift types: "" (then presses left).
29 Holding RShift, then LShift types: '' (then presses left).
33 Some optional behavior is configurable without editing the code
34 using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make.
37 (0..7) are used for custom-keys
38 - `CFQ_USE_MOMENTARY_LAYER_KEYS`
39 is used to prevent layer keys from toggling when tapped.
41 defines can bind a key to an entire user defined word.
45 ## Keymap 0: Basic layer
48 ,--------------------------------------------------. ,--------------------------------------------------.
49 | Grave | ! | @ | # | $ | % | { | | } | ^ | & | * | - | = | BSpace |
50 |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
51 | Tab | Q | W | E | R | T | ( | | ) | Y | U | I | O | P | \ |
52 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
53 | Esc | A | S | D | F | G |------| |------| H | J | K | L | ; | ' |
54 |--------+------+------+------+------+------| [ | | ] |------+------+------+------+------+--------|
55 | LShift | Z | X | C | V | B | | | | N | M | , | . | / | RShift |
56 `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
57 | LCtl |Super | Alt | ~L1 |Space | | Left | Down | Up |Right | Ins |
58 `----------------------------------' `----------------------------------'
59 ,-------------. ,-------------.
60 | < | > | | Home | End |
61 ,------+------+------| |------+------+------.
62 | | |CapsLk| | PgUp | | |
63 |BSpace| Del |------| |------| ~L2 |Space |
64 | | | ~L3 | | PgDn | | |
65 `--------------------' `--------------------'
67 Optional overrides: see CFQ_USER_KEY# defines.
69 ,--------------------------------------------------. ,--------------------------------------------------.
70 | | | | | | | | | | | | | | | USR0 |
71 |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
72 | | | | | | | | | | | | | | | |
73 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
74 | | | | | | |------| |------| | | | | | |
75 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
76 | | | | | | | | | | | | | | | |
77 `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
78 | | | | USR1 | | | | | | | |
79 `----------------------------------' `----------------------------------'
80 ,-------------. ,-------------.
82 ,------+------+------| |------+------+------.
84 | USR4 | USR5 |------| |------| | |
86 `--------------------' `--------------------'
89 ## Keymap 1: KeyPad, Macro Record
93 - The double bracket keys on this layer press left to position the cursor between them.
94 - The left thumb cluster is used for macro record/replay.
97 ,--------------------------------------------------. ,--------------------------------------------------.
98 | | | | | | | {} | | }{ | |NumLck| / | * | - | |
99 |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
100 | | | | | | => | () | | )( | <= | 7 | 8 | 9 | + | |
101 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
102 | | | | | | -> |------| |------| <- | 4 | 5 | 6 | + | |
103 |--------+------+------+------+------+------| [] | | ][ |------+------+------+------+------+--------|
104 | | | | | | <> | | | | >< | 1 | 2 | 3 | Enter| |
105 `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
106 | | | | | | | 0 | | . | Enter| |
107 `----------------------------------' `----------------------------------'
108 ,-------------. ,--------------.
109 |Start1|Start2| | | |
110 ,------+------+------| |------+-------+------.
112 |Play1 |Play2 |------| |------| | |
114 `--------------------' `---------------------'
117 ## Keymap 2: Keymap 2: Media and mouse keys
120 ,--------------------------------------------------. ,--------------------------------------------------.
121 | | | | | | | | | | | | | | | |
122 |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
123 | | | | MsUp | | |MWhlUp| | | | | | | | |
124 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
125 | | |MsLeft|MsDown|MsRght| |------| |------| Left | Down | Up |Right | | |
126 |--------+------+------+------+------+------|MWhlDn| | |------+------+------+------+------+--------|
127 | | | Rclk | Mclk | Lclk | | | | | | | | | | |
128 `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
129 | | | | | | | | | | | |
130 `----------------------------------' `----------------------------------'
131 ,-------------. ,-------------.
132 | MRwd | MFwd | | MPrv | MNxt |
133 ,------+------+------| |------+------+------.
135 | Mute | |------| |------| | Play |
137 `--------------------' `--------------------'
140 ## Keymap 3: K-Keys & User defined words
142 This is for assigning whole words to single keys.
143 You can define the arguments (which must be quoted) using: `CFQ_WORD_[A-Z]`
144 eg: `-DCFQ_WORD_E=\"my@email.com\"`
147 ,--------------------------------------------------. ,--------------------------------------------------.
148 | | F1 | F2 | F3 | F4 | F5 | F11 | | F12 | F6 | F7 | F8 | F9 | F10 | |
149 |--------+------+------+------+------+------+------| |------+------+------+------+------+------+--------|
150 | | Q | W | E | R | T | | | | Y | U | I | O | P | |
151 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
152 | | A | S | D | F | G |------| |------| H | J | K | L | | |
153 |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
154 | | Z | X | C | V | B | | | | N | M | | | | |
155 `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
156 | | | | | | | | | | | |
157 `----------------------------------' `----------------------------------'
158 ,-------------. ,-------------.
160 ,------+------+------| |------+------+------.
162 | | |------| |------| | |
164 `--------------------' `--------------------'
170 Add layer for user defined words (replaces `CFQ_USE_EXPEREMENTAL_LAYER`).
172 Minor changes to thumb cluster.
174 Move backspace to left thumb, optionally remap the top right backspace.
176 Make keypad layout match a typical numpad.
178 Move F-Keys to layer 3.
181 Use Caps-Lock when `CFQ_USE_EXPEREMENTAL_LAYER` isn't defined.
184 Make thumb left thumb cluster completely configurable with defines.
185 Add mouse wheel to mouse layer.
188 Make more keys user defined on the left thumb cluster.
189 Add macro record/replay keys.
192 Move Insert key to the left thumb cluster (away from the modifier keys).
193 Replace with `USR2` which defaults to `APP`.