summaryrefslogtreecommitdiffstats
path: root/keyboards/ergodox/keymaps/albert/readme.md
blob: e20e047ac620444b0d132c36ade9daed217ddd9c (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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# ErgoDox EZ Configuration for typing like a boss.

This layout has 7 layers:
0. Base layers
1. Symbols and F-keys
2. Number pad (with hexadecimal)
3. Cursor keys
4. Mouse movement and clicks
5. Keyword macros
6. Emacs

There are also some leader keys defined for frequently used commands (git etc).

## The layers

Double hashes (`##`) indicate transparent keys (`KC_TRNS`) and blanks indicate no key (`KC_NO`).

### 0. Base layer

```
,--------------------------------------------------.           ,--------------------------------------------------.
| ESC    |   1  |   2  |   3  |   4  |   5  | SfLt |           | SfRt |   6  |   7  |   8  |   9  |   0  | BkSp   |
|--------|------|------|------|------|-------------|           |------|------|------|------|------|------|--------|
| Tab    |   Q  |   W  |   E  |   R  |   T  |  L1  |           |  L1  |   Y  |   U  |   I  |   O  |   P  | Del    |
|--------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
| Caps/L2|   A  |   S  |   D  |   F  |   G  |------|           |------|   H  |   J  |   K  |   L  |   ;  |Enter/L2|
|--------|------|------|------|------|------|  L6  |           |  L6  |------|------|------|------|------|--------|
| LSft/( |   Z  |   X  |   C  | V/L3 | B/L4 |      |           |      | N/L4 | M/L3 |   ,  |   .  |   /  | RSft/) |
`--------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |Ctrl/[| Alt/]|   #  | Left |Right |                                       |  Up  | Down |   -  | Alt/[|Ctrl/]|
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |  L2  | lead |       | lead |  Ins |
                                ,------|------|------|       |------|------|------.
                                | Space| BkSp | Home |       | PgUp | Enter|Space |
                                |  /   |  /   |------|       |------|   /  |  /   |
                                | Ctrl | Alt  |End/L5|       |PDn/L5|  Alt | Ctrl |
                                `--------------------'       `--------------------'
```

Space Cadet shift is enabled. Ctrl and Alt doubles up as normal keys when tapped.  
SfLt and SfRt sends Shift + left and Shift + Right respectively - for use with emacs with `windmove-default-keybindings`.  
Caps and Enter may be held down to activate layer 2 (hexadecimal number pad).  
Please see `matrix_scan_user` function in `keymap.c` for list of commands available via `lead` key.

### 1. Symbols and F-keys

```
,--------------------------------------------------.           ,--------------------------------------------------.
|   ##   |  F1  |  F2  |  F3  |  F4  |  F5  |  ##  |           |  ##  |  F6  |  F7  |  F8  |  F9  |  F10 |   F11  |
|--------|------|------|------|------|------|------|           |------|------|------|------|------|------|--------|
|   ##   |   !  |   "  |   £  |   $  |   %  |  ##  |           |  ##  |   -  |   +  |   =  |   @  |   ~  |   F12  |
|--------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|   ##   |   ^  |   &  |   *  |   _  |   #  |------|           |------|   {  |   }  |   ;  |   '  |   #  |   ##   |
|--------|------|------|------|------|------|  ##  |           |  ##  |------|------|------|------|------|--------|
|   ##   |   \  |   |  |   `  |   -  |   /  |      |           |      |   [  |   ]  |   <  |   >  |   ?  |   ##   |
`--------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |  ##  |  ##  |  ##  |  ##  |  ##  |                                       |  ##  |  ##  |  ##  |  ##  |  ##  |
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |  ##  |  ##  |       |  ##  |  ##  |
                                ,------|------|------|       |------|------|------.
                                |      |      |  ##  |       |  ##  |      |      |
                                |  ##  |  ##  |------|       |------|  ##  |  ##  |
                                |      |      |  ##  |       |  ##  |      |      |
                                `--------------------'       `--------------------'
```

### 2. Number pad (with hexadecimal)

```
,---------------------------------------------------.           ,--------------------------------------------------.
|   ##    |  A   |  B   |  C   |  D   |  E   |  F   |           |  A   |  B   |  C   |  D   |   E  |   F  |   ##   |
|---------|------|------|------|------|------|------|           |------|------|------|------|------|------|--------|
|   ##    |  *   |  7   |  8   |  9   |  *   |  0x  |           |  0x  |  *   |   7  |   8  |   9  |   *  |   ##   |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|   ##    |  /   |  4   |  5   |  6   |  /   |------|           |------|  /   |   4  |   5  |   6  |   /  |   ##   |
|---------|------|------|------|------|------|  ##  |           |  ##  |------|------|------|------|------|--------|
|   ##    |  -   |  1   |  2   |  3   |  -   |      |           |      |  -   |   1  |   2  |   3  |   -  |   ##   |
`---------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |   =   |  +   |  0   |  ,   |  .   |                                       |   0  |   ,  |   .  |   +  |  =   |
  `-----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |  ##  |  ##  |       |  ##  |  ##  |
                                ,------|------|------|       |------|------|------.
                                |      |      |  ##  |       |  ##  |      |      |
                                |  ##  |  ##  |------|       |------|  ##  |  ##  |
                                |      |      |  ##  |       |  ##  |      |      |
                                `--------------------'       `--------------------'
```

### 3. Cursor keys

```
,---------------------------------------------------.           ,--------------------------------------------------.
|         |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
|---------|------|------|------|------|------|------|           |------|------|------|------|------|------|--------|
|         | Home |      |  Up  |      | PgUp |      |           |      | PgUp |      |  Up  |      | Home |        |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|         | End  | Left | Down | Right| PgDn |------|           |------| PgDn | Left | Down | Right| End  |        |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|   ##    |  Up  |      | Down |  ##  |      |      |           |      |      |  ##  | Down |      |  Up  |   ##   |
`---------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  | Left  | Down | Right|      |      |                                       |      |      | Left | Down | Right|
  `-----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |      |      |       |      |      |
                                ,------|------|------|       |------|------|------.
                                |      |      |      |       |      |      |      |
                                |  ##  |  ##  |------|       |------|  ##  |  ##  |
                                |      |      |      |       |      |      |      |
                                `--------------------'       `--------------------'
```

### 4. Mouse movement and clicks

```
,--------------------------------------------------.           ,--------------------------------------------------.
|        |      |      |      |      |      |      |           |      |      |      |      |      |      |        |
|--------|------|------|------|------|-------------|           |------|------|------|------|------|------|--------|
|        |      | Lclk | MsUp | Rclk |      |      |           |      |      | Lclk | MsUp | Rclk |      |        |
|--------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|        |      |MsLeft|MsDown|MsRght|      |------|           |------|      |MsLeft|MsDown|MsRght|      |        |
|--------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|  Lclk  | MsUp | Rclk |MsDown|      |  ##  |      |           |      |  ##  |      |MsDown| Lclk | MsUp | Rclk   |
`--------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |MsLeft|MsDown|MsRight      |      |                                       |      |      |MsLeft|MsDown|MsRght|
  `----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |      |      |       |      |      |
                                ,------|------|------|       |------|------|------.
                                |      |      |      |       |      |      |      |
                                |      |      |------|       |------|      |      |
                                |      |      |      |       |      |      |      |
                                `--------------------'       `--------------------'
```

### 5. Keyword macros

```
,---------------------------------------------------.           ,--------------------------------------------------.
|         |      |      | scarf| sadf | smily|      |           |      | decaf|      |      |      |      |        |
|---------|------|------|------|------|------|------|           |------|------|------|------|------|------|--------|
|         | const| volat| oper |  ret | tmpl |      |           |      | typen| cont |  prv |  pro | pub  |        |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|         |      |  str |  obj |      | gitl |------|           |------|      |      |      | nulp |      |        |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|         |      | extr |  cls | virt | break|      |           |      |namesp| goodm| goodn|      |      |        |
`---------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |       |      |  inc |      |      |                                       |      |      |      |      |      |
  `-----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |      |      |       | ecet | ecets|
                                ,------|------|------|       |------|------|------.
                                |      |      |      |       |      |      |      |
                                |      |      |------|       |------|      |      |
                                |      |      |  ##  |       |  ##  |      |      |
                                `--------------------'       `--------------------'
```
Please see `keymap.c` for the keywords/commands.
Some are const, volatile, operator, return, template, typename, continue, private,
protected, public, struct, class, extern, virtual, break, namespace.
Also a git log command I use a lot (`git log --oneline --graph --decorate=short` (I know git can be configured but that is boring)).

### 6. Emacs

```
,---------------------------------------------------.           ,--------------------------------------------------.
|         |      |      |      |      |      | empb |           | emnb | emfs | emfb |      |      |      |        |
|---------|------|------|------|------|------|------|           |------|------|------|------|------|------|--------|
|         | emtr |      |      |      |      |      |           |      | emun | emre | w-up |      |      |        |
|---------|------|------|------|------|------|      |           |      |------|------|------|------|------|--------|
|         |      | emwr |      |      |      |------|           |------|      |w-left|w-down|w-rght|      |        |
|---------|------|------|------|------|------|  ##  |           |  ##  |------|------|------|------|------|--------|
|         |      |      |      |      |      |      |           |      |      |      |w-down|      |      |        |
`---------|------|------|------|------|-------------'           `-------------|------|------|------|------|--------'
  |       |      |      |      |      |                                       |      |      |      |      |      |
  `-----------------------------------'                                       `----------------------------------'
                                       ,-------------.       ,-------------.
                                       |      |      |       |      |      |
                                ,------|------|------|       |------|------|------.
                                |      |      |      |       |      |      |      |
                                |      |      |------|       |------|      |      |
                                |      |      |      |       |      |      |      |
                                `--------------------'       `--------------------'
```
Some emacs shortcuts like toggle read/write mode (emtr), write file (emwr), previous-buffer (empb),
next-buffer (emnb), smaller font(emfs), larger font (emfb), undo (emun), redo (emre) and switching between windows in a frame.