Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Kyria ZMK configuration

Personal ZMK firmware configuration for a split Kyria keyboard with two nice!nano v2 controllers. Builds are produced automatically by GitHub Actions for both halves.

What is built

build.yaml creates these firmware targets:

Half Shield Output file
Left kyria_left kyria_left-nice_nano_v2-zmk.uf2
Right kyria_right kyria_right-nice_nano_v2-zmk.uf2

The active layout is config/kyria.keymap. It is a macOS-focused layout with letters, symbols/numbers, navigation, pointer controls, Bluetooth controls, and custom hold-tap behaviors.

config/kyria-new-design.keymap is a separate experimental “Balanced Mac” layout. Its layer charts and controls are documented in config/kyria-new-design.md. It will not be built until it replaces config/kyria.keymap in a branch.

Build a layout

GitHub Actions runs on every push; a local ZMK installation is not required. Use a branch when trying a new layout:

git checkout -b experimental-layout
cp config/kyria-new-design.keymap config/kyria.keymap
git add config/kyria.keymap config/kyria-new-design.keymap config/kyria-new-design.md
git commit -m "Try experimental Kyria layout"
git push -u origin experimental-layout

Do not use git add .: this repository may contain downloaded firmware files that should not be committed.

Open the repository’s Actions tab and wait for the Build ZMK Config workflow to succeed. Download its firmware artifact and unzip it. The files under firmware/ are only local copies; the artifact from the commit you just built is the reliable file to flash.

Flash the keyboard

Flash each half separately and use the UF2 file with the matching name.

  1. Connect one keyboard half over USB.

  2. Double-press its physical Reset button. It should mount as NICENANO.

  3. Copy its UF2 file to that mounted drive, for example:

    cp kyria_left-nice_nano_v2-zmk.uf2 /Volumes/NICENANO/
  4. Repeat with kyria_right-nice_nano_v2-zmk.uf2 on the right half.

  5. Single-press Reset on both halves, then reconnect over Bluetooth.

The existing Bluetooth pairing normally survives a firmware update. This migration enables the mouse HID report, however, so remove and re-pair the keyboard with every Bluetooth host after flashing this version. Avoid clearing Bluetooth profiles from the keyboard unless you intentionally want to forget them.

Configuration notes

  • config/kyria.conf sets the Bluetooth transmit power.
  • config/kyria.conf also enables upstream ZMK pointing support (CONFIG_ZMK_POINTING=y) for mouse movement, scrolling, and clicks.
  • config/west.yml tracks upstream zmkfirmware/zmk@main. The repository no longer depends on the legacy mouse-ftc fork.
  • build.yaml selects nice_nano//zmk, the current ZMK board identifier for a nice!nano v2. Explicit artifact names preserve the familiar nice_nano_v2 UF2 filenames.
  • The build workflow is defined in .github/workflows/build.yml.

Pointer controls

The navigation layer uses the upstream mouse-emulation behaviors: &mmv moves the cursor, &msc scrolls, and &mkp clicks. Their values come from <dt-bindings/zmk/pointing.h>; use SCRL_* with &msc, rather than the old &mwh SCROLL_* syntax used by mouse-ftc.

References

About

Custom Split Keyboard Configuration: ZMK firmware for bluetooth chip nice!nano v2.0: - kyria.keymap

Topics

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors