Skip to content

Sweep Pro Configuration Files

Ferris Sweep Pro has two kinds of customization:

  • Key-level changes such as replacing a key, changing a layer key, or editing most tap/hold bindings live in config/sweep.keymap.
  • Firmware configuration details such as trackpad support, Bluetooth options, battery reporting, display support, and build targets live in config/*.conf, config/sweep.keymap, and build.yaml. These changes require rebuilding and flashing firmware.

Use ZMK Studio for live keymap edits when possible. Use this page when the setting is not exposed in Studio.

FileWhat it controlsUsually flash
config/sweep.keymapLayers, key bindings, encoder bindings, mouse layer bindings, pointer processors, Z drag-scroll behavior, 25 ms mouse click combos, and Mode switching.Usually left/main half; flash right too if you changed right-side split behavior or want both halves rebuilt together.
config/sweep.confShared ZMK options: USB, Bluetooth, mouse support, ZMK Studio, battery reporting, soft-off, behavior queue size, stack sizes, and sleep policy.Both halves that use the shared config.
config/sweep_left.confLeft central pointing behavior, currently smooth scrolling.Left half.
config/sweep_left_display_hw.confDisplay, LVGL, SSD16XX, and e-ink rendering options. See Sweep Pro E-Ink Display for the user-facing status screen.Left display firmware.
config/sweep_right.confRight half role configuration.Right half.
config/sweep_right_trackpad.confI2C and input stack options needed by the right-hand trackpad.Right trackpad firmware.
build.yamlGitHub Actions build matrix and artifact names for each hardware variant.No direct flashing; it controls which UF2 files Actions builds.
GoalChange hereNotes
Change key bindings or layersconfig/sweep.keymapRe-render the keymap diagrams after changing public defaults.
Change encoder actionssensor-bindings in each layer of config/sweep.keymapCharacter layers use left encoder volume and right encoder brightness. The mouse layer uses the left encoder for pointer speed and the right encoder for scroll speed.
Tune pointer or scroll speed curvespointer_processor and drag_scroll_processor in config/sweep.keymapThe mouse layer Z / X keys fine-adjust pointer speed, C / V fine-adjust scroll speed, and encoder presses reset each speed to 1.00x. These processors define the baseline 1.00x value and allowed multiplier range.
Change Z hold-to-scroll behaviords_z and drag_scroll_processor in config/sweep.keymapZ toggles drag-scroll while held. The current drag-scroll processor supports conditional horizontal wheel behavior when enabled.
Change mouse click comboscombo_er_right_click, combo_df_left_click, and combo_cv_middle_click in config/sweep.keymapCurrent timeout is 25 ms. X taps as the character and holds as left click on the base character layers.
Change Bluetooth or battery behaviorconfig/sweep.confIncludes battery reporting interval, split battery proxy options, Bluetooth 2M PHY setting, TX power, and sleep policy.
Change display firmware capabilitiesconfig/sweep_left_display_hw.confDisplay, LVGL, display thread, font, and memory-pool build options live here. The custom status screen UI comes from zmk-vfx-sweep-pro-display.
Change right-trackpad firmware capabilitiesconfig/sweep_right_trackpad.confI2C and input thread stack options live here; daily trackpad behavior is covered in Use the Trackpad.
Change which firmware artifacts GitHub Actions buildsbuild.yamlKeep artifact names clear: sweep_left, sweep_left_display, sweep_right, sweep_right_trackpad.

The same keymap supports four Sweep Pro hardware variants. Pick the matching UF2 pair after building:

VariantLeft UF2Right UF2
Basicsweep_leftsweep_right
E-inksweep_left_displaysweep_right
Trackpadsweep_leftsweep_right_trackpad
Fullsweep_left_displaysweep_right_trackpad

In build.yaml, those variants are produced from these shield combinations:

- shield: sweep_left
artifact-name: sweep_left
- shield: sweep_left sweep_left_display_hw sweep_display
artifact-name: sweep_left_display
- shield: sweep_right
artifact-name: sweep_right
- shield: sweep_right sweep_right_trackpad
artifact-name: sweep_right_trackpad
  • If you changed only live keymap content through ZMK Studio, you usually do not need to rebuild firmware.
  • If you changed config/sweep.keymap, rebuild the left/main firmware at minimum.
  • If you changed right-trackpad configuration, rebuild and flash sweep_right_trackpad.
  • If you changed display configuration, rebuild and flash sweep_left_display.
  • If you changed shared .conf, module wiring, or shield composition, do a clean rebuild with -p.

See Build your own firmware for the exact GitHub Actions and local build commands.