]> git.donarmstrong.com Git - qmk_firmware.git/blob - layouts/community/ergodox/qwerty_code_friendly/readme.md
qwerty_code_friendly: minor updates (#2494)
[qmk_firmware.git] / layouts / community / ergodox / qwerty_code_friendly / readme.md
1 # ErgoDox EZ Code Friendly Qwerty Layout
2
3 - This layout aims to balance muscle memory from a typical QWERTY layout
4   with having keys used for software development easily accessible.
5
6   The this layout is a normalized qwerty,
7   with some configurable keys left thumb cluster so you can use it more as needed.
8
9 - Arrow keys follow VIM convention
10   (the media layer even uses arrow keys for HJKL).
11
12 - On the top row only symbols are used (not numbers),
13   it's expected the symbol layer's number-pad layout will be used for numbers.
14
15 - Symbols match regular QWERTY.
16   except for '()' which are grouped with other brackets.
17   In their place -/= keys are placed, which almost matches a regular layout.
18
19 - Brackets are placed symmetrically along the center edges,
20   if using keys from both sides is inconvenient - the symbol layer has macros
21   at the same key locations to type matching pairs.
22
23 - The extra space-bar on the lower-left looks like it's in an obscure location,
24   however using the larger thumb cluster
25   ended up being more of a reach while typing.
26
27 ## Configuration
28
29 Some optional behavior is configurable without editing the code
30 using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make.
31
32 - `CFQ_USER_KEY0`
33   (0..7) are used for custom-keys
34 - `CFQ_USE_MOMENTARY_LAYER_KEYS`
35   is used to prevent layer keys from toggling when tapped.
36 - `CFQ_USE_SHIFT_QUOTES`
37   an optional handy shortcut for writing quotes that inserts the
38   cursor between the quotation marks.
39
40   Holding LShift, then RShift types: "" (then presses left).
41
42   Holding RShift, then LShift types: '' (then presses left).
43
44 - `CFQ_WORD_[A-Z]`
45   defines can bind a key to an entire user defined word.
46
47
48
49 ## Keymap 0: Basic layer
50
51 ```
52 ,--------------------------------------------------.           ,--------------------------------------------------.
53 | Grave  |   !  |   @  |   #  |   $  |   %  |   {  |           |  }   |   ^  |   &  |   *  |   -  |   =  | BSpace |
54 |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
55 | Tab    |   Q  |   W  |   E  |   R  |   T  |   (  |           |  )   |   Y  |   U  |   I  |   O  |   P  |   \    |
56 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
57 | Esc    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
58 |--------+------+------+------+------+------|   [  |           |  ]   |------+------+------+------+------+--------|
59 | LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  | RShift |
60 `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
61   | LCtl |Super | Alt  | ~L1  |Space |                                       | Left | Down | Up   |Right | Del  |
62   `----------------------------------'                                       `----------------------------------'
63                                        ,-------------.       ,-------------.
64                                        | Ins  |NumClk|       | Home | End  |
65                                 ,------+------+------|       |------+------+------.
66                                 |      |      |CapsLk|       | PgUp |      |      |
67                                 |BSpace| Del  |------|       |------| ~L2  |Enter |
68                                 |      |      | ~L3  |       | PgDn |      |      |
69                                 `--------------------'       `--------------------'
70
71 Optional overrides: see CFQ_USER_KEY# defines.
72
73 ,--------------------------------------------------.           ,--------------------------------------------------.
74 |        |      |      |      |      |      |      |           |      |      |      |      |      |      | USR0   |
75 |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
76 |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
77 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
78 |        |      |      |      |      |      |------|           |------|      |      |      |      |      |        |
79 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
80 |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
81 `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
82   |      |      |      | USR1 |      |                                       |      |      |      |      | USR8 |
83   `----------------------------------'                                       `----------------------------------'
84                                        ,-------------.       ,-------------.
85                                        | USR2 | USR3 |       |      |      |
86                                 ,------+------+------|       |------+------+------.
87                                 |      |      | USR6 |       |      |      |      |
88                                 | USR4 | USR5 |------|       |------|      |      |
89                                 |      |      | USR7 |       |      |      |      |
90                                 `--------------------'       `--------------------'
91 ```
92
93 ## Keymap 1: KeyPad, Macro Record
94
95 Notes:
96
97 - The double bracket keys on this layer press left to position the cursor between them.
98 - The left thumb cluster is used for macro record/replay.
99
100 ```
101 ,--------------------------------------------------.           ,--------------------------------------------------.
102 |        |      |      |      |      |      |  {}  |           |  }{  |      |NumLck|   /  |   *  |   -  |        |
103 |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
104 |        |      |      |      |      |  =>  |  ()  |           |  )(  |  <=  |   7  |   8  |   9  |   +  |        |
105 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
106 |        |      |      |      |      |  ->  |------|           |------|  <-  |   4  |   5  |   6  |   +  |        |
107 |--------+------+------+------+------+------|  []  |           |  ][  |------+------+------+------+------+--------|
108 |        |      |      |      |      |  <>  |      |           |      |  ><  |   1  |   2  |   3  | Enter|        |
109 `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
110   |      |      |      |      |      |                                       |   0  |      |   .  | Enter|      |
111   `----------------------------------'                                       `----------------------------------'
112                                        ,-------------.       ,--------------.
113                                        |Start1|Start2|       |      |       |
114                                 ,------+------+------|       |------+-------+------.
115                                 |      |      | Stop |       |      |       |      |
116                                 |Play1 |Play2 |------|       |------|       |      |
117                                 |      |      |      |       |      |       |      |
118                                 `--------------------'       `---------------------'
119 ```
120
121 ## Keymap 2: Keymap 2: Media and mouse keys
122
123 ```
124 ,--------------------------------------------------.           ,--------------------------------------------------.
125 |        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
126 |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
127 |        |      |      | MsUp |      |      |MWhlUp|           |      |      |      |      |      |      |        |
128 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
129 |        |      |MsLeft|MsDown|MsRght|      |------|           |------| Left | Down | Up   |Right |      |        |
130 |--------+------+------+------+------+------|MWhlDn|           |      |------+------+------+------+------+--------|
131 |        |      | Rclk | Mclk | Lclk |      |      |           |      |      |      |      |      |      |        |
132 `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
133   |      |      |      |      |      |                                       |      |      |      |      |      |
134   `----------------------------------'                                       `----------------------------------'
135                                        ,-------------.       ,-------------.
136                                        | MRwd | MFwd |       | MPrv | MNxt |
137                                 ,------+------+------|       |------+------+------.
138                                 |      |      |      |       |VolUp |      |      |
139                                 | Mute |      |------|       |------|      | Play |
140                                 |      |      |      |       |VolDn |      |      |
141                                 `--------------------'       `--------------------'
142 ```
143
144 ## Keymap 3: K-Keys & User defined words
145
146 This is for assigning whole words to single keys.
147 You can define the arguments (which must be quoted) using: `CFQ_WORD_[A-Z]`
148 eg: `-DCFQ_WORD_E=\"my@email.com\"`
149
150 ```
151 ,--------------------------------------------------.           ,--------------------------------------------------.
152 |        |  F1  |  F2  |  F3  |  F4  |  F5  |  F11 |           | F12  |  F6  |  F7  |  F8  |  F9  |  F10 |        |
153 |--------+------+------+------+------+------+------|           |------+------+------+------+------+------+--------|
154 |        |   Q  |   W  |   E  |   R  |   T  |      |           |      |   Y  |   U  |   I  |   O  |   P  |        |
155 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
156 |        |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |      |        |
157 |--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
158 |        |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |      |      |      |        |
159 `--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
160   |      |      |      |      |      |                                       |      |      |      |      |      |
161   `----------------------------------'                                       `----------------------------------'
162                                        ,-------------.       ,-------------.
163                                        |      |      |       |      |      |
164                                 ,------+------+------|       |------+------+------.
165                                 |      |      |      |       |      |      |      |
166                                 |      |      |------|       |------|      |      |
167                                 |      |      |      |       |      |      |      |
168                                 `--------------------'       `--------------------'
169 ```
170
171 ## Changelog
172
173 - 2018/03/08
174   Add `CFQ_USE_SHIFT_QUOTES` option.
175   Add `CFQ_USER_KEY8` key.
176
177   When holding shift `CFQ_WORD_[A-Z]` use title caps.
178
179 - 2018/03/06
180   Add layer for user defined words (replaces `CFQ_USE_EXPEREMENTAL_LAYER`).
181
182   Minor changes to thumb cluster.
183
184   Move backspace to left thumb, optionally remap the top right backspace.
185
186   Make keypad layout match a typical numpad.
187
188   Move F-Keys to layer 3.
189
190 - 2017/11/09
191   Use Caps-Lock when `CFQ_USE_EXPEREMENTAL_LAYER` isn't defined.
192
193 - 2017/11/07
194   Make thumb left thumb cluster completely configurable with defines.
195   Add mouse wheel to mouse layer.
196
197 - 2017/10/28
198   Make more keys user defined on the left thumb cluster.
199   Add macro record/replay keys.
200
201 - 2017/10/04
202   Move Insert key to the left thumb cluster (away from the modifier keys).
203   Replace with `USR2` which defaults to `APP`.