You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you want to add a keyboard which doesn't have support for Halcyon modules yet, please follow the [porting guide](docs/PORTING.md). Please follow the [initial setup](#initial-setup--prerequisites) and [build target](#how-to-configure-your-build-targets) steps from this readme first.
24
50
@@ -55,6 +81,7 @@ Before configuring your keymaps or building firmware, you need to set up your bu
55
81
56
82
1.**Start fresh (Optional but recommended):** If you want to start completely from scratch without any default compile options, replace the `qmk.json` in the root folder with the provided `qmk_empty.json`.
57
83
2.**Create your keymap:** Navigate to `keyboards/<keyboard_name>/keymaps` and copy/paste the `default_hlc` or `vial_hlc` folder. Rename it to your desired keymap name.
84
+
*(**Updating Keymaps:** If you modify an existing keymap (e.g., from the original Kyria, Elora, or Aurora), make sure to **add the Halcyon Button mappings** as shown in [the porting guide](docs/PORTING.md#4-define-halcyon-button-mappings))*
58
85
*(If you're unsure what the exact `keyboard_name` is, you can run `qmk list-keyboards | grep <keyboard>`)*
59
86
3.**Add your keymap to the build targets** by running the following command:
60
87
```bash
@@ -120,14 +147,13 @@ For example, to override the `build` job to use the QMK branch:
120
147
If you already have a custom userspace fork of `qmk/qmk_userspace`, you can merge the Splitkb additions manually.
121
148
122
149
#### Option A: Adding the Splitkb Upstream Branch
123
-
1. Add this repo as a remote: `git remote add upstream https://github.com/splitkb/qmk_userspace.git`
124
-
2. Fetch the upstream: `git fetch upstream`
125
-
3. Create a new branch based on our halcyon branch: `git checkout -b halcyon upstream/halcyon`
150
+
1. Add this repo as a remote: `git remote add splitkb https://github.com/splitkb/qmk_userspace.git`
151
+
2. Fetch the upstream: `git fetch splitkb`
152
+
3. Create a new branch based on our halcyon branch: `git checkout -b halcyon splitkb/halcyon`
126
153
4. Make your changes and push: `git push -u origin halcyon`
127
154
128
155
#### Option B: Copying files to your existing branch
129
156
1. Clone or download the files from the Splitkb fork.
130
157
2. Copy `users/halcyon_modules/rules.mk` and the entire `users/halcyon_modules/splitkb/` folder into your personal user folder.
131
-
3. **Updating Keymaps:** If you modify an existing keymap (e.g., from the original Kyria, Elora, or Aurora), make sure to **add 10 new keys** in your keymap matrix. *(Check `keyboards/splitkb/halcyon/kyria/keymaps/default_hlc` for an example).*
132
158
133
159
> **⚠️ Warning:** We use some quantum functions in our userspace. If your existing userspace relies heavily on custom quantum functions, you may encounter compile conflicts. If you restrict yourself to `_user` functions, you should be fine.
Copy file name to clipboardExpand all lines: docs/PORTING.md
+15-8Lines changed: 15 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -135,27 +135,34 @@ Build using the standard userspace workflow described in the main [README](READM
135
135
136
136
# Adding Support for Vial
137
137
138
-
A keymap from the Vial repository works without modification.
139
-
To enable Halcyon button mappings, set:
138
+
A keymap from the Vial repository will work when you add the above mentioned support to the vial keymap.
140
139
140
+
Adding support for the buttons can be done in two ways:
141
+
142
+
## Using halcyon_keys.c
143
+
You can use the `halcyon_keys.c` file to hardcore the keycodes. You will need to enable Halcyon button mappings for this:
144
+
145
+
```c
141
146
#defineHALCYON_BUTTONS_ENABLE
147
+
```
142
148
149
+
## Using Vial
143
150
If you want these buttons or encoders to be configurable in Vial, you must update `vial.json`.
144
151
145
152
> **Note:** These are general guidelines, the full integration might be different depending on how a keyboard is made up. Feel free to create an issue, ask in our discord or send an email to support@splitkb.com if you're having any issues.
146
153
147
-
## 1. Expand Matrix
154
+
###1. Expand Matrix
148
155
149
156
Increase the column count in `vial.json` by 5.
150
157
151
-
## 2. Update Layout in KLE
158
+
###2. Update Layout in KLE
152
159
153
160
Copy the `keymap` contents into:
154
161
https://editor.keyboard-tools.xyz/
155
162
156
163
Click “Apply Changes” to refresh the layout preview.
157
164
158
-
## 3. Add Encoder Definitions
165
+
###3. Add Encoder Definitions
159
166
160
167
If the keyboard already defines encoders:
161
168
@@ -170,7 +177,7 @@ After:
170
177
171
178
> **Tip:** You can copy and paste between layouts. For example, open a known working `vial.json` (such as the Aurora Helix), copy the encoder section, and adjust indices as needed.
172
179
173
-
## 4. Add Halcyon Button Columns
180
+
###4. Add Halcyon Button Columns
174
181
175
182
Add a new column starting from the last existing column.
176
183
@@ -198,11 +205,11 @@ After:
198
205
199
206
Note: Additional buttons are currently inactive and reserved for future modules.
0 commit comments