Dec 102017
 

If you take a look at a modern keyboard, there will be more than a passing resemblance to the IBM PC/AT keyboard of 1984. The differences are relatively minor – the keyboard may have shrunk slightly in terms of the non-functional bezel, there may be some additional media keys (typically above the number pad), and the overall construction will probably have been made a lot cheaper (the PC/AT was an expensive system and the keyboard was expensive too).

 

(The pictured mainframe keyboard is not a PC/AT keyboard but does have a half-reasonable number of keys)

But very little about the keyboard layout has changed. Oh there are variants such as the ten-key-less keyboard where the number pad has been removed, or even more extreme 60% keyboards which do away with the navigation keys as well, but overall the layout is still pretty much the same.

The very first thing to say is that ergonomically, keyboards are too wide which causes you to move your mouse too far out to use comfortably. This is where the age of the PC/AT keyboard shows; at the time it was designed, mice and gooey interfaces were a rarity and everyone’s hands were nailed to the keyboard. This is the reason why the ten-key-less keyboards exist, and from experience of using both them, and a modular keyboard with the number pad on the left, I can say that a narrower keyboard is more comfortable when taking the mouse into consideration.

But I like big keyboards (as you can tell from the picture), or more specifically I like keyboards with plenty of keys. A keyboard can have plenty of keys without being wide if it is deep. Changing keyboard layouts is contentious, but as someone who has used a wildly different set of keyboards I can say it is perfectly possible to get used to different layouts when those different layouts involve changing the non-touch-typing keys.

That is not to say that changing the touch-typing keys should not be considered; for one thing the staggered layout of the old QWERTY keyboard does make things tricky so orthogonal layouts should be considered.

Now onto some specifics …

Relabelling

In some cases, keys have been labelled the way they are just because that is always the way it has been done. Which is a damn silly reason especially when the name is not only inscrutable but wrong.

For example, Backspace is by description (and historically) a key that should move the cursor back one space to allow typewritten text to be overwritten – you could get an umlaut over an ‘A’ by typing A, Backspace, “ which would get you a very rough approximation of ä. Which is not what the key on our modern keyboard does – it rubs out a mistake, and some old keyboards labelled it properly as Rubout. I have also moved it to just above the Enter key which is traditional on Unix-layout keyboards which is not a bad idea more generally – it is still in a prominent position, and by reducing its size slightly we have room for an additional key in the main section of the keyboard.

The PrtScn key is one of those inscrutable keys that nobody who wasn’t around in the early days knows what it did. Pressing it would send the text contents of the screen to a printer. There are two reasons why we should relabel it Screen Copy – firstly that is what it does (it copies the screen contents to the clipboard), and secondly it gives people who don’t know what PrtScn does a fighting chance of discovering a useful feature.

In a similar way, it would be helpful to add Next Field to the Tab key as a description of one of its more useful functions. You can hear my teeth grinding every time someone takes their hands off the keyboard, uses the mouse to click in the next field, and then types again when one simple press of the Tab key will do all that for them. Of course the original use is still there and used within word-processors.

Finally, the Esc key has been moved to its traditional position, and added what is effectively its most common usage – Cancel.

The right Alt key is often configured as an AltGr key to allow it to be used in combination with other keys to generate characters not found on the keyboard – such as æ, þ, or œ (all of which should be used in English but rarely are because they are so difficult to type).

I have not been able to resist relabelling the Win keys to Super keys, which is what they are configured for in Linux (and used for much the same purpose).

Moving/Shrinking Keys

Why do both Shift keys have to be so big? It is well understood that inserting an extra key between Z and the left shift is unpopular because you have to stretch further for the Shift, but keeping it in position and adding a new key to the left (here a small Caps Lock) would work.

And on the subject of Caps Lock, why give such a prominent key next to A to such a rarely used function? EXCEPT FOR THOSE WHO INSIST ON SHOUTING! Of course, moving the Caps Lock key somewhere else may just lead to less shouting. And it allows a very common request amongst those who use it a lot – moving the Control key back to its traditional position.

Some “New” Keys

Where is the Help key? We all know that F1 almost always functions as a help key, but why not have a dedicated Help key when the keyboard standard allows for it?

And in these days of increased concern over security, why don’t we add a Lock Screen button? Whilst it may not seem that important at home, in a corporate environment it should be mandatory, and it is not a bad idea in a home environment either.

The CutCopy, and Paste keys do the equivalent of Control-X, -C, -V, which might seem unnecessary but not everyone knows the keyboard shortcuts. Besides which, in edge cases the control key shortcuts are used for other purposes.

Most of the media control keys in the top right are pretty much standard if labelled differently. I have merged the up/down keys – so rather than use two keys to control the volume, you use one key (unshifted is down and shifted is up); I have “added” Bright ± and Contrast ± which are commonly found on laptop keyboards as Function sequences, but why shouldn’t they have their own dedicated keys and appear on desktop keyboards too?

The smiley key (😀) is a feature stolen from smartphones – an easy way to pick and select emoticons. I envision it popping up a dialog box to allow the arrow keys to move onto the preferred emoticon and Enter used to insert that symbol.

The Compose key is copied from old keyboards and allows you to enter certain symbols by using keyboard sequences – for example Compose, results in “ä”, and there are many possible sequences. It is a quick and easy way to type certain symbols.

And Find is also an obvious key to add – to search for things.

The Blank Keys

Also I have added a whole row of blank keys which would ideally be populated with re-legend-able keycaps (a clear plastic top which can be removed to insert a tiny scrap of paper with your preferred label). And they should be able to be programmed for whatever the owner of the keyboard wants.

Because many people have their own ideas on what should be on a keyboard.

Indeed with a proper keyboard controller (such as one from the keyboard enthusiasts‘ arena) any key could be programmed to send whatever you want.

Removing Keys

Don’t.

However much you believe a particular key is unused, there is probably some population of some type of computer user that uses that key more than you would believe possible. For example, I rarely use Scroll Lock (enough that I often use it as a custom key to control VirtualBox), but it is often used with Excel.

And I have seen suggestions that the grave/tilde (` and ~) should be removed because nobody uses it; well I use it a hell of a lot.

Mar 182017
 

The TiPro programmable keyboards are quite fun for those who are into their keyboards, but with one big problem: the programming tool is Windows only. Well at least if you happen to have a USB-based TiPro; otherwise you need to set up the serial interface as the PS/2 interface is only usable for programming with a 32-bit Windows.

As it turns out, if you try to run it under a virtual machine and assign the USB device of the keyboard to the virtual machine, it still fails – somehow it doesn’t like staying assigned to the virtual machine. However there is a fix for this – using the command-line VirtualBox tools to set up a permanent USB filter.

To assign, first of all determine the name of your virtual machine with :-

VboxManage list vms

Next, add a USB filter – you can normally assign it to “slot” (or index) 1, but you may have to check what slots are available if you already do this :-

VBoxManage usbfilter add 1 --target "W10" --name TiPro --vendorid 0x1222 --productid 0xfaca

Once that is done, the Windows tool should be able to find the keyboard to start programming it. If necessary, reboot the virtual machine or try assigning the USB device via the menu option.

During programming it is helpful to remember than raw USB HID codes can be used by right-clicking in the input field for a key, selecting “Text Input” and inputing the code in the form “/${hex hid code} ${hex hid code}\” – such as “/69 69\” (a list can be found at: http://www.usb.org/developers/hidpage/Hut1_12v2.pdf)

Removal at the end:

VBoxManage usbfilter remove 1 --target "W10"

After the removal it seems that disconnecting and reconnecting the device is necessary for Linux to pick it up (or possibly a udevadm trigger).

b

Dec 222012
 

Take a good hard look at your keyboard. Right Now.

Ignoring the symbols themselves, although there’s a good long rant as to just why the pipe symbol (‘|’) has to be a shifted key, there’s quite a few oddities on the keyboard. At least if you get a chance to think about it. Not so much in what they do, but in their names.

BackSpace
If you are old enough to remember typewriters, printing terminals, or even certain exotic terminals which implemented “backspace” properly, this label is always a bit grating. Why? Because a backspace does not delete anything, but is a way of overwriting symbols to generate other symbols – you could always write a cent symbol by entering ‘c’ followed by a backspace and finally a ‘|’ to get a ¢What we see when we press the backspace key today could be more accurately described as ‘delete last character’, or rubout (as used on some old keyboards). So the backspace key should really be the “Rubout” key.

Delete
And whilst we’re in the region of deleting characters, what about the “delete” key? What is it supposed to be deleting? The character under the cursor ? The word under the cursor ? The line? The next line? Well we know what it is, but that is no reason not to make the key legend more explicit.What about “Delete Next” ? This gives an alternative for “Rubout” as “Delete Prior”.

Enter/Return/Carriage Return
Again, if you go back to the distant past and dig out an old clunky typewriter you will find a large key at the right of the keyboard that would cause the roll containing the paper that the letters were printed onto, to shoot back to the right [corrected] and move up one line. This was the carriage return. And of course it makes no sense for our modern keyboards to have a key labeled after a physical action that no longer exists.Some have a key labeled “Enter” in addition to “Return” (or sometimes instead of “Return”), but what does that mean? Enter what? The next line? There have been keyboards in the past with a more sensible “New Line” key, but that trend did not take.

Does it not make more sense to label the key after what it does rather than it’s historical purpose? What do we use the “Return” key for these days? Well it’s either to start a new paragraph, or to do the command we have just typed (into a command-line shell). So what about “New Paragraph/Do” ?

Alt Gr
Also known as Alt Graphics which originally was a key for composing box graphics, but is now used for producing alternate graphemes from the keyboard such as ©, ™, Ä, etc.
Or perhaps more explicitly, it produces symbols that be produced by the keyboard normally not available.So why not simply label the key after what it produces? Such as “Symbols” ?

The “splat” (Windows)
There are two problems with the Windows key. Firstly why is it an icon when the rest
of the keys are text-based? It is not as if the other non-symbol keys do not have suitable “icons” such as ⎇ for Alt. Use either icons or text; personally I prefer text.Secondly there is the problem that the Windows key is specific to Microsoft Windows; even within Apple’s perfumed prison, the tendency has been to move from vendor-specific (open Apple symbol) to generic (“Command”).

That is not to say that it is a poor idea in general – there is a lot to be said for a key to be used for generating short-cut commands to control the computer as a whole. A “computer command” key as opposed to an “application command” key (or “Alt”).

There are a few other oddities too, and it is quite possible that I will get back and update this post with incoherent rantings about those too.