aboutsummaryrefslogtreecommitdiff
path: root/keyboards/a_dux/keymaps/default/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/a_dux/keymaps/default/readme.md')
-rw-r--r--keyboards/a_dux/keymaps/default/readme.md122
1 files changed, 122 insertions, 0 deletions
diff --git a/keyboards/a_dux/keymaps/default/readme.md b/keyboards/a_dux/keymaps/default/readme.md
new file mode 100644
index 000000000..5f67a69cb
--- /dev/null
+++ b/keyboards/a_dux/keymaps/default/readme.md
@@ -0,0 +1,122 @@
1A usable default keymap for the A. Dux keyboard
2===============================================
3
4Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user.
5
6This keymap makes heavy use of keys behaving differently when tapped and held, so that all the keys one may need remain accessible despite the low number of thumb keys.
7
8It comes with a number of layers to give access to most of the keys one may need on a keyboard. It is not meant to be the best possible keymap, but rather a good base on which to build a keymap that works for you.
9
10This is not the only way to make 34 keys a comfortable typing experience, but it is one way to do so. If you don't already know of a better way, this may be as good a starting point as any :)
11
12Note that this keymap was built from the perspective that it is OK to take a steep learning curve if it results in a keymap that is easier to use in the long run. This means that it may take more effort to learn this keymap than some alternatives. "Easy to use" was assessed against the workflow of the author, so your mileage may vary on some of the details.
13
14What do all these layers do?
15----------------------------
16
17### Layer 0: Base layer
18
19![Layer 0](https://i.imgur.com/HjNHUPL.png)
20
21On tapping the keys, our base layer is qwerty with space on the right homing thumb and backspace on the left homing thumb.
22
23In this layer, the non-homing-thumb positions have 0 and 1. I recommend modifying this to some frequently accessed shortcut such as copy/paste, previous/next tab or anything that makes most sense in your own workflow. O and 1 are place-holders and make it easy to troubleshoot that all keys are working properly before soldering in the switches.
24The reason I recommend convenience shortcuts instead of more commonly used keys like tab or meta is that unhoming of the thumbs was a frequent source of typos for me when I used more than one thumb key frequently in the context of typing.
25
26Despite being missing on this layer, "meta", "tab", "esc" and such are accessible from any other layer: see Layer 7.
27
28The behaviour of some keys differ when held:
29* Both homing pinkies behave as shift.
30* Both bottom-row ring fingers behave as ctrl.
31* Both bottom-row middle fingers behave as alt.
32
33* The homing left ring finger gives access to the Function keys layer
34* The homing right ring finger gives access to the Numbers layer
35* The homing left middle finger gives access to the Mouse layer
36* The homing right middle finger gives access to the Navigation layer
37* The homing left index finger gives access to the Right symbols layer
38* The homing right index finger gives access to the Left symbols layer
39* The homing right thumb gives access to the Always accessible layer
40
41### Layer 1: Mouse
42
43![Layer 1](https://i.imgur.com/0fvTuB9.png)
44
45Layer 1 is a mouse layer: it can be used one-handed or two-handed. The most common way to use it is two handed, with left and right click on the homerow of the left hand and directions on the homerow of the right hand.
46Scrolling is available on the right hand with mid finger up and down for vertical scroll and index and ring finger down for horizontal scroll.
47On the right hand, left click and right click are also available with index and ring finger up to allow one handed operation. This can be particularly handy when enabling the mouse layer permanently (no need to hold the left middle finger), which can be done from Layer 7.
48
49Note that thanks to the transparency, shift, ctrl and alt are all accessible on the left hand while operating the mouse.
50
51### Layer 2: Navigation
52
53![Layer 2](https://i.imgur.com/ZquQJRq.png)
54
55The navigation layer somewhat mirrors the mouse layer. It is accessed by holding the right middle finger and gives access to arrow keys on the left homerow. Page up and down, Home and End mirror the vertical scrolling and horizontal scrolling on the mouse layer.
56
57On the right hand, in addition to ctrl and alt which are available through transparency, ctrl + alt, ctrl + alt + shift and meta are accessible on the homerow to enable common shortcuts in some window managers. This part is quite workflow dependent, so make sure to adapt it to your own workflow as appropriate.
58
59### Layer 3: Right symbols
60
61![Layer 3](https://i.imgur.com/9tLAUqG.png)
62
63When holding down the left index, one may access about half of the symbols. The pinkies store `^` and `$` symbols that represent begin and end in vim. The left homerow hosts `*` and `&`, symbols which are related in the way that they represent some form of indirection in programming languages such as rust. On the right hand, most symbols used when navigating the command line are stored together, organized by columns of related symbols.
64
65### Layer 4: Left symbols
66
67![Layer 4](https://i.imgur.com/CkjUSW6.png)
68
69When holding down the right index, one may access the other symbols. On the left hand, most of the different brackets are laid out. The most frequent ones (round brackets and curly brackets) get a spot on the homerow. The rest of the layer hosts the remaining symbols that are easier to access here than on any other layers.
70
71### Layer 5: Function keys
72
73![Layer 5](https://i.imgur.com/fWgVqc4.png)
74
75By holding down the left ring finger, one may access the function keys, roughly in a numpad layout.
76This means that alt+F4 is easy to type, with F4 being on the homerow.
77There is a shortcut for ctrl+alt on the left hand to enable convenient switching between virtual terminals on Linux.
78
79### Layer 6: Numbers
80
81![Layer 6](https://i.imgur.com/S8gq9Kj.png)
82
83The number layer is accessed by holding the right ring finger. It hosts the numbers and some duplicated symbols that are commonly accessed next to numbers, such as mathematical operators.
84The number are layed out similarly to a numpad, but with the middle row and the homerow swapped so that the most used numbers: 0, 1, 2 and 3 are all available in homing positions.
85
86### Layer 7: Always accessible
87
88![Layer 7](https://i.imgur.com/twqBeBb.png)
89
90Layer 7 is accessed by holding the right homing thumb down. Because this position is left transparent from every other layer, this layer is always accessible.
91It gives access to some essential keys that would typically be accessed on a thumb cluster or pinkies, such as meta, enter, tab, esc and delete.
92
93As the layer hosting esc, we duplicated some symbols here to allow for fast navigation in vim. For instance, esc, :, w, q can be done in a single roll.
94
95Where is the keymap.c?
96----------------------
97
98The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system.
99
100This avoids duplicating information and allow users to edit their keymap from the qmk configurator web interface.
101
102How do I edit and update the keymap?
103------------------------------------
104
105The `keymap.json` file is generated from the qmk configurator interface and formatted for better readability in the context of the A. Dux keyboard.
106
107To edit it, you may:
108* Edit it directly from a text editor.
109* Edit it from the qmk configurator.
110
111If you decide to use the latter workflow, here are the steps to follow:
112
113* From the qmk configurator, hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it).
114* Browse to the location of your keymap (for example, `<your qmk repo>/keyboards/a_dux/keymaps/default/keymap.json`)
115* Perform any modification to the keymap in the web UI
116* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it)
117* Override your original keymap with the output of formatting the exported keymap by running a command such as this one from the root of your qmk repo:
118 ```
119 ./keyboards/a_dux/keymaps/json2crab.py --input <Your download directory>/default.json > ./keyboards/a_dux/keymaps/default/keymap.json
120 ```
121 Note that you may first need to make json2crab executable by using `chmod +x` on it.
122 Also note that you may then want to remove the exported keymap from your dowload directory.