agent

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 production is underway

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

TL; DR: The assembly of the first 400 modules is underway in our facility, and we expect to ship them in about a week. Afterward, we’ll be continuously producing and shipping module preorders as quickly as we can. One of our key contractors has become suddenly overloaded, and as a result, we expect to start UHK 60 v2 production around the end of April. There are a lot of cool demos in this update, so make sure to read it.

Module production

Module manufacturing has finally started, and we’re assembling the first 400 modules, including 100 modules per type. The following photo was taken after surface-mount assembly and shows the module panels:

Unlike the UHK panels, the module panels contain numerous PCBs. The key cluster panel looks like some kind of modern art:

The trackball panel is very densely populated:

It’s interesting to peek into the modules, so here are some pictures of them half-assembled and fully assembled:

The following modules have been assembled so far:

The modules’ look and accuracy have greatly improved since I made the last module demo videos, so I’ve made some new ones. At the end of the videos, you can see the scrolling navigation mode in action assigned to the Mod layer of my UHK 60 v2. This mode makes it easy to zoom through a massive amount of content quickly, and it’s great to skim through documents.

Let’s start with the trackball module.

We’ve tried many different balls, and we’re unsure whether to provide a light black resin ball or a heavier steel ball, so we’ll include both. We may eventually offer only one of these balls based on your feedback. The balls can be quickly replaced without tools, according to the following video.

The new, modified, injection-molded spacer improved trackpoint accuracy, and now it feels more accurate.

Beyond single tapping, the touchpad module supports two-finger tapping, two-finger scrolling, and pinch to zoom, but only tapping is supported at this point. We’ll add firmware support for every one of these actions soon.

Can the modules replace the mouse? It’s a question asked by many, so it’s worth an answer. The modules are a good fit to replace the mouse for regular desktop use, such as web browsing or interacting with applications. If you’re a graphics designer and spend a lot of time in Gimp or Photoshop, a mouse or a graphic tablet is a better choice, though. As for gaming, I think the modules are useful for specific games such as turn-based strategy, but I wouldn’t play fast-paced games, such as first-person shooters with them.

We keep shipping on a first-come, first-served basis, but the first 400 modules will be sent only to non-Crowd Supply backers. The reason for this is that Crowd Supply could potentially cause a weeks-long delay in delivery, and it is vital to get quick user feedback at the start of module mass production.

After shipping the first 400 modules, we’ll fully adhere to our first-come, first-served shipping policy, and we’ll be continuously producing and shipping module pre-orders as quickly as we can. So far, module mass-production has been a smooth ride, but it’s just started, so we don’t have reliable metrics on how long it’ll take to assemble all modules. We’ll provide you an estimate in our next monthly update.

In the meantime, make sure to update your address if you have moved to another location since your order.

Agent progress

Agent has evolved quite a bit recently, and now it’s able to detect every module and configure the actions of module keys and buttons.

A seamless experience of a fully-fledged product is kind of magical, and I believe that the above demo exemplifies it well. You can take a look at Agent’s web demo, which now includes the modules, too. We’re working hard to make the modules not only work for you but amuse you.

UHK 60 v2 progress

Two issues are blocking UHK 60 v2 production: PBT keycaps and plastic parts.

We’ve received a new PBT keycap sample set for approval since the last monthly update. This sample is a definite improvement over the previous one, but some keycaps’ shine-thru performance, especially the convex keycaps’, should be better. Our supplier is doing their best to maximize shine-through performance and provide improved samples soon.

As for the plastic parts of the UHK 60 v2, they’re larger than the modules and can only be molded with a larger machine. We have a great supplier who proved themselves, but due to a sudden influx of foreign orders, they’re quite overwhelmed these days and can only mold UHK 60 v2 parts around the end of April.

Most of you are very patient regarding such delays and primarily concerned about the quality of the final product which we highly appreciate, and we resonate with your mindset. Others are less patient which is understandable. We have dozens of suppliers, and even if one of them introduces a delay, the whole project gets delayed. These delays are often unexpected, and they’re among the top reasons why shipping hardware is so much harder than shipping software. We’ll do our best to push forward. We’re making sure that the wait worths it, and we’ll be keeping you updated.

Your tweets

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

We’ll be keeping you updated on all things UHK and are looking forward to talking to you in mid-April. There’s a lot to do nowadays, so the update may be a bit late, but I’ll do my best.

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.

Major module mold progress

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

TL; DR: Except for small refinements, the molds of the modules are done, and we have some great looking samples to show you. We’ll send a couple of module prototypes to select testers in December. We plan to start module shipment at the end of January 2021. PBT keycap tooling is coming along nicely. Agent now has a dark mode.

The modules look almost perfect from the outside. Minor surface defects result from not using the final injection molding machine and not setting optimal production parameters, both non-issues for the final production run.

Despite their nearly perfect look, some tooling changes still have to be done to the modules. We’ll fine-tune the length of the bosses of the microswitches to achieve optimal actuation force, and some other internal tweaks have to be done to optimize the parts for assembly.

The key cluster plastic parts should be fine as they are, and we don’t plan to make changes to them. The keycaps on the above photo are not final. The final keycaps will be made of PBT, and the bottom two keycaps will be convex.

Due to popular request, we’ll include three extra blank ABS keycaps for every key cluster for no additional cost to make key clusters more consistent with UHK 60 v1 keyboards.

The inner trackball housing needs to be adjusted for the distance between the ball and the optical sensor.

The trackpoint is already working fine, but we’re experimenting with optimal trackpoint cap height, which may affect the inner holder part. We plan to add a nice texture to the big glossy area near the cap. These are minor tooling changes.

The touchpad plastic parts work flawlessly. The golden edge at the left side won’t be visible as the final mylar sheet’s size will be corrected. The marker text which contains the version number of the PCB won’t be featured on the final product.

The above module plastic samples are surprisingly good for a first run. We aim for a second run in December, at which point the samples should be nearly perfect, and we plan to do a third run in January when we expect the samples to be flawless, and we plan to start shipping at the end of January 2021.

Plastic tooling does take more time than anticipated. We’re doing our best to release the modules as soon as we can. We won’t make any quality compromises, however, and the ETA will be extended if needed. We appreciate your continued patience, and we’ll be keeping you updated.

PBT keycap progress

As for the UHK 60 v2, our supplier sent us a photo of production PBT keycap samples.

Almost all custom legends look fine, but Mod, Space, and right Shift will be revised.

Join the dark side

Mad props go to our fabulous contributor, Mikko Lakomaa, as he has almost single-handedly implemented Agent’s dark mode.

Update to the latest Agent version, go to settings, and join to the dark side.

Magnetic USB cable mod

Simon has written an excellent UHK USB magnetic cable modding guide, which you may want to follow.

You can join the conversation on Twitter.

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 in January or sooner.

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.

New Agent release and module progress

Hi there, and welcome to our monthly status update!

TL;DR: We’ve released a new Agent version after a long time without changes. We’ve made a functional key cluster module, and made progress with the trackpoint module.

New Agent release

It’s been a whopping ten months since we released the latest Agent version. We’ve actually been working on Agent since the latest release quite consistently, but weren’t able to publish a release due to the lack of a valid Windows Authenticode certificate. Long story short, we finally have a certificate, and recently released new Agent versions.

Feel free to check out the changelog on the GitHub Agent releases page. We’ve mostly fixed and polished a number of issues. A particularly useful feature is a dedicated Mac pointer speed preset which you should try out if the UHK mouse pointer movement feels slow on your Mac.

We’ve also implemented the fanciest UHK feature to this day: Agent shows whether the UHK is split or merged, and displays whether the left half is connected. Obligatory demo follows:

(UHKs are not backlit yet. We'll release a backlight upgrade kit at some point, and future UHK hardware versions will be backlit.)

Admittedly, this feature is pretty useless in itself, but it’ll actually be useful in the future. The same mechanism will be used to show the modules. Imagine connecting your modules, seeing them show up, and be able to configure them with a click of a button. And talking about modules...

Functional key cluster module

After a fair deal of prototyping, the key cluster module actually works. Again, obligatory demo follows:

You probably noticed the little thingie at the bottom of the key cluster module.

As you can see, it’s an FFC cable. Our current FFC cable manufacturer couldn’t make a cable of merely 13 mm length, so we used a much longer off-the-shelf cable for the time being. I actually doubt whether an FFC cable of such short length can be made, but an FPC (flexible printed circuit) can surely be made. But we’ll probably end up using a rigid-flex board as the best solution.

Apart from the above slight change, there’s another issue. I noticed that the responsiveness of the trackball is lacking compared to the previous prototype. The new, smaller hall-effect sensors are probably not sufficiently sensitive to pick up all the magnetic state changes of the mini trackball.

I wired the old mini trackball breakout board to the key cluster trackball board to be able to test it with the key cluster module, and the change in responsiveness was immediately apparent. The right board is super responsive, and the left one skips the beat very often, especially when moving it quickly.

I think we’ll revert to the previous hall-effect sensor, and try to pack them tighter to be able to fit them on the board.

Trackpoint module

We’ve made progress regarding the interconnection of the top and bottom trackpoint boards. There isn’t enough space for an FFC connector on the top trackpoint board which contains the actual trackball sensor, so the cable needs to be directly soldered to it. I designed an FPC for this purpose, and we plan to use hot bar soldering to affix it to the top board.

I used a soldering iron for prototyping purposes. So far, so good!

This module should work well, and I’m excited to write firmware for it, and for the rest of the modules.

UHK unboxing video

ShopzadaPH has made an awesome unboxing video of the UHK which you’re welcome to watch:

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 2019-11-11.

Title