Jun 212021

Available (for now) from www.modelfkeyboards.com.

I do not usually do product reviews, but for various reasons decided to do this – of my newly arrived Model F F77 keyboard. The original IBM keyboard F was produced by IBM between 1981-1994 in various forms, and one keyboard enthusiast decided to re-create one of the more obscure F keyboards because of it’s similarity to modern keyboard layouts and size.

Don’t instantly reject it because it looks old-fashioned – I deliberately went this way and there are plenty of alternative configurations.

Two key points if you decide to buy one :-

  1. Read the manual before starting to fit the key caps. It really will save you time (guess who didn’t?).
  2. If you decide to flash the Via firmware (actually QMK with the Via option turned on), when you run the via program to configure the keyboard, load the relevant json file before wondering why it can’t see your keyboard.

Initial Impressions

Solid. Very solid. And very, very heavy. This keyboard is over 4Kg with a full metal case supposedly of even higher quality than the original.

There are no legs to prop up the back of the keyboard which makes it unusually flat for a normal desktop keyboard. But that is easily solved with something stuffed under the back of the keyboard, and it is sufficiently stable that a prop in the middle of the back doesn’t make it wobbly unless you bang on your keyboard exceptionally hard. And if that happens, just prop it up with two props. Rubber feet are available when you purchase the keyboard.

The layout (bear in mind that I deliberately chose a HHKB-style layout) is pretty much a modern tenkeyless keyboard with various options for the navigation cluster (I have arrows and numbers; other options are available). The raised lip between the alpha cluster and the navigation cluster doesn’t seem to interfere with typing (although your mileage may vary).

The keyboard is supplied with a full set of keycaps, so you can customise the layout to your preferences. They are also exceptionally well printed.

Describing the keyswitch feel is a bit tricky – they are perhaps a bit crisper and lighter than a model M keyswitch, which doesn’t really help if you have never tried one before. The only thing to say is that most keyboard keyswitch connoisseurs will claim that the model F is one of the best keyswitches ever made, and people far more familiar with that keyswitch than I am say that this keyboard matches the original IBM model F keyswitch quality.

In terms of hardware, there is almost nothing to fault with this keyboard; the biggest “fault” is the lack of legs to raise the back of the keyboard. But the original lacked this feature so it is a little unfair.


Well this because a bit more nuanced. As originally envisioned, this keyboard would have been equipped with the xwhatis firmware but towards the end of the pre-production process a beta version of QMK was released which supported the keyboard better. My keyboard was delivered with the QMK firmware but without the Via option turned on.

The keyboard with the default firmware works well – there is no real need to swap out the firmware unless you want more advanced features.

But I did.

The first problem I encountered was that the qmk_toolbox gooey is an empty shell under Linux – it doesn’t actually do anything. Which is not widely publicised … and perhaps the distribution of this tool should not make a Linux version so easily available. I ended up using macOS to load the firmware I wanted.

Under Linux it is possible to use dfu-programmer to load the firmware, but as I have not done this myself I can’t comment on how that is done.

And once I managed that, of course I neglected to load the right JSON file into Via so at first it didn’t recognise the keyboard as something that could be controlled. But that was soon put right and I’d programmed the keyboard with the layout I wanted.

Once you have the firmware you want and a suitable way of setting up the firmware layout that you want, the keyboard becomes exceptional. Although the initial configuration is a little rough around the edges, the QMK firmware offers features unbeaten by any commercial keyboard out there – even though Via is not capable of making use of some of them. And frankly, hardware wise, there isn’t a better new keyboard out there.

Is it worth the cost? It is after all expensive but it is actually cheaper than the original IBM model Fs after inflation has been taken into account. And it is the kind of keyboard that could well last a lifetime.

May 192007

Microsoft has recently claimed that open source software breaches exactly 235 software patents. Apparently open source developers “burn down the patents system”. Well my response to that is “well done open source developers”. Software patents are the biggest scam out there … bigger by far that all those scams we receive in our inbox every day. I quite happily say that companies trading on their portfolio of software patents are amongst the slimiest examples of capitalism and that even Microsoft were not that bad. Of course now they seem determined to join them.

A bit of tedious history … patents were first introduced as a mechanism to protect individual inventors from being ripped off by large companies. The 19th century is full of examples of individual inventors being ripped off by large companies. So patents for “hardware” inventions are not necessarily bad things.

Software is somewhat different. Software developers utilise software libraries written by others without inspecting the libraries for ‘patent violations’. When writing new code, they will come up with solutions to problems without realising that the solution they come up with has been used before. For instance one of the many algorithms for sorting is the insertion sort; it is not the most efficient sort, but is efficient enough (and probably more importantly is a stable algorithm) and is so simple that it has probably been re-invented many times. Certainly I thought of it back when I wrote a database engine for the BBC micro. There are many examples of software patents that are this simple.

For example, Microsoft holds a patent on a mechanism for navigating a web page in a graphical browser using the keyboard which requires that the ‘current link’ is highlighted in some way. Not only is there an example of a web browser using this mechanism before Microsoft’s patent (Lynx … a text browser that does exactly what is described in Microsoft’s patent), but it is a mechanism that is so obvious that it has been invented many times independently. Text editors on text terminals in the 1970s (and earlier!) used some sort of highlighting to indicate the current ‘active point’ on the screen and many of these editors were developed independently. So Microsoft’s patent here is a development of prior art (the only new thing is the graphical interface), and the basic concept of pointing where the ‘active point’ is, is one of those things that is obvious.

Back to Microsoft’s claim that open-source software is in breach of its patents … what exactly are these patents ? Well Microsoft doesn’t appear to be letting anyone know, which is kind of underhand as it stops open source developers from attempting to remove the problematic code. Linux Torvalds also points out that Microsoft hasn’t released their own source code to see how many patents they might be in breach of. Who knows ? Perhaps Microsoft has taken open source code and then patented concepts developed by open source developers … certainly it is known that Microsoft’s TCP/IP software is based on the BSD TCP/IP network software. Linux also points out that Microsoft has probably used many technologies developed by IBM such as demand paging and the like.

Most sensible people seem to believe that Microsoft’s tactic here is to spread FUD over the use of open source software to encourage people to use their own software. Perhaps they should spend more time on making their software better rather than indulge in dubious legal practices.