summaryrefslogtreecommitdiff
path: root/keyboards/splitkb/aurora/helix/keymaps/default/readme.md
blob: 2f0aa63ca7c72b8df5c099eecf69ecaf0d6ce10e (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
# Aurora Helix's Default Keymap
_This keymap is a copy of the [Helix default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/helix/rev3_5rows/keymaps/default), with slight modifications._

A simple default keymap for the Aurora Helix
=============================================

Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box.

What do all these layers do?
----------------------------

### Layer 0: Base layer

![Layer 0](https://i.imgur.com/2E4hHxw.png)

This is where your basic letters live.

The homing thumb fingers are used to access the different layers.

* The homing second to left thumb finger gives access to the Symbols (or lower) layer
* The homing second to right thumb finger gives access to the Navigation (or raise) layer
* Pressing both homing thumb fingers gives access to the Adjust layer

### Layer 1: Lower

![Layer 1](https://i.imgur.com/p68qrBz.png)

The Lower layer gives access to the F keys, symbols and media control.

### Layer 2: Raise

![Layer 2](https://i.imgur.com/7T4KSW6.png)

The Raise layer gives access to additional numbers keys, F keys.

### Layer 3: Adjust

![Layer 3](https://i.imgur.com/YbbwHSD.png)

The Adjust layer exposes RGB adjustment keys on the right hand and additional configuration keys.

Where is the keymap.c?
----------------------

The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system.

This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface.

How do I edit and update the keymap?
------------------------------------

The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard.

To edit it, you may:
* Edit it directly from a text editor.
* Edit it from the QMK Configurator.

If you decide to use the latter workflow, here are the steps to follow:

* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/aurora/helix/rev1/LAYOUT), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it).
* Browse to the location of your keymap (for example, `<your qmk repo>/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json`)
* Perform any modification to the keymap in the web UI
* 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)
* Replace your original keymap with the one you just downloaded

_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._

I want to do more than the JSON format supports!
-------------------------------------------------

While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour.

To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation.

First, from the root of your qmk repo, move to your keymap folder

```bash
cd ./keyboards/splitkb/aurora/helix/keymaps/my_personal_keymap
```

Next, convert your `keymap.json` to a `keymap.c`

```bash
qmk json2c -o keymap.c keymap.json
```

You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both!  
**If a JSON file is present, the C file is ignored.**