Why do I find it almost impossible to use colleagues’ keyboards? Aren’t the locations of those letters and symbols universal?

I’ll say at the outset that as a software developer, I make greater use of the symbol keys than the average typist, and perhaps that’s what makes me so puzzled as to why some keyboard layouts have arthritis-inducing layouts.


Let’s virtually split the keyboard into two parts: the alphanumeric part (most of the keyboard excluding the outermost rows and columns) and the symbols (sometimes called special characters).

Some readers might already be aware that the alphanumeric arrangement was originally based on statistical letter usage for each language. The reason for this was to prevent mechanical typewriters from jamming when two adjacent keys were leveraged in quick succession. Hence we now almost universally use Sholes’ keyboard layout, or a localised implementation of the same principle.






National layouts

Non-Latin scripts

Image: Wikipedia

Staying with these alphanumeric characters, the primary reason behind differing keyboard layouts is to accommodate extra letters, or letters with diacritics. Hence the Germanic QWERTZ layout has to accommodate 4 extra characters, whereas the French AZERTY layout has accented characters replacing the primary action of the numeric keys. There’s also a QZERTY layout which is sometimes used for Italian.

So while it’s understandable that different languages require different alphanumeric layouts, this rationale is obscured by the fact that the same alphabets in very similar languages have different layouts. For example, the Danish and Norwegian alphabet (note the singular ‘alphabet’) has three extra vowels: æ, å and ø. Furthermore, aside from pronunciation, their languages are highly similar. And yet the Danish keyboard has a different layout from its Norwegian counterpart.

What the @#%&?

But for me, as a developer, the real problem with a foreign keyboard is the layout of the symbol keys, i.e., [ { : @ # and so on. On a German keyboard these are not merely in different locations, they’re often hidden behind different key combinations.

Insofar as I can tell, all the standard symbols used in English (alphanumerics with punctuation) can be typed on an English keyboard using only one modifier key: <shift>. For example, using a British English keyboard it’s physically easy for me to type @ by holding down either of the two <shift> keys to the side of the keyboard and pressing the required key; on a German keyboard the same symbol requires <right-alt> and <2>. I’m left wondering just how many users of English keyboards can remember the last time they were required to use <right-Alt>?

Furthermore, on a Swiss keyboard there are several keys which show three different character options. To someone who has learnt to type only on an English keyboard, this hand-contorting use of the <alt> keys is the typing equivalent of being in a maze next to your house: you can see where you want to end up but you can’t figure out how to reach it.

And if one opts to go down the Apple route, those keyboards may have the same alphanumeric layout for each country, but the symbols are yet again moved to different locations.

In deciding to write this blog post I planned to spend a short time researching why the symbols were in different locations. But to no avail; I’m still bamboozled. In fact, the only semblance of a conclusion that I’ve reached is that while people expect consistency for their nationalised alphanumeric layout, there appears to be a lack of concord when it comes to symbol-key layouts. The fact that, even in the same country, Apple have their own layout from almost every other keyboard manufacturer backs this up.

Or to put it another way: let’s agree to differ.

But what I have found out is that the next time I add a regular expression to my code, I’ll be thankful for my English keyboard.

var myRegExp = /^(\d{4}\-\d\d\-\d\d([tT ][\d:\.]*)?)([zZ]|([+\-])(\d\d):(\d\d))?$/;

Bild: Libor Krayzel auf Flickr (CC BY 2.0)

Related posts

Leave a Reply

Your email address will not be published. Required fields are marked *