Software
Open hardware keyboards such as the Ultimate Hacking Keyboard usually have some form of GUI-based configurator for functionality to make the most of the product, and it is all the more important for smaller form factor units such as the 60% UHK. We have seen different takes of such customizations before from other companies, and UHK's version is simply called "Agent." You are directed to it as part of the interactive guide mentioned before and can find the direct link to the installer
here. There is support for Windows, MacOS, and Linux, with the latest Windows release taking up 290 MB once installed and the downloadable executable taking up ~65-80 MB (closer to 80 MB on Windows) depending on the OS. The tool has an active user base on
Github, which is also where you can find a few tweaked builds and the firmware for the keyboard should you need it. There is also
a web demo which does a good job of showcasing what UHK Agent can do, should you want to familiarize yourself without having the actual keyboard yet.
The latest public version from the UHK website is a more stable version of the one the web demo is based on, and has functional macros as an update to before. It is a relatively simple looking configurator, and yet there is a whole lot to see and do here. The UI is definitely a GitHub special, and again, I am more than okay with it given everything is laid out well, with things where I would expect them. With QWERTY being the default option for keyboards today, the default screen is also of the QWERTY layout. This is why the LED display lights up QWR to show the current layout when first plugged in.
Here is a quick look at UHK Agent in action. There are different pages for the various typing layouts for PC (Windows) and MacOS, as well as tabs for the four layers per layout. Each key is mappable to a variety of options, including a keystroke, mouse action, macro, etc. Given the nature of mouse actions available, such as scrolling, there is also a mouse settings page for on-device settings to the keyboard if you need more granular control over the general OS-level settings. You can also set up macros and assign them as seen before, which worked flawlessly in my testing. One thing I did end up doing was to set up different buttons for the left/right/middle mouse clicks, but the rest was fairly well laid out to my preferences by default.