This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Kmonad is a cross-platform keyboard remapper and advanced key mapping engine that intercepts physical keyboard inputs and transforms them into customized virtual output events. It functions as a programmable input wrapper and multi-layer keyboard manager, allowing users to redefine physical keys and route hardware inputs to virtual devices across different operating systems. The system distinguishes itself through a multi-layer management architecture that enables the definition of dynamic keyboard layers and overlays to change keyboard functions based on the current context. It implements co
Kanata is a cross-platform keymap engine and keyboard firmware emulator that intercepts physical keystrokes to output modified signals on Windows, Linux, and macOS. It serves as a keyboard remapper and layer manager, allowing users to define custom key-map sequences and modal editing behaviors through a declarative configuration file. The system implements keyboard firmware features in software, enabling advanced behaviors such as tap-hold logic, unicode output, and dynamic macros. It utilizes a state-based layer stack to manage multiple sets of key assignments that toggle dynamically and sup
tmk_keyboard is keyboard firmware for AVR and Cortex-M microcontrollers designed to handle key matrix scanning and HID communication. It functions as an embedded hardware control library for managing GPIO pins and EEPROM storage, as well as a driver that transmits keystroke and mouse data to a host computer via USB or PS/2 protocols. The project features a layer-based keymap engine that allows physical keys to be mapped to multiple virtual layers. It also includes a legacy keyboard protocol translator to convert signals from vintage hardware standards to modern computer interfaces. The firmw
ZMK is a modular firmware framework built on the Zephyr RTOS for wireless keyboards. It functions as a programmable system for defining custom keymaps, layers, and input behaviors, acting as an HID device emulator for keyboard and mouse input on computers and mobile devices. It specifically provides a controller solution for synchronizing two separate keyboard halves over wireless or wired links.
The main features of zmkfirmware/zmk are: Keyboard Key Mappings, Keyboard Firmware, Layered Keymaps, Modular Hardware Composition, Firmware Build Configuration, Bluetooth Connectivity, Bluetooth Host Profiles, Device Topology Definitions.
Open-source alternatives to zmkfirmware/zmk include: qmk/qmk_firmware — This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM… kmonad/kmonad — Kmonad is a cross-platform keyboard remapper and advanced key mapping engine that intercepts physical keyboard inputs… jtroo/kanata — Kanata is a cross-platform keymap engine and keyboard firmware emulator that intercepts physical keystrokes to output… tmk/tmk_keyboard — tmk_keyboard is keyboard firmware for AVR and Cortex-M microcontrollers designed to handle key matrix scanning and HID… manna-harbour/miryoku — Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of… peng-zhihui/helloword-keyboard — HelloWord-Keyboard is a modular keyboard hardware framework and a system for integrating interchangeable interaction…