Skip to content
argenkiwi edited this page Aug 11, 2026 · 2 revisions

keydo

keydo is a cross-platform keyboard remapping daemon written in Rust, ported from keyd. It captures keyboard input at a low level to perform complex, stateful transformations — things like multi-purpose keys (Caps Lock as Escape when tapped, Control when held), custom layers, chords, and macros.

keydo runs as a system daemon and integrates directly with each platform's input stack:

  • Linux — uinput and /dev/input
  • macOS — CGEventTap / CGEventPost (no kernel extensions needed)
  • Windows — WH_KEYBOARD_LL hook / SendInput (no drivers needed)

Getting Started

📦 Installation Build from source, register the service, and create your first config
🔄 Updating Update keydo to the latest release

Resources

  • README — Features, configuration examples, and CLI reference
  • keyd configuration docs — Full syntax reference (keydo uses the same format)
  • Releases — Changelog and release notes
  • Issues — Bug reports and feature requests

Clone this wiki locally