Keyboards for Professionals: Moonlander vs. the Ultimate Hacking Keyboard

I’ve been using the Moonlander from ZSA for nearly 2 years now, but with the prospect of returning to an office I needed another keyboard to keep at work so decided to order the Ultimate Hacking from Ultimate Gadget Labs.

This post is a comparative review of the two, focusing on the things that matter to me as a software engineer and someone using a keyboard for a lot of typing every day. While the mechanical keyboard community are a great source of information about products, they often have a hobbyist focus that doesn’t quite fit with my use-case. This review will therefore have a slightly different focus.

Let’s get into it…

Feature set

Both keyboards come with a lot of features and functionality, including:

  • Split keyboard design
  • Tilting/tenting for better ergonomics
  • Highly configurable keymaps with features like mouse emulation
  • Hot-swappable keys, high quality key switches
  • Configurable per-key lighting
  • USB-C interface and cable, with included USB-A adapter

The Moonlander comes with a carrying case and adjustment tool.

The UHK does not come with anything additional, but has a range of accessories and spare parts available for purchase. I got the palm rests, key cluster module, and trackball module. I also configured the UHK with the ISO layout and the blank keycaps.

Both include the same white-labelled tool that every other keyboard, keycap set, and keyswitch set has come with for years. It’s nice that it’s included for anyone who is purchasing their first mechanical keyboard, but I can’t help but feel it’s unnecessary for many, and fails to live up to the quality of the rest of the product.

I opted for Kailh Gold speed switches on the Moonlander – tactile, high actuation point, low actuation force. On the UHK I have Kailh silent box brown switches – tactile, low-noise, low actuation force.

Build quality

For the most part the build quality is very good, but falls short of companies with the best build quality. If you’re used to plastic construction computer accessories you’ll be very satisfied with the overall quality, but if you’re used to Apple products with metal construction you may be slightly disappointed, although I don’t feel like that difference is particularly consequential.

The body of the UHK feels marginally higher quality than the body of the Moonlander. This may be due to the metal base plate used in the UHK, although it’s possible the Moonlander has a metal base plate hidden inside. On a desk, the UHK feels very stable, whereas the Moonlander can feel slightly unstable depending on how it’s tented. I was however slightly disapponted with the connection between the halves of the UHK, which doesn’t have quite the magnetic snap that I was hoping for. I doubt this will matter though as I intend to use it split all the time with modules.

As for UHK accessories, the palm rests are wonderful, solid hardwood on a strong metal plate, and by far the highest quality piece of the setup. The modules feel slightly less solid than the rest of the setup, and in particular the trackballs on the trackball module and the keycluster module feel loose, to the point where they can jump around affecting the tracking slightly. The trackball module comes with a few options, including a metal ball weighing around 7g compared to the ~1.5g plastic balls – using this significantly improves the trackball module’s usability.

The last thing I noticed about the UHK’s build quality was USB-C socket that sits underneath the body. As someone who will likely move my keyboard on a regular basis this feels awkward, and I can’t help but think that a USB-C socket mounted on the outside of the keyboard would have been better. I’ve solved this by purchasing a magnetic, magsafe-style USB-C cable.

On to the Moonlander, the lack of accessories means there isn’t a lot to talk about, but there are a few things I felt could have been better. The palm rests feel unstable and rattle a little on all the Moonlanders that I have seen. The cable that connects the two halves is a plastic TRRS cable that’s very long. While it’s great that the cable is long, I suspect that most people use the halves within 20cm of each other, so a coiled cable would have been a nice touch. I’ve looked into replacement cables, but options are limited for TRRS. Braided cables are also an easy way to make a product feel more premium, and for the price point of the Moonlander I think it’s something they should consider.

The last thing to mention is the Moonlander’s “carrying case”. While on paper this sounds helpful, the reality is less so. It provides little protection to the keyboard, and requires fully de-tenting the keyboard to use making it impractical for frequent use. It’s better than nothing, but probably no better than purchasing an Amazon Basics laptop sleeve, and is of similar quality.

As mentioned, both keyboards have a good build quality and I think most people would be happy with either, but neither is without faults. For the base models, the UHK is slightly better, but accounting for the palm rests the UHK has a clearly superior build quality.

Hardware layout and comfort

One of the biggest differences between the keyboards is the fact that the Moonlander is an ortholinear layout, while the UHK is a more traditional staggered layout.

The Moonlander’s layout took a bit of getting used to, but having done so I now have a minor preference for ortholinear layouts. I find the thumb clusters to be well positioned when in a tented configuration, although I have heard from people who find the keys hard to reach. I suspect the bigger hands you have the better. Something that’s great about the Moonlander is the number of keys that it has. There are plenty for binding to shortcuts and macros, without even needing to introduce more configuration layers.

The UHK’s layout is a great compact layout, and I can’t imagine a better layout for the number of keys in a non-ortholinear layout. My main criticism is that the optional modules are angled directly inwards along the keyboard’s X axis, rather than being angled towards the thumbs, which I think would make them easier to hit.

This brings us on to the comfort. Comfort is a priority for me given how much I type, and I find both of these keyboards far more comfortable than regular non-split keyboards, or those without tenting or tilting options.

The Moonlander allows for more control over the tenting than the UHK, but has limited ability to tilt forward, a position many favour for ergonomics. It also allows for more extreme tenting than the UHK can manage. However it is more limited than I expected. The fact that both the leg and key cluster are load bearing means that the range of positions for each is dictated by the other to a large extent.

The UHK comes with feet that allow tenting or tilting to a reasonable degree. There’s less control than with the Moonlander, but it’s enough to be comfortable.

Overall, when it comes to key layout it’s really down to whether you prefer regular or ortholinear layouts. Despite the caveats of hard to reach thumb controls, I think both the UHK and Moonlander are comfortable keyboards to use and would strongly recommend either over any other keyboard I have used.

Configuration options

The Moonlander uses the popular QMK firmware, so essentially supports configuration of everything possible with QMK. The UHK on the other hand uses its own custom firmware. Because of this, the Moonlander is a fair bit more configurable than the UHK.

Both allow customisation of key presses, different behaviour for tapping and holding, macro support, and configuration of the speed and acceleration for mouse keys. On top of this, the Moonlander also allows for considerable customisation of the lighting, and the creation of up to 10 key layers. The UHK on the other hand comes with a fixed 4 layers (base, mod, mouse, fn), and uses a static lighting setup based on the types of keys.

While the UHK is certainly more limited, the ways in which it is limited have not affected me. I’ve never had need for more than 3 layers on the Moonlander, and in fact I prefer the defined layers that the UHK has chosen to have. I have also configured my Moonlander to light keys by the type of key – characters, modifiers, layers, mouse keys, etc – so and the UHK comes with a particularly nice colour palette for these meaning I haven’t felt the need to configure lighting at all.

There is a well supported community variant of the UHK firmware that implements a much more powerful macro system, some of which I believe is making its way into the official firmware. The UHK team are continuously working on the firmware and many more updates are expected.

The Moonlander wins on configuration options, but the UHK still provides excellent customisation options that I think fit well with its targeting of productivity for professionals.

Default configurations

While both keyboards offer a huge amount of configuration, I think it’s important to look at the default configurations that they come with. This can give us an insight into the motivations of the designers and what their priorities were.

In short, I believe the UHK comes with a far superior default layout for a professional audience. Keys are mostly where you expect them to be, even where there isn’t room for them in the base layer (e.g. ESC in the top left on the Mod layer), the mouse keys are positioned well for most users being on the right hand side, the Mod layer comes with thoughtful shortcuts like browser tab switching, and even the obscure keys that most people don’t need or use like Scroll Lock are included. The layout feels well targeted towards productivity.

This is a noticeable contrast to the Moonlander’s default layout which feels targeted towards showing off as much of the keyboard’s functionality as possible. It dedicates 11 keys to controlling the lighting, it overloads the Z key to be a Control key when held down, and it includes a dedicated key to capitalise the next word. The latter two here are useful features, but not necessarily ones that most users will want configured in the way they are. The layout also has numerous drawbacks – many keys are in radically different places to what most users will be expecting, including most modifier keys, space, and return. Arrow keys are confusingly not situated together, and the mouse keys are bound to the left hand side, something that right handed users are likely to find challenging.

Despite having the Moonlander for a few years, I’ve never quite been happy with my layout and always felt it needed tweaking. Substantial parts of the UHK’s default layout immediately felt comfortable and useful, and gave the impression that someone has spent a long time thinking about this layout and put a lot of effort into making it the best it can possibly be. I’ve made quite a few modifications, but none that I’d consider to be superior for all users than the default.

The Moonlander’s choice to go with a layout that shows off functionality rather than being immediately useful is not necessarily the wrong choice. For a product with such customisation potential, it’s reasonable to expect that most users will be making use of the customisation, and so showing the possibilities is a good idea. However, the UHK’s layout being productivity focused speaks to the motivations of the designers, and by shipping such a well thought out layout I think it provides a better foundation for users to learn what works well.

Firmware flashing

When I started planning this post, shortly before my UHK arrived, I even consider writing this section. Flashing new configuration for the Moonlander is a straightforward process: you download the new firmware from the configuration tool, open the flashing tool than needs to be installed locally, drag and drop the firmware, click “flash”, press the reset button on the keyboard with a paperclip, wait about 5 seconds, and it’s done.

I don’t mean to imply sarcasm with this description, it’s a process that mirrors many others for different hardware, and was exactly what I expected for both the Moonlander and the UHK.

This is not how flashing works with the UHK. After changing configuration you simply click the “Save to Keyboard” button, wait about a second, and it’s done. It’s magical. I don’t mean that it’s magic – the fact that the configuration software is a local application rather than a web application means that there’s no need for a separate flashing tool. The process however feels magical, and completely transforms the configuration experience.

The deeper I get with configuration, into things like the pointer acceleration for mouse keys, the more I find that I can’t know whether configuration is right or useful without trying it and seeing how it feels. With the Moonlander’s many step process for flashing a new configuration, the feedback loop is long, making changes harder. With the UHK, re-flashing is so low friction that the feedback loop is practically instant. For anyone planning to change their configuration on a regular basis this is an advantage to the UHK that is hard to overstate.

Ordering and support

Ordering the Moonlander was like most other online purchases, it was dispatched within a few days of being ordered, and arrived a few days later than that. The UHK was sadly not quite the same, taking just under 10 months to arrive from the date of ordering. The company Ultimate Gadget Labs are working hard to catch up on orders, and are making progress, but between supply chain issues, Covid, and various other slowdowns, this has been a slow process. I suspect that the UGL team are much smaller than the ZSA team, and between this and the UHK being manufactured in Hungary vs the Moonlander being manufactured closer to suppliers in Taiwan, it’s understandable that there have been delays.

Hopefully the worst is behind UGL and they’ll be caught up soon. For now, I’d recommend that those ordering the UHK do so with the full understanding that they may be waiting many months.


I was very happy with my Moonlander for 2 years, and still find it to be a good keyboard that is comfortable and nice to use, but the UHK has soundly taken the spot as my favourite piece of computer equipment, it’s just a joy to use.

There are places where the Moonlander comes out on top – configuration, purchasing, and price – but the UHK has fewer shortcomings, and surprised me by being substantially better on factors I hadn’t even considered before – the design of its default configuration, and the ease and speed of firmware flashing.

If you’re in the market for a high quality keyboard from a team that cares deeply about productivity in professional use, the UHK is unparalleled and I would highly recommend it. However if the drawbacks I’ve mentioned are concerning for you, or if the price is just too high, the Moonlander is a great alternative.