This repository contains libraries for building a Hall-effect keyboard firmware and is exclusively designed for the STM32F446xx microcontroller.
- Analog Input: Customizable actuation point for each key and many other features.
- Rapid Trigger: Register a key press or release based on the change in key position and the direction of that change
- Continuous Rapid Trigger: Deactivate Rapid Trigger only when the key is fully released.
- Null Bind (SOCD + Rappy Snappy): Monitor 2 keys and select which one is active based on the chosen behavior.
- Dynamic Keystroke: Assign up to 4 keycodes to a single key. Each keycode can be assigned up to 4 actions for 4 different parts of the keystroke.
- Tap-Hold: Send a different keycode depending on whether the key is tapped or held.
- Toggle: Toggle between key press and key release. Hold the key for normal behavior.
- N-Key Rollover: Support for N-Key Rollover and automatically fall back to 6-Key Rollover when the host does not support NKRO.
- Automatic Calibration: Automatically calibrate the analog input without requiring user intervention.
- EEPROM Emulation: No external EEPROM required. Emulate EEPROM using the internal flash memory.
- Web Configurator: Configure the firmware using hmkconf without needing to recompile the firmware.
- Bootloader: Optional UF2 bootloader for firmware updates over USB.
- Gamepad: Support for gamepad functionality.
- Tick Rate: Customizable tick rate for Tap-Hold and Dynamic Keystroke.
- Microcontroller Support: The firmware is designed exclusively for the STM32F446xx microcontroller.
- Polling Rate: The firmware is designed to run at 1 kHz polling rate.
- RGB Lighting: The firmware does not support RGB lighting.
Under construction.
- hathach/tinyusb for the USB stack.
- qmk/qmk_firmware for inspiration, including EEPROM emulation and matrix scanning.
- @riskable for pioneering custom Hall-effect keyboard firmware development.
- @heiso for his macrolev and his helpfulness throughout the development process.
- Wooting for pioneering Hall-effect gaming keyboards and introducing many advanced features based on analog input.
- GEONWORKS for the Venom 60HE PCB and inspiring the web configurator.