Blog

Posts on this page:

Global Per-Keyboard Remapping:
Inside and outside of X

19 Dec 2021 []
This is a short follow-up to my last post, where I briefly mentioned rebinding keys with this method and advised searching for it. I decided I'd actually alaborate here, after all.

The Problem

Caps lock and 'ctrl' have been in the wrong spots ever since IBM's 1985 "enhanced keyboard" layout was introduced (after the original AT keyboard).

Under Linux (as well as other Unix systems), remapping a keyboard can be somewhat inconsistent and troublesome. There are many methods to accomplish it, and they all seem to have different caveats. I had been using first xmodmap and later xkb to accomplish this.

The biggest shortcoming, though, is that neither of them impact the keyboard mapping when outside of X (in a console or under a Wayland graphical environment, for instance). This is one of the things hwdb is great at handling. Note, however, that I have never used Wayland, and am simply assuming this works based on how deep into the system this change is being made.

The Solution

With udev and hwdb, I have been able to uniquely map multiple keyboards with easily repeatable steps. The one remaining downside is that I can't find a way to make an hwdb rule that will match all keyboards, so it has to be done for each keyboard I want to use. Here's the steps:

  1. Determine your keyboard's 'modalias.' This is a string that the kernel uses to identify keyboards.
  2. With that modalias string ready, cut off everything after and including the first hyphen (for example, mine for my PS/2 keyboard port becomes input:b0011v0001p0001eAB41).
  3. Now, find the ID of the key you want to change. For this, use evtest (run as root). Select your board, Press your key, and look at the 'value' field that gets printed.
  4. Make a file called /etc/udev/hwdb.d/95-keyboard-remap.hwdb.
  5. Inside that file, write something like this:
evdev:input:b0011v0001p0001eAB41*
 KEYBOARD_KEY_54=compose
 KEYBOARD_KEY_7e=compose
 KEYBOARD_KEY_3a=leftctrl
 KEYBOARD_KEY_46=capslock

The names of keys are defined in the linux kernel header include/linux/input-event-codes.h.

To reload the key mappings without a reboot or unplug, do:

udevadm hwdb --update

(or systemd-hwdb update, if you are boring)

Followed by:

udevadm control --reload-rules
udevadm trigger

Enjoy your remapped keyboard. I put the steps in comments (which start with #) in one of my 'hwdb' entries so that I'd remember them better.

Addendum 2023: Windows NT

I started using my Mini M keyboard on a Windows 2000 installation on a Pentium III-class PC recently. The following registry entry remaps:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map (type: REG_BINARY):

0000   00 00 00 00  00 00 00 00
0008   04 00 00 00  00 00 38 00
0010   38 E0 5C E0  5C E0 5D E0
0018   00 00 00 00

You can find their instructions on how to arrange the registry entries here. Note that I am pretty sure they actually swapped the values in their descriptions of what the different remappings in the example do. Also remember that these values have to be little-endian (AKA backwards).

You can find Microsoft's list of scan codes here.

You can find PDF and RTF versions of the MS Word file linked on that page here: PDF, RTF.

You need to reboot to apply the changes.

Unicomp Returns to Form:
My Thoughts on the Unicomp Mini M Keyboard

14-27 June 2021 []

The Unicomp Mini M, a new keyboard. This is my own unit. The Unicomp Mini M is, to my knowledge, the first entirely new keyboard design that Unicomp has ever produced. It's a pretty solid effort.
Unicomp started in around 1996 (the year that I was born).

First, Some History

Unicomp, based in Lexington, Kentucky, is a company with an unusual history. Its continued ability to exist is honestly something of a miracle to me, although I'm still quite happy that it seems to manage. They are the sole company that has been a source for IBM membrane-buckling-spring keyboards (and parts for them) for the past twenty-five years or so.

Buckling Springs and Why I Like Them

The reasons why the buckling spring mechanism is favored by some has been discussed to death already, but I'll try to do a short run-down on it here. Essentially, the buckling spring mechanism provides a hugely tactile and aggressively "clicky" typing experience. I have used many designs of keyboards with many variations of switches, but I always end up landing back on these buckling spring boards for the pure typing pleasure of them.

The switches work such that a spring is mounted on a pivoting "leg" atop a sensing mechanism (in this case a plastic membrane sheet, but in the past IBM also made a variant that used capacitive legs and sensors, termed the "Model F," which feels better IMO but which goes for ridiculous money in poor layouts). When pressure is placed on the top of the spring by the insertion of a key on top of it, it is applied in an 'unbalanced' manner, such that even at rest the spring is bent forward slightly. To illustrate this point, I'll refer to IBM's US patents US4118611A (Model F) and US4528431A (Model M), which provide some good drawings of the basic idea. Even more useful, however (in my opinion) are recordings of the mechanism in action, which provide a good substitute if you've not got a keyboard of your own in your hands to test with.

Animation of a buckling spring as it is pressed, buckles, and pings against the barrel surrounding the spring. Recording of a cutaway of a buckling spring as it is pressed, buckles, and pings against the barrel surrounding the spring.
This animation comes from " Qwerters Clinic," a Japanese website dedicated to many kinds of keyboard designs and switches.
I highly recommend reading the linked page for more detailed explanation of how it works. The page is in English.

The buckling spring in the above illustration is actually of what's termed a "Brother buckling spring," which was made by Brother in Japan under license from IBM. While the exact switch is slightly different, the idea remains the same. Most notably, the switches are totally modular on Brother keyboards and can be individually removed and disassembled, unlike the only model M boards we got stateside which moulded all of the barrels into a single plastic plate which must be removed to completely access the mechanism.

Unlike many other key switches, even clicky ones, buckling springs create a feeling of a "snapping" on each key press, and the force required to press down the switch actually builds upon pressing, dropping off dramatically after actuation. In most clicky switches, the force required is relatively constant by comparison. The springs are quite noisy, but if you can get away with it, it's totally worth it, in my opinion.

Unicomp's Track Record

Over the last quarter century, many have observed that Unicomp hasn't responded much to demand changes, nor have they shown many attempts at expanding their business. Indeed, over the years, they have discontinued production of a fair number of their other products inherited from IBM, such as their Mighty Mouse keyboard with trackpoint, which was a predecessor of the Thinkpad keyboard. Note that this was not a buckling spring board, but it was still a pretty nice small keyboard with a pointing stick, handy for navigation and for things like server racks.

They did, to my knowledge, introduce windows keys to Model M keyboards for the first time, but I'm not positive that I actually see that as a good thing (I don't like having part of my keyboard's cost subsidizing a company I dislike and reinforcing its dominance). They also were responsible for the creation of USB models, from what I can tell. Again, I prefer PS/2 keyboards, so I'm not sure if this is a positive. One can always find cheap converters to use an AT or PS/2 keyboard on USB-only machines, but using USB keyboards on AT or PS/2-only machines isn't quite as easy.

For almost as long as they haven't made them, people have been requesting that Unicomp manufacture a numpad-less Model M, akin to IBM's "space-saving keyboard" (SSK) of old. Apparently, when Lexmark sold to Unicomp, they did not have the equipment for manufacturing this variant any longer, and the company was in no position to be able to afford to make new tooling (which is expensive).

Instead, they subsisted by manufacturing those boards which they did have the tooling for, i.e., their 101-key boards. Apparently, they also had the tooling to make boards with Windows keys. In any case, this served them well enough, but over the years I saw a significant number of people grumbling that they'd buy a Unicomp board "if only they made an SSK."

Fast-forwarding a decade or two, after many delays, Unicomp has pulled through. Their new "Mini M," as they call it, finally officially launched in February of this year (2021). Although it is unfortunately available in black only for the moment, it's a definite step in the right direction, and I bought one recently.

After using it for a couple weeks, I think I'm ready to start talking about what my impressions on it are. My experience is mostly positive, although I'll dive more into it in the following paragraphs. If you just want a "yes" or "no," though, then yes, I am happy that I bought it.

Diving Deeper into the Mini M

Initial Order and Delivery

I ordered the board around June sixth or seventh, and since I was a pre-orderer, I think that they gave my order priority. They claimed that on account of high demand, orderers should anticipate a four to six week lead time normally, but my board arrived on the ninth. It was only travelling from Kentucky to Indiana, but I was still impressed!

The sticker on the bottom of the board says that it was built on the seventh. I'm not sure if they build these things "to-order," or if they really are just struggling to keep up with the orders.

My Mini M's bottom label. The board got here within two days of its manufacture!

Unpacking

When I first pulled it out of the box, a couple keycaps were popped off, but they keyboard was wrapped in plastic and the box included instructions for replacing keys that come loose in shipping. Honestly, I re-seated the two or three keys by just pushing down on them, prior to even reading or looking at the papers (a friend of mine came over just as I was picking up the box, and he snatched the papers to read while I was looking at the board, so I didn't notice them for a good ten minutes).

The box was a simple, no-frills brown cardboard one, nearly identical to the one that Unicomp shipped me a full-size "classic" M case in a few years back, but shorter to accomodate the lack of a numeric pad on the product inside it. It had cardboard inserts to hold the keyboard steady during shipment, and it did a fine job.

Also in the box was a Monoprice six-foot USB A-to-A cable. It's funny to see a Monoprice branded cable in there, but it makes me think that either their prices are just that good, or maybe other industrial suppliers don't usually stock USB A-to-A cables, which are technically non-standard equipment with undefined behavior in the USB specification.

As an aside, I actually already had a USB A-to-A cable, funnily enough. I had gotten one for $1 from a bargain bin in a local computer store and used it to write third party firmware ( FlashFloppy) to a Gotek floppy drive emulator for use in my Amiga 500. So that's handy, since I have a backup if anything happens to this one. I sort of wish the cable was coiled, but obviously there's very little real world demand for that, especially in A-to-A form factor. It's just a "nice-to-have."

Modifications Already!?

The last item in the box was a long length spacebar in the "bright white" color. I paid extra for it. I do not like the shortened spacebar and awkward alt key on this board (nor indeed do I like Windows keys at all, since they advertise a product I do not want to use outside of work), so while I still need to order a couple more keycaps to get everything matching, the spacebar was enough to get me most of the way there. I had to bend the stabilizer bar out a tiny bit to get it to swivel freely, since it was rubbing on the clips of the key itself. No big deal.

My Unicomp Mini M, with shell removed, showing the keys I replaced. My Unicomp Mini M, naked. Also shows the keycaps I replaced. I'll get the right colors soon!

Notice how the alt keys have green legends, akin to the PS/2 enhanced keyboards of old. That's a nice touch; I just wish they'd have kept the right windows key where it is on their Classic 104 and even their "New Model M" (slightly better picture here [PDF]), so I could cover it up without having to remap the right alt key in software and buy another full-width one with green legend to match the left alt key. I opened a support ticket, though, and Unicomp gave me instructions on how to order the exact caps I needed. So good on them, overall.

To simplify things, I've created a publicly visible "wish list" on Unicomp's web store, where I've listed all the things one would need to order to create one's own '86-key' board. Note that this is for a grey-and-white board; if yours is all grey you'll want a different spacebar colour.

Hopefully, once they've gotten the keyboard approved internationally and shipped them for a while, there will be more customization options available for the Mini M, akin to their more traditional offerings.

Personally, my biggest wishes would be for a 'pearl/pebble' key colour option, akin to the color of keys on the IBM boards, and a pearl (or industrial grey… hey, I can dream) shell.

An Industrial Grey shell and pearl/pebble keys. I bet that the Mini M would look fantastic in this colour of casing.
This one's swapped onto a silver label terminal keyboard (1386303).

I didn't ask about remapping, since I think they probably won't just give me source code and instructions on how to reprogram their microcontroller, but as I plan to mention later in this write-up it appears that the controller does use flash memory and should therefore be reprogrammable, at least in theory. The trouble might be that I don't know if it'll be possible to read the old firmware off of it.

I know people complained about the other keyboard layout, too, so I guess Unicomp just can't win no matter what they do. Ideally I'd have no Windows keys there at all, mimicing the original SSK, but since I've got those spots I'm going to make one of them a compose key and another one legendless.

Remapping the Right Windows/Right Alt Keys (Linux-Specific)

The first method I tried to remap the right alt and windows keys works, but only in X11, and while it is keyboard-specific (does not mess up the mappings on other keyboards, such as the built-in laptop keyboard) it is hard to replicate easily so I'm just going to mention it briefly.

It uses 'xkbcomp' to compile new keyboard definitions on a per-keyboard basis to remap the keys. You basically have to find the keyboard's ID according to x (using xinput) and then add 'swap_ralt_rwin' to the 'xkb_symbols' list.

The second, better method works inside of X and in consoles, and so is preferable. It also works on a per-keyboard basis by using udev hwdb rules.

Long story short, you can create a file called '/etc/udev/hwdb.d/99-unicomp.hwdb' containing the following code. Create directories as necessary to create the file.

evdev:input:b0003v17F6p1862*
KEYBOARD_KEY_700e6=rightmeta
KEYBOARD_KEY_700e7=rightalt

then, as root, run:

# udevadm hwdb --update

On systemd systems, I have read that 'udevadm hwdb' is deprecated, but it still works on my Debian system which is using hwdb without the rest of systemd active.

It was kind of tricky to figure out what to do to write this file, but if you are curious, try looking up 'hwdb keyboard remapping' or similar in a search engine.

Keyboard Feel

TL;DR: It's good, maybe better than my blue label M's. Sounds good, too.

This is my first Unicomp keyboard. I'd heard in the past that they weren't built to the same quality as the IBM ones were, but honestly when I'm typing on it it feels a lot like a late IBM or early Lexmark keyboard. Which is to say, not bad at all! I do maintain (as do others) that there is some difference between early (through '87) Model M's and all later ones, but something about what it is eludes me. I own one silver label Model M (IBM part number 1386303), and even before I looked it up I could tell it felt different than the Lexmark and late IBM ones I already had in my posession. Maybe it just felt more "consistent," or something. I do know the keycaps feel smoother on that board, but I am not sure how much that is impacting my perception of it.

In any case, I still like my other M's as well and I think this Unicomp one is at least as nice to type on as my later IBM and Lexmark ones. It might even be better than them, even though my 1993 Lexmark one especially is in great shape - that one has only one missing rivet on the entire board, and it's very clean.

Keycap Differences: New Tooling?

Somehow, though, the Lexmark and late IBM ones feel maybe a little scratchier than this one does. It's very hard to say anything about it for certain. It might also sound a little different, because unlike my two later model M's, but like my 1386303, this keyboard uses one-piece keycaps. I can also tell that Unicomp has made new keycap tooling, because the stems are shaped slightly differently than the ones on my other boards are!

Comparison of Model F/Early Model M keystems, mid-to-late M keystems, and the new Unicomp ones. Left to right: Early Model M (same as Model F keystems), Mid-to-late IBM/Lexmark Model M, New keystem from Unicomp Mini M.

I noticed also that unlike my Lexmark M, which sounds a little "twangy," this board sounds a lot closer to my 1386303, which has mostly just the clicks and minimal harmonics. Again, not sure if that's due to the keycaps, or something else. Both my "middle-era" M's have two-piece keys, but only the 'F,' 'J,' and numpad '5' keys are two pieces on my 1386303. So maybe that impacts the feel, too? According to the instruction manual for the IBM 3161 terminal that my early board came with (I own the complete terminal), one of the features of the 3163 that made it more versatile than the 3161 was being able to define custom keys and create labels with clear-colored tops for two-piece keycaps. I'd love to have some of those clear keys :)

Single unit keycap picture, showing differences between different board types. Single-unit cap comparison. Same order as above.

Improving click consistency: re-seating some springs

This keyboard had a couple springs I needed to re-seat; they worked, but they just didn't please my fingers as much as the other keys did. So I had to pull the springs off of several of the hammers (I used a whittled down q-tip, akin to the "chopstick" method of spring removal and insertion, which you can look up).

Eventually, I got the springs on the three or four keys that felt weird re-seated, at which point they felt and sounded as good as the others. So if just re-seating the keycaps isn't doing enough, you may find that re-seating the springs themselves does the trick!

If you have a key that feels "lame" compared to the surrounding ones, don't be too afraid to try it. My only advice here is to not exert too much pressure on the springs. A little is ok, but when it starts resisting (you should be twisting counterclockwise while putting it on) is when you might want to stop and see if it's grabbed the peg. After typing on the key a few times, pull the cap back off and see if the spring is still on its post. If it is, and you're satisfied with the sound/feel, then you're ready to roll. Otherwise, try again. Just don't overdo it when twisting!

If you do mess up, Model M springs can be purchased from Unicomp. So not all is lost! That being said, I didn't mangle any this time.

Interior Observations

I noticed several things upon opening the board up to peek inside.

Contrary to a review I saw of the Mini M (which examined a prototype prior to the official launch), mine did NOT use Posidriv (a variant on philips-style) screws, but rather the same hex screws as all my other Model M's have used. That was a minor disappointment/irritant, but only because I'd read otherwise prior to purchase. I have a tool to open it since I have opened my other M's before.

I also noticed that the holes seem a little narrower than they were on my other M's. My bit rubbed the walls of the hole when I put it in and was a bit difficult to coax out. But I managed.

The new Unicomp board leaves the hammers visible from the sides, unlike my early M (left) which uses something like fish tank tubing to seal it off from the world, and unlike my late-IBM/early Lexmark models (right) that just have moulded plastic walls there.

Time will tell if the exposed hammers will become an issue.
Left to right: 1987 M 1386303, 2021 Mini M UT40E7A, 1993 M 59G7980.

It also appears that Unicomp is just cutting down a full-size barrel plates to create tenkeyless ones. I'm not especially surprised, since that avoids creating new tooling (expensive), but it'd be cool if in the future Unicomp can find a way to repurpose the cut-off numpad barrel plates to create stand-alone keypads or something. Less wasteful, too. But that means even more tooling, if they don't already have a mould lurking around from the IBM/Lexmark days.

Unicomp looks to be cutting the numpads off of full-size M barrel plates.
Note the cutting marks. Unicomp looks to be cutting the numpads off of full-size M barrel plates.

I think IBM Japan made a buckling spring keypad at some point, and Unicomp appears to have at least one IBM Japan mould (they use it for their "Ultra Classic" and "Endurapro" line's casings), so just maybe there's a chance they have something. But that'd depend on how late IBM manufactured it, and if Lexmark scrapped it or not prior to the Unicomp sale. I also don't know how closely IBM Japan and Armonk (New York, IBM Headquarters) usually collaborated on manufacturing, though. Maybe that keyboard was a one-off deal.

The Unicomp Mini M also uses plastic pegs on the case to mount the plate on, similarly to how my full-size ones do. I have no firsthand experience with other Unicomp boards, but I've read that they use some form of adhesive in the Ultra Classic and Endurapro boards.

BLUE LED'S, AAARGH

It seems that some time in the last year, Unicomp started using blue LED's in its keyboards. This is bad, because they're too bright, because blue keeps you up at night, and because it's utterly inauthentic for a keyboard with a 1980's design to have blue LED's, when blue LED's weren't even created until the late 90's or early 2000's. Green or amber would both have been preferable choices.

To make things worse, normally I'd just desolder them, buuut this time they're tiny surface mount things mounted directly on the keyboard membrane. So that's not good. I hope Unicomp at the very least changes the colour in the future, even if they can't redesign it to use an LED board.

I plan to do something like I did when I put a PS/2 model M controller board inside a terminal M, where I soldered a header to the board's pins that connected to the LED's on the matrix of the PS/2 keyboard matrix and then ran a cable to a perfboard I slapped some LED's on. I think that should work fine here, too. I'll probably update this page when I finally do it.

Update: 27 June 2021

Well, I did it.

Unicomp Mini M, with amber/yellow indicator LED's.
I think this amber might actually look better than green; they are definitely a step up from blue.
Blue LED's are an amateur hour decision, in my opinion.

I had some green LED's out, then misplaced them. The only shop in town that sells individual LED's which I know of was closed by the time that I realized. So I used these amber/yellow ones instead. I'm very pleased with how it turned out!

Since the primary point of this post is to review the keyboard (despite how much I've strayed from there already), I'm going to just cut to the chase and say that in order to do this, you'll want some small LED's, and not the "standard size." I want to say standard is around 6mm, which are tall enough that it they require cutting into the membrane to fit properly unless you want "sun spots" where the surface mount LED's sit on top of them.

If you use short height LED's you can perch your board on top of the membrane and stick it down - I used some of that poster mounting putty stuff. If your LED's are "full-height," though, you'll find the case bumps into them when you attempt to close it unless you seat it on the overhang meant for the USB port and cut away the membrane where it obstructs them.

I used full-size ones, since I've already tinkered with this board a lot and am in the process of designing and designing a new replacement controller board for it - I know my warranty's almost certainly voided now, but that just makes it like all my other hardware. I don't think I own any electronics that are new enough to be covered by a warranty, except for a wireless router and my phone. I think that's given me a much more brazen mindset when it comes to messing with things, compared to if I were used to having things like 'warranties.'

I cut away at the membrane and sat a small piece of perfboard beneath it, running wires to the controller board, which I soldered to the underside of on the membrane connector. If you don't cut off the blue LED's, you should consider also cutting the 'fingertips' of the LED's and their common Vcc line (four traces total). If you cut the LED's off like I did, that'll cut the circuit, too, so that should be all you need in that case.

LED Electrical Notes

The Unicomp controller board has tiny surface-mounted 1KΩ resistors on the negative side of each LED. The resistors are not marked, but I measured them on a multimeter. I did not check the voltage, but am assuming five volts DC at most.

I'd expect a blue LED on 5V to need something under 100Ω at most, so 1KΩ is plenty good enough to drive lower-powered LED's like red, yellow, and so forth.

Oddities

I am happy that I waited until June to get the board, since there are reports that boards produced before sometime in April or May have a firmware issue where the 'Q' key (and possibly others) can stop registering after several hours plugged in. While Unicomp is offering to fix the boards of people who experience the issue, it's just something I don't have to deal with.

Note: 21 June 2021: I just encountered this problem today, immediately after plugging in the board. So I guess this issue is NOT yet fixed on this firmware. Or maybe it's a microcontroller hardware issue. The one they've chosen to use is a decidedly strange beast of a device…

At the very least, it seems to have happened much less frequently than people with older firmware versions have been reporting. So maybe I'm still relatively well off.

I'm going to give Unicomp a chance to fix this for real before I decide to talk/rant too much about it, because a quick unplug/replug fixed it and it's happened once in two weeks. But between that and how hot the controller IC gets when running, it is slightly alarming.

They also chose a weird chip (Cypress PSoC 1, M8C architecture) for this board. It's a real shame that they couldn't have just used TMK firmware, or at least some more conventional keyboard microcontroller instead of one with a weird CPLD-like interface and an internal voltage regulator that runs hot to the touch.

My guess is that the current chip shortage impacting the industry as a whole may play a part in these issues. I really hope that they can change controllers at some point. If I have trouble getting Unicomp to help (I think they'll do fine; they typically do great support), I'll likely try to design a new controller board myself at some point.

I'm going to give Unicomp a chance to pull through first. I hope they can figure this out, because I really, really would like for them to succeed. I definitely don't want them to start bleeding money because they took a risk designing a new product for probably the first time ever and now have a whole bunch of boards out there that they need to pay to repair. It'd be awesome if they can iron this out and decide that it was good for their bottom line so they can do more awesome stuff (new designs) like this in the future!

I'll update this when I've made a ticket and heard back from them. This issue just cropped up right before I was going to call this article "finished" and post it, so I really don't want to wait and forget to publish it for a month.

Firmware Version Checking

If you want to check your keyboard's firmware version, it's relatively simple to do it. On a Linux machine, you can do something like this:

$ lsusb |grep Unicomp
Bus 003 Device 002: ID 17f6:1862 Unicomp, Inc. U AP1_4_87k_Kbrd_v7_56

The key information you're looking for is technically in what 'lsusb' calls the 'iProduct' field. On non-Linux systems, or on Linux systems without the 'lsusb' tool, you may have to find other means to get that information.

Just for my own amusement, I tried to find the same information on my only bare-metal Windows installation on a USB-compatible machine: a Dell Latitude D610 running XP SP3.

Hopefully, this will still be relevant to those of you that are using Windows 11.

The key here is the 'v7_56' part. From what I can gather, it seems that the boards with the 'Q' key issue are on v7_52 or some older version. Unicomp claimed to have fixed it in v7_56, but I managed to make it happen once so far (see above). I'll update this post if I learn more.

If it's really rare and only happens upon plugging in sometimes, I can likely deal with it. We'll see how things go.

At the same time, though, I sort of wish that I'd been just a little bit earlier so I could have gotten a sub-1000 serial number. ;)

Update: As of 19 March 2022 I have a new controller board. This one's on 7.57 (as opposed to the version 7.56 of my old one). It has not gotten hot, and I have yet to have "Q" key trouble. I think it might be fixed.

Other miscellaneous observations

I might write more here soon, mentioning another little issue I've noticed where the controller board gets pretty warm, but I'll save it for later. I've been writing this for entirely too long now (several days, multiple hours per day).

The End/Afterword

That mostly concludes my thoughts on the Mini M. Despite all the things I highlighted, I must stress that I like this board a lot. It's basically an SSK that I didn't have to skip rent to pay for! I'm thankful, and I hope that Unicomp can iron out the relatively minor remaining issues soon. Even as it is, I'm pretty pleased with this board, and I'm glad I waited.

I'm typing on it right now and will probably continue typing on it in the future, at least unless I finally decide to make my dream a reality and I turn this board into a Model F by swapping some parts around with an old terminal board I got a few years ago. I think I remember seeing that it is possible to do, if you replace the membranes with a PCB and the controller with a capacitance-sensing one. We'll see if I ever find the time and motivation to do it, because Model F's really do feel fantastic.

Everything that follows is responses to complaints I see others make about Unicomp boards and sometimes about Model M's/buckling springs as a whole. Consider it bonus material.


Addressing Some Common Complaints People Make about Unicomp & Buckling Spring keyboards

(Not specifically the Mini M)

These are some common complaints I read about Unicomp keyboards, and sometimes about buckling springs or mechanical keyboards as a whole. I'm using this as a place to address the complaints and give my two cents on them. I'm not trying to defend any particular person or group here, and I could definitely be wrong about some things (like legend printing techniques). So if you spot anything wrong, You could make an issue on this site's issue tracker (currently on GitHub).

Poorly Printed Key Legends

I can't say much here, except that the legends on my board look pretty good to me. Sure, if I A/B it with an early 90's IBM M, I might say that the positioning on the "pause" and "end" key printing is a bit low, but that's only when comparing it directly to another keyboard. In practice, I don't spend most of my time looking at my keyboard, so I honestly don't notice or care.

All the rest of the keys on the board, however, look absolutely fine to my eyes, and I only noticed 'Pause' and 'End' when I went looking for them. I find it easy to forget about again since it really does not impact my typing experience.

The other complaint I've seen lodged against Unicomp seems to be an older one, but there were reports of what sounds like "overspray," basically blurry printing. I definitely do not see blurry printing on this board, though. It looks thick and crisp and solid. So either I got really lucky, or they've corrected this issue.

Noisy

Unicomp's detractors tend to complain about the noise of the boards, but in my personal opinion, this is totally missing the point of a buckling spring keyboard.

While it is certainly valid to not want a keyboard on account of the noise it makes, If you need a quiet board, and you really need a quiet board, I think you should maybe get a rubber-dome board. Maybe a scissor switch, laptop-style one. Those are pretty nice feeling and they make far, far less noise.

Any mechanical switch or buckling spring board will inherently be noisier than that, although buckling springs are admittedly especially loud. Even my Apple Extended Keyboard, which is a tactile, non-clicky design that I love, is louder by far than a rubber dome Sun keyboard or any non-gaming offering from Logitech. So again, my opinion is that if you don't like the noise, they simply aren't for you. Get a scissor switch keyboard, or maybe even try a Topre board. I've not used a Topre, but apparently they feel extremely nice, and they use a variant on the rubber dome design.

No backlighting

My personal reaction whenever i see this complaint is pretty straightforward. I think that if you're on your keyboard a lot, and you've been using keyboards for a few years, you probably know how to touch-type. Even in darkness, I can typically find keys with ease and without looking down, at least if the keyboard uses a standardized or mostly-standardized layout. Every common (non-122-key) Model M I've ever seen has had pretty much the standard "IBM Enhanced Keyboard" layout, so I don't really get why the lack of backlighting is an issue for so many people.

The only ways I can think of to justify "needing" backlighting are:

  1. You're new to typing and are in the dark a lot,
  2. You're on a strange keyboard layout and haven't adapted to it yet, or
  3. You like the aesthetic to such an extent that you won't buy a keyboard if it hasn't got it.

If your reason is liking the backlit aesthetic (which I will admit is neat), and that's your only reason for not wanting a buckling spring board, I'd like to ask why you're spending so much time looking at your keyboard rather than using it. Everyone likes things for different reasons, sure, but as a utilitarian I'd just see backlighting as a nice bonus rather than an essential feature.

Additionally, it's worth noting that the buckling spring mechanism itself contains no provisions for backlighting, on account of having been designed between the 1970's (first patent) and the mid-80's, and implementing backlighting would be a major challenge, if not completely impossible.

The only way I can think of to implement backlighting involves, at a minimum, a complete redesign of the keycap to use double-shot injection moulding (expensive) or clear plastic with paint that will eventually wear off (less expensive, but of subpar quality in my opinion). Then, you'd have to put over one hundred surface-mounted LED's on each keyboard's membrane, lined up so that they inhabit what I'd guess is a one or two millimeter gap between the top of the rocking pivot/hammer assembly and the upper edge of the barrel plate. And that's all assuming that the key stem itself won't collide with the LED when a key is pressed!

Not much space to put an LED in. Unless you want it way off-center, which I don't think is a great idea.

You also might be able to make the barrel plate translucent and add little cut-out spots for surface mount LED's, but I bet that'd impact key feel drastically.

It's really not a design suitable for backlighting, but as I've said, if you can touch type I don't really think it's a huge issue.

No black keys with white legends

This one is totally valid as a criticism, although I can see both sides of this story, too.

Unicomp's reasoning for not offering white legends on black keys is pretty reasonable, in my opinion. They cite that the printing process they use on their boards is dye sublimation, which only works by adding pigments to light key colors (additive printing). Imagine trying to print on black paper with a normal consumer printer (which typically has only cyan, magenta, yellow, and black inks). That's the challenge that they are facing.

The way that black keyboards usually have legends added is with either lasering (the ability to print white on black with a laser is relatively new, though), pad printing, double-shot injection moulding, or possibly something like silk screening. Pad printing is basically just stamping paint onto the black plastic. It works, but it will wear down with heavy use, and requires pad printing machinery, which can be expensive to purchase and maintain and is less permanent than dye sublimation. I used to work at a factory with pad printing machines (although they were not designed for keyboard printing and had pads far too small to print all keyboard keys at once), so I might have a somewhat better understanding than some do, but typically you can even scrape pad printing off with a plastic knife. The legends absolutely would not hold up in the long run like other Model M's legends have.

Pad printing was used on the old Model M13, the only Model M with legends that was ever offered in black to my knowledge. Many have faded legends by now. I do not think pad printing is as common these days, having been supplanted by other technologies, but I cannot be sure of that. It is sometimes hard to telll by visual inspection alone. Edgar Matias (who actually manufactures keyboards) claims that pad printing is not very common anymore.

I am not as familiar with silk screening, but I see It is something I think I need to research more. Some people on the same thread I linked above claim that silk screening is not viable on keyboards, so I don't really know what to think there.

The alternative would be dye sublimating all but the legends of white keys in black, which I'd imagine would be time consuming and deliver non-uniform results across the keys.

With that said, none of that is a reason Unicomp should actually be incapable of doing pad printing; if the demand is there (and it might well be; people like black keyboards), I think many could still buy boards, even understanding those limitations of the process. I don't think I'd buy one personally, though. If I could have, I'd have gotten my mini M in beige plastic to match my collection of IBM keyboards. :)