From the keyboard to the screen - a story of decoder

Almost all of us...

have to use a PC or a laptop on a daily basis. Hardly anyone stops to think about how the letters and signs entered on the keyboard get to the monitor. So, let us accompany them on their journey…    

In the beginning there was the decoder...

A so-called decoder is found in each keyboard and it determines the position of each key in the matrix that is stored. The process for determining a key position runs at between 10 and 100 times per second, depending on the technology. (Figure 1 shows the scanning procedure for a classic keyboard.) Here, for example, the rows of a key layout are allocated to signals and checks take place continually on whether and at which column line there is a signal. If a signal exists, you can assume that a key has been activated at that moment.

This information then makes it possible to find the scan code assigned to this key. The code is stored in the decoder’s memory. The process behind it reminds you of a simple retrieval process from any warehouse. In order to remove a part, warehouse workers only need to know the compartment where the part that is required is located. They simply require the information about the “row” and “column.” Things are similar in a decoder. The scan code is what gives a key its meaning and the scan codes for the various signs on a keyboard are standardized. This means that each keyboard, regardless of its manufacturer, transmits the same code to the PC for a particular sign.

Sign language!

This picture illustrates this process, using the example of the sign “a.” The sign “a” is generated in practice from the “#04” scan code that is transmitted by the PC and the operating system. If an upper-case A is needed, you normally press the “Shift” or “Shift key” too. This means that the additional information at the PC converts the a lower-case “a” into an upper-case “A and displays it.” A similar procedure is used with other function keys like “Alt”, “Ctrl” or “Win.”

However, there are also a large number of differing layouts with very different allocations for the same key – for example, “;” in English is “ö” in German.  

Did you know?

It is important to know that there is only one standardized scan code table. The operating system handles all the other language versions. (Figure 3 illustrates this.) The keyboard therefore only has different printed signs.

Then there is also the question that is often asked about MAC compatibility. A standard USB keyboard also works on a MAC – but not all the signs and symbols may have been printed on it.

This is easy to understand when you switch from one language to another in Windows (the keys produce the signs in the language that is set) or when using BIOS mode (the US layout normally applies there).

Do you need another quick tip?

In conclusion, we can say that only the scan code of the key that is pressed on the keyboard determines the result and is transmitted to the PC together with the status of the function keys. The operating system and its driver handle all the other functions, like key repeat rates, for example. It is therefore important to first check the settings in the operating system if any problems occur; they are often the cause of difficulties.

While the settings for the keyboard used to be easy to find in Windows on the “old” control panel, they now tend to be hidden.

Enter “Control” in the search box in Windows 10Select “Control” from the list of resultsThis opens up the “old” control panelSelect the “Keyboard” symbol and enter the settings that you require there

There are certainly some keyboards with additional functions too, but they are managed by the individual manufacturer’s own drivers.


Jens Kieselbach, Senior Field Application Engineer