summaryrefslogtreecommitdiffstats
path: root/layouts/community/ergodox/qwerty_code_friendly/readme.md
blob: 6153fb259233a22b1ab962092ca40d376bb21c18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# ErgoDox EZ Code Friendly Qwerty Layout

- This layout aims to balance muscle memory from a typical QWERTY layout
  with having keys used for software development easily accessible.

- Arrow keys follow VIM convention (the media layer even uses arrow keys for HJKL).

- On the top row only symbols are used (not numbers),
  it's expected the symbol layer's number-pad layout will be used for numbers.

- Symbols match regular QWERTY.
  except for '()' which are grouped with other brackets.
  In their place -/= keys are placed, which almost matches a regular layout.

- Brackets are placed symmetrically along the center edges,
  if using keys from both sides is inconvenient - the symbol layer has macros
  at the same key locations to type matching pairs.

- The extra space-bar on the lower-left looks like it's in an obscure location,
  however using the larger thumb cluster ended up being more of a reach while typing.

- L3 is currently only used if `CFQ_USE_EXPEREMENTAL_LAYER` is defined,
  this is a layer to place extra functionality and test new keys.

## Configuration

Some optional behavior is configurable without editing the code
using `CFQ_` prefixed defines which can be set by passing `EXTRAFLAGS` to make.

- `CFQ_USER_KEY1` (1..7) are used for custom-keys
- `CFQ_USE_MOMENTARY_LAYER_KEYS` is used to prevent layer keys from toggling when tapped.
- `CFQ_USE_SWAP_RIGHT_SPACE_ENTER` swap Enter and Space on the right hand thumb cluster.
  While asymmetric, it makes Enter more easily accessible.
- `CFQ_USE_EXPEREMENTAL_LAYER` defines an extra layer for misc extra keys/macros.
  Currently it's mostly empty.



## Keymap 0: Basic layer

```
Keymap 0: Basic layer
,--------------------------------------------------.           ,--------------------------------------------------.
| Grave  |   !  |   @  |   #  |   $  |   %  |   {  |           |  }   |   ^  |   &  |   *  |   -  |   =  | BSpace |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
| Tab    |   Q  |   W  |   E  |   R  |   T  |   (  |           |  )   |   Y  |   U  |   I  |   O  |   P  |   \    |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
| Esc    |   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |   '    |
|--------+------+------+------+------+------|   [  |           |  ]   |------+------+------+------+------+--------|
| LShift |   Z  |   X  |   C  |   V  |   B  |      |           |      |   N  |   M  |   ,  |   .  |   /  | RShift |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  | LCtl |Super | Alt  | ~L1  |Space |                                       | Left | Down | Up   |Right | Del  |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       | Ins  | ~L3  |       | Home | End  |
                                ,------|------|------|       |------+------+------.
                                |      |      | ~L2  |       | PgUp |      |      |
                                |Space |Enter |------|       |------|Enter |Space |
                                |      |      | ~L1  |       | PgDn |      |      |
                                `--------------------'       `--------------------'

Optional overrides: see CFQ_USER_KEY# defines

  -------+------+------+------+------+
  |      |      |      | USR1 |      |
  `----------------------------------'

                                       ,-------------.
                                       | USR2 | USR3 |
                                ,------|------|------|
                                |      |      | USR6 |
                                | USR4 | USR5 |------|
                                |      |      | USR7 |
                                `--------------------'
```

## Keymap 1: Symbol layer

Notes:

- The double bracket keys on this layer press left to position the cursor between them.
- The left thumb cluster is used for macro record/replay.

```
,--------------------------------------------------.           ,--------------------------------------------------.
|        |  F1  |  F2  |  F3  |  F4  |  F5  |  {}  |           |  }{  |  F6  |  F7  |  F8  |  F9  |  F10 |        |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|        |      |      |      |      |  =>  |  ()  |           |  )(  |  <=  |   7  |   8  |   9  |   \  |   F11  |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|        |      |      |      |      |  ->  |------|           |------|  <-  |   4  |   5  |   6  |   *  |   F12  |
|--------+------+------+------+------+------|  []  |           |  ][  |------+------+------+------+------+--------|
|        |      |      |      |      |  <>  |      |           |      |  ><  |   1  |   2  |   3  |   -  |        |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  |      |      |      |      |      |                                       |   0  |      |   .  |   +  |      |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,---------------.
                                       |Start1|Start2|       |      |        |
                                ,------|------|------|       |------+--------+------.
                                |      |      | Stop |       |      |        |      |
                                |Play1 |Play2 |------|       |------|        |      |
                                |      |      |      |       |      |        |      |
                                `--------------------'       `----------------------'
```

## Keymap 2: Media and mouse keys

```
,--------------------------------------------------.           ,--------------------------------------------------.
|        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
|--------+------+------+------+------+-------------|           |------+------+------+------+------+------+--------|
|        |      |      | MsUp |      |      |MWhlUp|           |      |      |      |      |      |      |        |
|--------+------+------+------+------+------|      |           |      |------+------+------+------+------+--------|
|        |      |MsLeft|MsDown|MsRght|      |------|           |------| Left | Down | Up   |Right |      |        |
|--------+------+------+------+------+------|MWhlDn|           |      |------+------+------+------+------+--------|
|        |      | Rclk | Mclk | Lclk |      |      |           |      |      |      |      |      |      |        |
`--------+------+------+------+------+-------------'           `-------------+------+------+------+------+--------'
  |      |      |      |      |      |                                       |      |      |      |      |      |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       | MRwd | MFwd |       | MPrv | MNxt |
                                ,------|------|------|       |------+------+------.
                                |      |      |      |       |VolUp |      |      |
                                |      |      |------|       |------| Mute | Play |
                                |      |      |      |       |VolDn |      |      |
                                `--------------------'       `--------------------'
```

## Changelog

- 2017/11/07
  Make thumb left thumb cluster completely configurable with defines.
  Add mouse wheel to mouse layer.

- 2017/10/28
  Make more keys user defined on the left thumb cluster.
  Add macro record/replay keys.

- 2017/10/04
  Move Insert key to the left thumb cluster (away from the modifier keys).
  Replace with `USR2` which defaults to `APP`.