Studio
The left half runs cormoran’s Studio-enabled ZMK, so you can change the keymap from a browser while the keyboard is in use, over USB or Bluetooth, without rebuilding anything.
Connect
- Open a Studio web app in a Chromium browser (Chrome, Edge):
- the hosted DYA Studio app at studio.dya.cormoran.works;
- or Sofle Studio, a fork of cormoran/dya-studio tailored for this keyboard, maintained as a separate project (work in progress).
- Connect the left half, over USB (WebSerial) or Bluetooth (WebBluetooth).
- Edit. Changes apply at once; Save writes them to the left half’s flash.
Locking is off (CONFIG_ZMK_STUDIO_LOCKING=n), so there is no unlock key to
press first.
Besides keys and layers, Studio can change:
- the encoder: its binding is a
runtime-sensor-rotatebehavior, volume by default, editable on every layer; - Bluetooth profiles, through the
ble-managementmodule.
Linux notes
- USB: the browser needs access to the serial device the left half
exposes. On Arch Linux that means being in the
uucpgroup. - Bluetooth: if the app says “BLE Not Supported on your Browser”, enable
chrome://flags/#enable-experimental-web-platform-featuresand relaunch Chrome. Web Bluetooth is off by default on Chrome for Linux. This is a browser setting, not a firmware problem, and typing over Bluetooth is unaffected.
Studio over BLE in the browser was not re-tested on v3.0.0; USB was.
Saved edits outlive a flash
Saved Studio edits live in the left half’s settings partition, not in the firmware, so flashing a new release doesn’t remove them: the stored overlay is applied on boot over the compiled keymap. If a new firmware still behaves like the old one, that is why.
To go back to the compiled keymap, flash settings_reset.uf2 on the left
half and then the left firmware (see Flashing).
That also clears the left half’s Bluetooth bonds. To keep edits for good,
make them in config/eyelash_sofle.keymap and rebuild; export them from
Studio first if you need a copy.
Editing in the repo instead
keymap-editor edits
config/eyelash_sofle.keymap in the browser and commits the change to this
repository, so the change lives in Git rather than in one keyboard’s flash.
Install its GitHub App on the repo
once, sign in, and pick the repo; it finds the .keymap and .json in
config/. A save that lands on main starts the firmware build and the
keymap render in GitHub Actions; flash the new build with
mise run flash-release (see Flashing).