Resolved: keymapping failures

I've been using my lily 58 for a while now, but recently I've had a number of issues getting the firmware to behave with what I'm telling the visual online keymap editor by Nick Coutsos to assign. I check the keymap file and things seem to be in order, but then in actuality only some of the keys get changed. ZMK studio properly recognizes the keys that have been mapped, and i can reassign things from there, but of course some functions like behaviors and combos are not able to be changed within zmk studio.
11 Replies
TyperAI
TyperAI•2mo ago
Got it — that’s frustrating. A few quick checks usually fix “only some keys changed” after updating a Lily58 keymap: 1) Make sure you flashed both halves - Build/Download your latest firmware artifact after your edits. - Flash the LEFT uf2 to the left nice!nano and the RIGHT uf2 to the right nice!nano. - Also be sure you’re using the correct variant (with/without nice!view). See: Lily58 Firmware docs: https://docs.typeractive.xyz/build-guides/lily58-wireless/firmware 2) Confirm you flashed the newest build - After saving changes in the editor, wait for GitHub Actions to finish and download the newest “firmware” artifact from the latest workflow. Older artifacts can cause partial updates. 3) Clear ZMK Studio overrides - ZMK Studio stores runtime keymap changes that persist across flashes and override your compiled keymap on a per-key basis. If you used Studio previously, remove/reset those per-key edits so your freshly flashed firmware takes effect everywhere. 4) Behaviors/combos - These must be compiled into the firmware; Studio can’t change them. Ensure they’re defined in your repo (e.g. in your lily58.keymap or included files per ZMK docs), rebuild, then flash both halves. - ZMK keymap docs: https://zmk.dev/docs/features/keymaps If it still acts odd, can you share: - Which keys didn’t update and on which half? - A screenshot of the artifact filenames you flashed (left/right + view/no-view)? - A link to your config repo or the relevant keymap section? Reply here or tag me and I’ll help you zero in on it.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
Keymaps & Behaviors | ZMK Firmware
ZMK uses a declarative approach to keymaps, using devicetree syntax to configure them in a .keymap file.
Evelyn 🌈
Evelyn 🌈OP•2mo ago
I do flash both halves with the latest build, with the views. Both halves have update failures, but I'm not sure what keys right now. Here's my config repo: how do I clear zmk studio overrides?
TyperAI
TyperAI•2mo ago
Thanks for the repo link! On clearing ZMK Studio overrides: - In ZMK Studio, connect to your Lily58, open the Keymap view. - Global reset: open the menu (gear or •••) in the keymap view and choose “Reset to firmware defaults” or “Clear all overrides,” then Apply/Save to device. Do this for each layer (overrides are per key per layer). - Per‑key reset: select a key that was edited in Studio and use the revert/eraser icon (or right‑click) to clear that key’s override on the current layer, then Apply. If those options aren’t visible, update to the latest ZMK Studio (native app). As a brute‑force check, you can temporarily disable Studio so any stored overrides are ignored: - Add to your .conf: CONFIG_ZMK_STUDIO=n - Rebuild, flash both halves (view variants), verify the compiled keymap behaves. - Re‑enable Studio later by setting CONFIG_ZMK_STUDIO=y and rebuilding. A few repo/flash sanity checks (common causes of “some keys changed”): - Flash the correct artifacts: lily58_left-nice_view_adapter-nice_view-nice_nano_v2-zmk.uf2 to left, and the right one to right. Download from the latest successful Actions run after your most recent commit. Docs: Lily58 Firmware https://docs.typeractive.xyz/build-guides/lily58-wireless/firmware - Behaviors/combos must be in your repo and compiled; Studio can’t change those. After editing your keymap/combos, rebuild and flash both halves. Keymap docs: https://zmk.dev/docs/features/keymaps If you want, tell me the Actions run/commit SHA you flashed and which keys still don’t match after clearing overrides, and I’ll dig in. Reply here or tag me and I’ll help.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
Keymaps & Behaviors | ZMK Firmware
ZMK uses a declarative approach to keymaps, using devicetree syntax to configure them in a .keymap file.
Evelyn 🌈
Evelyn 🌈OP•2mo ago
the zmk studio global reset fixed it, thanks!
TyperAI
TyperAI•2mo ago
Awesome — glad the Studio reset did the trick! Tips to avoid this happening again: - ZMK Studio overrides are per-key and per-layer and persist across flashes. If you manage your layout in your repo, do a “Reset to firmware defaults” in Studio after flashing, or avoid making edits in Studio for those keys/layers. - For behaviors/combos, make the changes in your repo, rebuild, and flash both halves (view variants). Docs: Lily58 Firmware page: https://docs.typeractive.xyz/build-guides/lily58-wireless/firmware and ZMK keymap docs: https://zmk.dev/docs/features/keymaps If anything drifts again, share which commit/artifact you flashed and what keys don’t match, and I can take a look. Reply here or tag me and I’ll help.
Firmware | Typeractive.xyz Documentation
If you're not familiar, ZMK is a wireless-focused firmware, and it powers our Lily58 Wireless.
Keymaps & Behaviors | ZMK Firmware
ZMK uses a declarative approach to keymaps, using devicetree syntax to configure them in a .keymap file.
Evelyn 🌈
Evelyn 🌈OP•2mo ago
any advice for pulling choc v1 switches?
TyperAI
TyperAI•2mo ago
Yep! Choc v1s can be snug. Here’s the safest way to pull them without hurting the plate or hotswap sockets: Tools - Choc-compatible switch puller or fine-tipped tweezers - Optional: thin flat screwdriver/guitar pick for stubborn clips Steps 1) Power off and remove the keycap. 2) Support the PCB/plate from below with your hand so you’re not prying against the hotswap socket. 3) Insert a Choc puller (or tweezers) into the small side notches of the switch housing to compress both retention tabs. 4) While tabs are compressed, pull straight up. Gentle front/back rocking is OK; avoid twisting side-to-side. 5) If it’s stuck: - Slip a thin flat tool in from the top to press a tab in, then pull. - Or loosen the case/backplate screws to reduce pressure, then try again. - In a worst case, remove the plate/PCB assembly and press the tabs from the top side while pushing up from underneath. Do not lever against the PCB. Tips - Don’t use an MX wire puller; it doesn’t grab Choc tabs well and can mar the plate. - Avoid prying on the stem or keycap post. - If a switch fights you, remove neighboring switches first for better access. - Reinsert carefully: align pins, press straight down so you don’t spread the hotswap contacts. If you run into a particularly stubborn spot, a quick photo of the area (plate type and switch orientation) helps me give more specific advice. Reply here or tag me and I’ll help.
Evelyn 🌈
Evelyn 🌈OP•2mo ago
all of my searching has not revealed any choc switch pullers, everything is just labeled "mechanical keyboard switch puller" etc. the only thing that's really working is the guitar pick but that's very slow going
TyperAI
TyperAI•2mo ago
You’re right: most “switch pullers” are for MX. True Choc pullers are rare, but here are fast, safe alternatives that work well: Best readily-available tools - Fine, stiff tweezers (angled or straight, thin tips) - Two thin guitar picks or old credit card corners - Automotive feeler gauges (0.2–0.3 mm blades) - Nylon spudger/thin flathead for stubborn tabs Fast methods - Tweezers: insert tips into the small side notches to compress both Choc tabs at once, then pull straight up. Gentle front/back rock only. - Two-pick method: slide a thin pick on each side to hold both tabs in, then lift. Much faster than one pick. - Feeler gauge method: slide a blade down each side to keep tabs compressed; pull straight up. If still stuck - Loosen case/backplate screws to reduce plate pressure. - Remove 1–2 neighboring switches to gain access for tools. - As a last resort, pull the plate/PCB out; press each tab from the top with tweezers while pushing the switch up from underneath. Do not lever against the PCB or hotswap socket. DIY/printing - If you can 3D print, search for “Choc switch puller” or “Kailh Choc puller” STLs. Printed pullers that squeeze both sides at once are the quickest option. Avoid - MX wire pullers (they don’t grab Choc tabs well and can mar the plate) - Twisting side-to-side (can spread/bend the hotswap contacts) If you tell me your plate material/thickness and a photo of the cutout, I can suggest the quickest approach for your setup. Reply here or tag me and I’ll help.
Evelyn 🌈
Evelyn 🌈OP•4w ago
do you have stl or cad files for the lily58 case?
TyperAI
TyperAI•4w ago
Short answer: we don’t currently publish STL/CAD files for the Lily58 case. If you’re looking for something specific (e.g., exact plate outline, standoff locations, clearance around nice!view, etc.), email hello@typeractive.xyz with details about what you need (standard vs. premium case, Choc spacing, any mods), and we’ll see what we can share. If your goal is fit/assembly reference, our Lily58 case and display cover guides have photos and steps here: - Lily58 Case: https://docs.typeractive.xyz/build-guides/lily58-wireless/case - Display Cover: https://docs.typeractive.xyz/build-guides/lily58-wireless/display-cover If you want me to pass along a specific request to the team, reply here or tag me with exactly which files you’re after.
Case | Typeractive.xyz Documentation
The case ties the whole build together. This guide will go over installing the case and the PCB.
Display Cover | Typeractive.xyz Documentation
The display cover helps protect your display and nice!nano from damage. In this guide, we'll go over installing the display cover.

Did you find this page helpful?