features

Agent 4: Module configuration and advanced typing settings

Hi there, and welcome to this UHK update!

We've released Agent 4, which features dedicated module configuration pages, a new "typing behavior" page, and additional settings on the "mouse key speed" page.

I think it’s a huge release because even though the newly exposed settings were available via smart macros, I’m sure many of you didn’t use them due to their complexity. Now, they’re super easy to use.

If you use smart macros that already set the newly exposed settings, they’ll overwrite these settings, so make sure to delete the related smart macro commands.

Now, let me show you the settings pages.

Module configuration

Notice the puzzle icons just above the modules. You'll be taken to the relevant module configuration page if you click on one of them. Alternatively, you can click on the desired module under the Modules menu in the side menu.

A lot is going on, but fear not; hovering over the little question mark icons reveals tooltips that explain the settings.

You can adjust the speed and acceleration of modules and fine-tune axis locking settings to prevent unintended movements on the non-dominant axis while scrolling or using the caret mode. There are also some module-specific settings. Most notably, you can tweak the touchpad's pinch-to-zoom and drag-and-drop behavior.

On the right side of the screen, you can assign per-layer navigation modes. The navigation mode describes what the module does when moving its pointer device. For example, the cursor mode moves the mouse cursor. The scroll mode scrolls, just like the scroll wheel of a mouse. The caret mode moves the text cursor, which is useful in editors.

Typing behavior

The advanced secondary role resolution strategy is useful if you want to use secondary roles on alphanumeric keys, in which case the simple resolution strategy tends to interfere with writing.

With the keystroke delay setting, you can add artificial delay to keystrokes, which can be useful for some applications, especially for RDP clients that have problems accepting fast input.

Mouse key speed settings

The newly added axis skew settings allow you to move/scroll faster horizontally than vertically or vice versa, which can be useful for ultrawide monitors or moving through multiple workspaces.

When moving diagonally with mouse keys, vertical and horizontal speeds add up. However, when checking the "compensate diagonal speed" option, the diagonal speed will match the horizontal/vertical speed.

Further improvements

In addition to the above, the firmware keeps evolving. It now automatically recovers from occasional trackpoint drifts after a few seconds, and we've improved compatibility with some KVM switches.

I hope you're as excited about these developments as we are and that they'll make your UHK even more useful. Speaking of the UHK, we have stock of every product and ship in a week, so don't delay; buy today.

Talk to you later!

Per-key backlighting is here

TL;DR: Update to the newest Agent and set the backlighting of keys to your heart's desire!

The UHK 60 v2 has been supporting functional backlighting from the get-go, which is loosely speaking per-key backlighting, but functional backlighting colors are tied to the configuration of keys, so it hasn't been possible to set colors independently of key mappings until now.

Let's see how to use Agent's new and shiny (pun clearly intended) per-key backlighting feature.

First, update to the newest Agent and let it update your firmware.

Next up, navigate to the new "LED settings" page.

In the "Functional backlighting colors" section, you can adjust the eight functional backlighting colors if you want to stick to functional backlighting.

The newly added "LED fade timeout" option disables the LEDs after the specified idle interval. (This option has been available as a smart macro variable).

If you want to finally switch to per-key backlighting, choose the "Per-key backlighting" option in the "Backlighting mode" section of the page and check out one of your keymaps.

As you can see, there's a color palette on the top of the page, and by default, all keys are white. Now let's pick a color and start painting.

When hitting the "Save to keyboard" button, the colors will be updated on your UHK. Key colors are saved per keymap and per layer.

You can easily add new colors, adjust existing colors, and remove any colors. Just hover over the palette, and read the instructions in the tooltips.

When the paint mode is inactive (none of the colors are checked), you can drag key colors to the palette to overwrite existing palette colors or add new colors.

Talk to you later!

How to use modifier layers

Let's say you want to map Ctrl+C to Shift+1.

First up, add the Shift layer to your keymap:

On the Shift layer, map the 1 key to Ctrl+C:

The modifier layer (in this example, the Shift layer) automatically becomes active when you press the relevant modifier key. If a key on the modifier layer is unmapped, the UHK will fall back to the base layer and compose its mapping with the modifier.

You're probably already done, but there's one more thing. By default, modifier layers can be activated by both left and right modifiers. If you want to use only the left or right modifier to activate a modifier layer, you can change the modifier layer triggers via smart macros:

You're done!

Setting LED fade timeout

Update 2023-08-19: Now the "LED settings" page contains the "LED fade timeout" setting, so you don't have to use smart macros to use it.

Some of you want your UHK to automatically turn off its LEDs after some idle time, which can be configured by setting the leds.fadeTimeout smart macro variable in the $onInit macro as follows.

You can learn more about smart macros.

We realize that this setting is not as accessible as it should be, and we'll make it easier to adjust it in later Agent versions.

Agent 2: Next-level UHK and module configuration

TL;DR: Say hi to 12 layers per keymap, module speed and acceleration settings, and loads of advanced features, mostly enabled by the new smart macros functionality of the latest UHK Agent and firmware releases.

I don’t usually write dedicated posts about new releases, but this is a major one, we’ve been working on it for a year, and it delivers a huge punch that can elevate your UHK experience to the next level, so it mustn’t go unnoticed.

A summary of new features to whet your appetite:

  • Extended the original four layers per keymap with four regular layers (Fn2, Fn3, Fn4, Fn5) and four modifier layers (Shift, Ctrl, Alt, Super).
  • All modules: speed and acceleration settings, axis locking settings, per-layer navigation modes
  • Key cluster module: Added the ability to fine-tune or disable the behavior of the mini trackball.
  • Trackpoint module: Fixed occasional trackpoint pointer jumps and made it easy to stop drifting if it occurred.
  • Touchpad module: Implemented pinch-to-zoom, two-finger scrolling, doubletap-to-drag, and made the tap action configurable.
  • Advanced configuration scenarios via smart macros, such as configurable modifier layer triggers, mouse key axis skew, and LED fade timeout
  • Super-advanced configuration scenarios via extended macro commands, such as variables, loops, double tap actions, and runtime macro recording.
  • Implemented N-key rollover.
  • Made accelerate and decelerate actions work with modules.
  • Fixed USB descriptors which caused high CPU load on Macintosh computers.

Let’s go over the main features, but first, install the new Agent. Then it’ll upgrade your UHK to the new firmware.

12 layers per keymap

Instead of 4 layers, you can now have 12 layers per keymap.

You can enable/disable any of the above layers per keymap except for the base layer, which is mandatory.

The Fn2, Fn3, Fn4, and Fn5 layers work just like the existing layers, but Shift, Ctrl, Alt, and Super are modifier layers.

On modifier layers, you can map alternative actions per key, which trigger when the key is pressed with the relevant modifier. For example, now you can implement the Programmer Dvorak layout solely on the UHK.

Credit: “The Case for the Programmers’ Keyboard Layout” by Zachary Johnson

Smart macros introduction

You’re probably already familiar with regular macros, which are a sequence of macro actions, such as keypresses and mouse movements.

Smart macros, however, enable the advanced customization of your UHK and its modules. See the following screenshot, which shows a macro named $onInit containing a command macro action that contains multiple macro commands:

$onInit is a special macro name. It's a macro event that executes each time your UHK gets powered and when you save its configuration.

"set module.trackball.baseSpeed 1" is a macro command that sets the base speed of the trackball module to 1.

Macro commands work in any macros, not only in macro events, and you can bind them to any key. This way, you can make Fn+1 set your trackball base speed to 1, and make Fn+2 set it to 2, for example.

Interactive smart macro editing

Adjusting values by editing text is tedious. This is why we created a smart macro sidebar that can be opened on macro pages. This sidebar contains easy-to-read documentation and provides interactive widgets that make configuration a breeze.

When clicking on a macro command action, the widgets of the smart macro sidebar display the actual values of the commands, and module-specific widgets appear. You just have to interact with these widgets, hit the usual “Save to keyboard” button, and your settings will be applied immediately.

I strongly recommend you delve into these settings, as they can make a huge difference. The default sensitivity settings of the modules are reasonable, but by tweaking them to your needs, you can make them so much more usable. Maybe, just maybe, you can finally get rid of your mouse.

Advanced configuration scenarios

Besides $onInit, there’s also the “$onKeymapChange {keymapId}” macro event, such as $onKeymapChange QWR, which is executed when the QWR keymap is activated.

This event enables you to have keymap-specific settings, which allows for many advanced use cases. For example, different operating systems have different mouse sensitivity. This feature allows you to have different speed and acceleration settings for your mouse keys and modules via different operating system-specific keymaps.

Believe it or not, I’m still scratching the surface. If you really want to go crazy, you can use the set "macroEngine.extendedCommands 1" command to enable the extended macro engine, allowing for variables, loops, and countless advanced commands. If you’re comfortable with delving into manual pages, check out the extended macro engine user guide and reference manual.

Smart macros history and credit

Smart macros have an interesting history, starting out as Karel Tuček’s UHK firmware fork on GitHub.

Karel wanted special firmware features, and he originally (ab)used the text macro actions of Agent by making the firmware interpret the lines starting with the $ character as special commands. He’s essentially implemented a command interpreter in the UHK firmware that allowed for his advanced use cases.

I saw his efforts early on, and I was impressed, but I considered his work quite niche and wasn’t too interested. (In retrospect, I can see that his advanced commands are used and loved by many.)

Then it struck me that smart macros could enable the configuration of many UHK and module features without developing Agent, which is a huge win, as adding new features both to Agent and the firmware takes a ton of work. Exposing new features only via the macro engine of the firmware is so much easier. 

I came up with the idea of macro events and making smart macros a first-class citizen in Agent, then implemented the smart macro sidebar. Karel has implemented the acceleration driver of the modules, macro events, and, nowadays, pretty much everything that has to be done with firmware logic. His work is hard to overstate.

As an interesting trivia, the macro command editor of Agent might feel familiar. This is because we use Monaco editor, which also powers Visual Studio Code. In a way, Agent became an integrated development environment, supporting a special keyboard language whose interpreter runs in the UHK firmware.

The future of smart macros

I eventually want to expose basic smart macro settings, such as module settings or the LED fade timeout, not only via the smart macro sidebar but dedicated Agent widgets for better usability.

Nonetheless, we’ll keep and extend the currently available smart macro commands and settings because they allow for advanced configuration scenarios.

I plan to gradually move the extended macro commands from the current markdown macro documentation into the smart macro sidebar of Agent to make them easier to digest and not hide them behind the set "macroEngine.extendedCommands 1" command.

Closing words

To this day, we’ve released 60 Agent versions and 66 firmware versions, and we’re still going strong. I’m excited about our progress and grateful to our wonderful customers for their support. We keep moving forward because of you.

Thank you for reading this update! As usual, we plan to publish a manufacturing update around the end of the month. Stay safe!

Module testing result and manufacturing progress

Hi there, and welcome to this monthly UHK status update!

TL; DR: We’ve shipped a couple of modules to select testers, and their feedback was very positive, but they’ve also noticed some small issues. PBT keycap and ABS tooling are late, which affects estimated delivery dates. We plan to start shipping the modules around the end of February or March and the UHK 60 v2 around late March.

Module progress

Shortly before Christmas, we finished assembling the following modules and shipped them to select testers.

The feedback we received was very positive but also revealed some new issues. For some testers, the top and bottom parts of the key cluster came apart.

As for the touchpad, some testers pushed the top board into the module case.

Regarding the trackball, we’ve learned during the assembly process that the sealing ring slightly interfered with the ball in some cases, causing the ball to get stuck somewhat. We’ve also noticed that adding a slight pattern to the ball significantly improves optical sensor tracking at high speeds.

We haven’t heard any critiques of the trackpoint, which is unexpected because the spacer that held the top trackpoint part was 3D printed and slightly wiggled. We already had an injection-molded spacer, but we improved it, resulting in lower trackpoint operating force, and the mold hasn’t been modified yet, hence the 3D-printed part. If the 3D printed part was good enough, then the final molded part will be great.

We’re also removing a small plastic part that connects the two case buttons of right-handed modules based on tester feedback. This way, the buttons will be easier to press along their entire surface. The small plastic part was needed for the 3D-printed button prototypes to be sufficiently rigid, but injection-molded plastic behaves much better, and we’re better off without this part.

Luckily, all of the above issues are easy to fix by tweaking the molds, and our contractor is working on the fixes.

It’s fair to say that we’ve learned a ton from the testers’ feedback and the module assembly. I think we’re at a point where apart from the above fixes, the module hardware is excellent and cannot be improved significantly.

Our mold making contractor expects to update the module molds by the middle of February, and UHK 60 v2 mold modifications are expected to get ready by the beginning of March.

Keycap progress

Our PBT keycap supplier has finally sent us samples for approval. The majority of the keycaps’ shine-through performance is excellent, except for a handful of keys, including Space and Mod.

Several UHK 60 v1 owners wanted consistent key cluster keycaps, and as a result, we will also provide ABS keycaps for the key cluster. Our ABS keycap supplier is ready with convex 1U keycap molds, and we’ll ship every key cluster with both PBT and ABS keycaps. We expect to discontinue ABS keycaps for the key cluster in the far future, but now they’re included for free.

Our PBT keycap supplier recently told us that they can only provide the keycap sets in late March, which surprised us quite a bit. Previously, we only used ABS keycaps, which weren’t subjected to such delays.

As it turns out, manufacturing high quality, custom PBT keycaps of excellent shine-through performance is much more time consuming and complicated than making laser-engraved ABS keycaps, hence the delay.

We’re pushing our supplier to provide at least the key cluster PBT keycaps in March, enabling us to start shipping the modules sooner. Unfortunately, the UHK 60 v2 PBT keycaps will have to wait until the end of March despite our best effort.

Module configuration options

Agent’s master branch can already visualize the modules in real-time, and remapping them should be possible soon. The following screenshot is a work-in-progress, but you get the idea.

Remapping the modules, however, is not sufficient to make them live up to their full potential.

It can be difficult to hit small targets or take too much effort to make large motions with the pointer when using the modules. That’s where speed and acceleration settings come in. The speed setting is a linear multiplier, and the acceleration setting is an exponential multiplier. We’ve been already playing around with these values, and they make a world of difference.

When it comes to module usability, another critical feature is navigation mode, which determines what modules do when using their mousing instrument:

  • Cursor mode: moves the mouse cursor
  • Scroll mode: behaves like a scroll wheel
  • Caret mode: moves the text cursor, just like with up/down/left/right arrow keys
  • Media mode: invokes volume up, volume down, previous track, and next track on upward, downward, leftward, and rightward motions, respectively

Speed, acceleration, and navigation mode will be adjustable on a per-layer and per-module basis. So, for example, you’ll be able to make the trackball scroll when the mod layer is active.

By default, the navigation mode of the base, mouse, mod, and fn layers will be set to cursor, scroll, caret, and media mode, respectively, which are sensible and intuitive defaults given these layers’ default behavior.

I can think of a couple more minor options, and I’m sure the community will make further suggestions, but by and large, I’m quite confident that the above configuration options will provide sufficient freedom to achieve excellent usability.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! I’m blown away by Sebastian’s review, Hubert’s chair mount hack, Alex’s custom tenting stand, and all the modded UHKs. Keep it up!

We’ll be keeping you updated on all things UHK and are looking forward to talking to you in late February.

Introducing the UHK 60 v2

Hot-swap sockets, per-key RGB backlighting, double shot PBT keycaps, USB-C, braided cables, and much more - Say hi to the UHK 60 v2!

The previous UHK version, the UHK 60 v1, is out of stock and discontinued. The UHK 60 v2 is expected to ship around the end of January 2021, and you can pre-order yours now. We haven’t raised the price yet, but we will eventually. If you own a UHK 60 v1 and want to purchase accessories, be sure to read the “UHK 60 v1 parts availability and compatibility” section at the end of this update.

Regarding the modules, we’ve upgraded every key cluster module pre-order for free to per-key RGB backlighting, hot-swap sockets, and double-shot PBT keycaps. All the modules are fully compatible with both the UHK 60 v1 and the UHK 60 v2, and firmware upgrades will be released as usual. We expect the first injection molded parts of every module type to be ready in a week, at which point we’ll publish a dedicated update about them. In the meantime, please read the “Hot-swappable, backlit key cluster module” and “UHK 60 v2 timing rationale” sections below.

A little history

Our first keyboard, which you know as the Ultimate Hacking Keyboard, or more precisely as the UHK 60 v1, has been exceptionally well received. But it's been three years since we started mass production, and based on your feedback, we could make it even more powerful.

That is why we've been working over the last few years to take the UHK to the next level, keeping all you loved and adding everything you yearned for. The result is the UHK 60 v2, and we're super excited to unveil it now. If you liked the v1, you will love the v2.

I'll list all the improvements we've made, so you'll know if it's time for you to upgrade or purchase your first UHK. Fasten your seatbelts for this long ride.

Hot-swap sockets

Hot-swap sockets have been becoming increasingly popular in recent years. It's no surprise because they enable switch swapping, which makes replacing faulty switches or installing alternative switches a breeze.

Speaking of replacing the switches of your UHK, we include a combined keycap and switch puller with every UHK 60 v2.

Regular, box, and silent switches

We can no longer offer the same switch types for the UHK 60 v2 that we provided for the UHK 60 v1 because they're not backlit-compatible. We also wanted to expand our switch range to offer a wider selection of quality product options. See the following switch matrix.

Let us first look at the vertical axis of the matrix. You're already familiar with regular MX switches, as their non-backlit version was available for the UHK 60 v1 and countless other keyboards. As for the box switches, they're my personal favorite. They feel more precise; they're better protected from dust and, in my opinion, offer a better typing experience. Last but not least, the silent switches make your UHK more bearable in noise-sensitive environments at the expense of some mushiness.

As for the matrix’s horizontal axis, I think clicky switches are the best typing choice, but your environment may not tolerate their noise. Gamers often prefer linear switches, and tactile switches are the best middle ground between typing and gaming.

The above switches are all made by Kailh. Currently, we offer every UHK switch option for the same price, but this will likely change eventually because some switches are considerably more expensive than others, especially the silent ones.

Double shot PBT keycaps

We have provided laser-etched ABS keycaps for the UHK 60 v1. Most were happy with them, but some pushed for PBT keycaps, and understandably so, as unlike ABS, the surface of PBT keycaps never gets shiny with use, and their legends never fade.

The parallel lines you can see on the above photo are the signature sign of double-shot keycaps. It's worth mentioning that these keycaps are best-in-class double shot PBT keycaps which offer unmatched shine-through performance, and the custom legends are easy to read even when they're not backlit.

The keycaps' side legends are here to stay, but they will be silk printed this time because laser-etching on PBT would have been very dark.

New keycap options

We've changed the keycap printing options for the UHK 60 v2. For the UHK 60 v1, you could choose Linux, Mac, Windows, Blank option, and ANSI vs. ISO was available as a separate option, resulting in 4 x 2 = 8 possibilities.

For the UHK 60 v2, you can select English US (ANSI), English UK (ISO), Blank ANSI, or Blank ISO. Being a backlit keyboard, we implemented the blank option by placing small translucent dots on every keycap. All these keycap options are made of double-shot PBT.

Functional per-key RGB backlighting

RGB backlighting needs no introduction, as you’ve probably seen countless backlit keyboards. The way the UHK uses RGB, however, is unique.

When I was thinking about adding RGB backlighting to the UHK, I had mixed feelings. I’ve seen loads of keyboards that tried to stand out by being flashy and utilizing all kinds of fancy colorful animations. In the true spirit of the UHK, it’s a professional tool, not a Christmas tree ornament, I thought, so I implemented what I call “functional backlighting.”

Based on the actual keymap and layer in use, every key has a function, and the keys light up according to the color of their function. See the following video.

As you can see, regular alphanumeric keys are white, modifiers are light blue, layer switcher keys are yellow, shortcuts are dark blue, mouse actions are green, macros are purple, keymap switch actions are red, and unused keys don’t light up. This color scheme is useful for learning what the keys of your UHK do, and Agent will allow you to configure the colors.

USB-C connector, adapter, and cables

USB-C needs no explanation as everything comes with it these days. What might not be so evident to some is that USB4 is on its way, and both ends of the USB cable will feature USB-C connectors. Naturally, we want the UHK 60 v2 to be as future-proof as possible while providing backward-compatibility.

As you can see, we offer a USB-C to USB-C cable with a USB-C to USB-A adapter, so you’re covered no matter what.

Unlike the USB cable of the UHK 60 v1, the new USB cable doesn’t have a ferrite choke at its end near the UHK, so it’s slimmer and also braided. For the sake of consistency, we’ve also braided the bridge cable.

We’ve made several improvements to USB connectivity besides simply switching to USB-C. The new USB connector is closer to the back side of the UHK, so it’s much easier to access it than the previous USB Mini-B connector, which sat deeper. And the redesigned cable recess mechanism should be more gentle with the cable and maximize its lifespan.

Hot-swappable feet

UHK 60 v1 feet were fixed by screws, and the legs had to be inserted into feet bases after screwing. This solution was reliable and worked well, but the feet’ installation and removal were quite time-consuming and demanding. This mechanism also discouraged experimentation with different setups, such as tenting versus negative-tilting.

The redesigned feet mounting mechanism makes all the difference as the legs are pre-assembled into the bases. You only have to gently insert the feet into the newly created recesses of the back of the UHK, then turn them clockwise. You can simply remove the feet by turning them counterclockwise.

Removable palm rest

The palm rest had to be screwed to the UHK just like the feet. Screwing it was less of an inconvenience than screwing the feet, but it’s still useful to easily remove the palm rest for transportation, so now it’s possible.

You only have to screw a pair of plastic bolts per keyboard half into the existing bronze inserts of the UHK once. Then you can simply pull the palm rest apart from the UHK to unmount it and mount it in the opposite direction. If you want to use your UHK flat, the plastic bolts are not in the way.

Hot-swappable, backlit key cluster module

Although this is not a module update, it wouldn’t be complete without mentioning that the key cluster has also been upgraded to hot-swap sockets, per-key RGB backlighting, and double shot PBT keycaps. This free upgrade includes every key cluster pre-order ever made.

Regarding switch options, the switches of existing key cluster orders remain unchanged, but new key clusters are only available with the new switch types mentioned above going forward. Feel free to purchase alternative switches from any shop and replace them.

Production progress and ETA

The design and procurement of the UHK 60 v2 have been underway for years, and it’s very close to completion. We have already had the product FCC and CE certified, had the first batch of PCBs manufactured, ordered almost all parts, and the firmware is working with Agent.

The main thing that’s missing is the modification of the mold of the UHK case. The modifications will be barely visible from the outside except for the USB-C connector and the recess for the USB cable, but they still take some time. Our mold making contractor is busy with the module molds and expects to have the UHK 60 v2 mold ready by about the end of January 2021.

Another contractor is working on PBT keycap and keycap legend tooling, which are nearing completion and should be done well before case mold modifications.

UHK 60 v1 parts availability and compatibility

We’re committed to supporting UHK 60 v1 owners for as long as possible, so let me elaborate on parts availability and compatibility.

The v1 palm rest is discontinued, and you can only purchase the v2 palm rest going forward. We’ve only changed the palm rest’s base plate, which is only compatible with the new hot-swappable v2 feet. So if you’re a UHK 60 v1 owner looking for a palm rest, purchase the v2 palm rest and v2 feet. This way, your UHK 60 v1 uses v1 feet, and your v2 palm rest uses v2 feet. Similarly, if you already have a v1 palm rest, you can use it with the UHK 60 v2, in which case the v1 palm rest uses v1 feet, and the UHK 60 v2 uses v2 feet.

We have an extensive inventory of v1 feet and black v1 cases that will likely last for years to come. These items are incompatible with their v2 counterparts, and you can purchase them in the “UHK 60 v1 parts” section of our webshop.

The UHK 60 v1 keycap set is discontinued. Still, you can purchase the new UHK 60 v2 PBT keycap set for your UHK 60 v1 or wait a few weeks until we announce the availability of the UHK 60 v1 backlight upgrade kit in a dedicated newsletter.

UHK 60 v2 timing rationale

Some of you who are waiting for your pre-ordered modules may be frustrated that we started to develop the UHK 60 v2 before delivering the modules. This timing is because we wanted to take our technology stack to the next level as soon as possible. As a direct result, we were able to upgrade the key cluster module, which benefits everybody.

Alternatively, we’d have to release the key cluster module as originally envisioned without all these improvements, then release another version with the upgrades. We knew we’d implement these upgrades anyway, so we’ve taken a bigger leap forward.

Rest assured, the funds required to release the modules have already been allocated for them, so we’re not using the funds of module pre-orders to develop the UHK 60 v2.

Thank you for your patience as we move forward with production. We’re confident the chosen path results in a more capable product line.

Closing words

If you’re still here, then you’re one of the brave few, and we appreciate your interest. This update was probably the longest I’ve ever written, but there was a lot of ground to cover, and I wanted to leave no stone unturned. 

The UHK 60 v2 is the culmination of all our experiences, and it’s been a huge effort to make it happen. It packs quite a punch, and it’s the best value we’ve ever provided, especially while we don’t raise its price. If you’ve been on the fence, it’s time to pull the trigger.

We’ll be keeping you updated about the UHK 60 v2 in our monthly updates, and I’ll publish an update about the modules in about a week.

Right-side module mold progress, part two

Hi there, and welcome to the monthly status update of the UHK!

TL; DR: Machining of the right-side module molds is still underway, and it's taking longer than expected; hence, we’re now estimating that modules will begin shipping closer to the end of November In the meantime, we keep testing the modules, making small refinements, and improving their firmware.

Our contractor has been making further progress with the right-side module molds.

I spoke to our contractor yesterday. Unfortunately, the production of the molds is taking more time than originally anticipated, so we now expect to begin shipping the modules towards the end of November.

Understandably, production delays are always unwelcome. However, I know that the molds take so long because our contractor is doing his best in terms of quality. If you have been following us for a while, you know that the UHK was also delayed, and the reception was overwhelmingly positive. I’m firmly convinced that the modules will receive the same reception as the UHK with the care we give them.

We use the extra time available to us wisely and spend these days obsessing over the details of the modules. For example, we noticed that the mini trackball PCB of the key cluster module interfered a bit with the lower right keycap when pressed at certain angles, so we slightly modified the PCB. We also saw that the FPCs are very sensitive to sharp bends, so we redesigned the affected parts mechanically to minimize the bending.

The extra time allows me to polish the firmware and add more features. Recently, I implemented two-finger tapping and scrolling for the touchpad, and zooming is now also recognized. As for the trackball, I've just noticed that it's possible to double the resolution of the trackball sensor IC, which allows a higher sensitivity. These developments will improve the overall experience of the modules.

Speaking of the trackball, some of you have asked whether it's possible to clean the ball quickly. I'm happy to say that it only takes seconds to rotate the outer ring around the ball, which releases the ball.

As for the modules, some of you asked if the modules will remain firmly attached to the keyboard when it’s tented. The answer is a resounding “yes” because the precision-milled steel guides of the UHK keep very stable under all circumstances.

We’ll keep you informed about the development of the modules every month. They may take a while, but we work very hard to make them worth the wait.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you around the end of October.

Right-side module mold progress

Hi there, and welcome to the monthly UHK status update!

TL;DR: Machining of the right-side module molds is well underway, and we should have plastic parts by the end of August. We keep developing the UHK firmware and Agent, and it’s worth updating - not just because of module support.

Our contractor has been making solid progress with the right-side module molds.

If everything goes as planned, we’ll have injection-molded right-side module plastic pieces by the end of August, and we’ll start shipping the modules in September.

We’ll be keeping you updated on a monthly basis, and feel free to change your shipping address any time.

Agent and firmware progress

We’ve been publishing about one Agent and one firmware release per month over the past couple years. These releases contain numerous improvements, so feel free to check out recent Agent releases and recent firmware releases to see them along with their changelog. Also make sure to star these projects to get notifications about their activity on GitHub.

Regarding the firmware, it’s worth mentioning a recent fix which made the UHK play nicely with Ryzen PCs. Previously, in some cases, the UHK only worked via USB hubs when connected to Ryzen PCs. Strictly speaking, the UHK firmware was actually bug-free in this respect. The Ryzen platform just happens to be unreasonably picky regarding USB descriptors.

Speaking of Agent, a new feature makes key swapping extremely easy. You just have to drag a key to another key to swap them.

Now we’re working on making Agent handle the modules. Agent will display the actual state of the UHK just as previously demonstrated, but with the modules included. This will result in a very seamless and intuitive experience.

Your tweets

You guys keep sending your awesome tweets, and we're always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-09-15.

Every module prototype is functional

Hi there, and welcome to the monthly UHK status update!

TL;DR: The trackpoint and touchpad modules are functional, and we’ve got demo videos. The mouse mode of the UHK is usable to create digital art. Agent had a Linux security bug, so it’s worth upgrading.

Module demos

This update is quite late, but I think it’s the coolest one so far. I’ve been knee-deep in the firmware of the modules recently which bore some delicious fruits… I mean functional modules.

The trackpoint turned out great, and it’s very precise. Thanks to the dexterity of the thumb, I find the usability of the trackpoint module to be excellent despite the unusual trackpoint nib position compared to other trackpoint implementations.

The touchpad is also finally usable now. It’s excellent for swift, long distance movements, but it has to be optimized a bit more for precision movements. The touchpad IC has numerous parameters, so my hopes are high that precision control can be sufficiently improved purely on the firmware side.

For the sake of completeness and comparison, see the trackball module demo, too. This demo was featured in our previous update.

As you can see, all of the four module prototypes are functional. This is a huge milestone as far as the modules are concerned. Now that we have functional prototypes, it’s time to mass produce them.

Mass production will take a number of steps such as creating tooling, procuring parts, doing EMC tests, and minor manufacturing optimizations - just to name a few. Luckily, many of these steps can be done in parallel, but they’ll still take months. We’ll announce an ETA in our next monthly update.

Creating digital art with the UHK

Speaking of mouse control, although not as capable as the modules, let’s not forget about the venerable mouse layer of the UHK, as it’s very powerful for what it is. So much so that apparently it’s possible to create digital art with it. Give it up for Brandon Yu, who’s about to demonstrate the seemingly impossible.

I don’t know about you, but I’m officially blown away by Brandon’s skills and talent. Brandon also happens to be a game developer, so feel free to get in touch with him on Twitter.

New Agent features and security fix

Bill Gates used to say that 640K ought to be enough for everybody. I’m here to say that 32K is enough for every UHK user. Well, as far as the on-board memory of the UHK goes.

Now that Agent shows the allocation of the on-board EEPROM memory of the UHK, it’s easy to see that about 4K is used by the default configuration of the total 32K. Even if you have dozens of keymaps and macros, it should still be enough.

If you take another look at the above picture, you can notice the newly added configuration history section. Every time you save your configuration, a new entry gets created here, and you can restore any previous configuration with a click of a button.

Last, but not least, we’ve fixed a major security bug which affected the Linux versions of Agent. We suggest installing the latest Agent version which will fix the affected udev file upon starting it. Mad props go to Joel Eriksson of ClevCode for spotting this one!

Your tweets

You guys keep sending your awesome tweets, and we’re always eager to read and feature them! If you got your UHK, please share your love!

We’ll be keeping you updated on all things UHK, and are looking forward to talking to you on 2020-03-10.

Title