Skip to content

peppapighs/libhmk

Repository files navigation

libhmk

This repository contains libraries for building a Hall-effect keyboard firmware and is exclusively designed for the STM32F446xx microcontroller.

Table of Contents

Features

  • 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.

Limitations

  • 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.

Getting Started

Under construction.

Acknowledgements

  • 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.

About

Hall-Effect Keyboard Library for STM32F446RE

Resources

Stars

Watchers

Forks

Releases

No releases published