Skip to content

This is fork of UHK's firmware featuring extended macro engine.

License

Notifications You must be signed in to change notification settings

giulianob/firmware

Repository files navigation

Ultimate Hacking Keyboard firmware with extended macro engine

This is a fork of UHK firmware. This custom firmware provides extended macro engine. Namely, we allow a set of simple commands to be used in text macro actions. These commands can be used to reach functionality otherwise unavailable via agent.

Overview

Compatibility

This firmware is 100% compatible with the original unmodified agent. All you need is to flash the modified firmware to your UHK. Configurations won't get lost in case you decide to switch back to official firmware, or if you then again flash the modified version too, since config formats were not altered in any way. (Extended macros will just not work when used within the official firmware, obviously.)

Features

The firmware implements:

  • macro commands for (almost?) all basic features of the keyboard otherwise unreachable via agent.
  • macro commands for conditionals, jumps and sync mechanisms
  • some extended configuration options (composite-keystroke delay, sticky modifiers)
  • runtime macro recorder implemented on scancode level, for vim-like macro functionality
  • ability to run multiple macros at the same time

Some of the usecases which can be achieved via these commands are:

  • ability to mimic secondary roles
  • ability to bind actions to doubletaps
  • ability to bind arbitrary shortcuts or gestures
  • ability to bind shift and non-shift scancodes independently
  • ability to configure custom layer switching logic, including nested layer toggling
  • unlimited number of layers via referencing layers of different keymaps
  • flow control via goto command
  • 32 numeric registers
  • runtime macros

Documentation

For more info, please see MACRO_DOCS.md.

About

This is fork of UHK's firmware featuring extended macro engine.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.5%
  • Makefile 2.0%
  • Other 0.5%