This article is part of my Mechanical Keyboards 101 series in which I talk about mechanical keyboards, their components, customisation and how to get started. Read the rest of the series here.
Keyboards come in very many shape and sizes, so let's have a look at a couple of important things first: the size and the layout. The size of a keyboard will dictate how many keys you will find on a keyboard. The layout dictates the order in which the keys are arranged.
Commonly, keyboards tend to be "full-size", complete with a numeric pad, all the function keys, and arrow keys.
Full-size keyboard - src
If you remove the numeric pad, the keyboard becomes a "ten-key less" (TKL) keyboard, but it retains all its function keys and arrow keys.
TKL keyboard - src
Once you remove the function keys on the right-hand side of the keyboard, you're left with a "75%" keyboard. These keep the top row of function and some others keys like "Page up" and "Page down", and the main keys.
75% keyboard - src
And you can go smaller still! A very common layout amongst programmers is the 60% layout, which gets rid of arrow keys and functions keys and only keeps the "core" keys. This gives a more streamlined look and a smaller keyboard that's easier to carry around.
If you need your arrows keys too much, though, you can settle for a 65% keyboard, which will have arrow keys and a few function keys to balance out the look of it.
60% keyboard - src
If that's not small enough for you, well, you can still go smaller! 40% layouts remove the number row of other keyboards, and will give you the bare minimum to work with. If you like the tiny look, this one's for you!
40% keyboard - src
40% keyboard - src
So how do you access all those missing keys when you type on a smaller keyboard? Often, these boards will have software that allows you to layer your keys. For each key that you have, if you press a combination of a function key and a given key, it will do the same as the dedicated key would do on a bigger keyboard.
In the illustration below, you can see how I configured my layers. By pressing the Fn1 key, I can access the arrow keys (which I have mapped to vim arrow keys), so Fn1 + H becomes the left arrow, etc. And by pressing the Fn2 key. I can access the screen brightness settings and other settings.
The layout of the keyboard, as mentioned earlier, dictates the order in which your keys go. It will depend on your language and region, and may vary very wildly.
Two common layouts for English speakers are the ANSI and ISO layouts. They differ in subtle ways, not in the order of the letters, but rather where the special characters can be found, as well as the size of some of the keys.
If you're a Czech or a French speaker, you will notice some differences in the placement of the letters and the special characters:
French AZERTY layout - src
Czech QWERTZ layout - src
So why do we use different layouts? Often it's because they were created by typewriter producers back in the olden days, and they've stuck through the decades and centuries. The QWERTY layout was developed to avoid typewriters getting stuck as letters that were too close together would jam when pressed by fast-typing typists.
They tend to be adapted to the language of the country where they're used as the need for accents and special characters differ from language to language. If you want to see a wide range of them, head on over to this Wikipedia page.
Some layouts keep ergonomy in mind, and look at the frequency at which letters are used, in order to keep them on the home row for easier access. Colemak and Dvorak are two such layouts, and have been gaining popularity.
Comparison of the frequencies of letters - src
Ergonomy is not only reflected in the layout of the keys, but also the shape of the keyboard and the size of the keys. Ortholinear keyboards have keys that are all of the same size, in order to reduce the travel distance of the fingers between each keys. Split keyboards and "ergo" keyboards are aligned differently to put less strain on wrists as you type.
Ortholinear keyboard - src
Split keyboard - src
Ergo keyboard - src
Now that we know more about the different types of keyboards we can use, let's have an in-depth look at how we can customise them.