Symbol Keyboard

Summary
Many of the articles that we write include scientific, mathematical or typographic symbols that aren’t easily entered with a keyboard. In Windows, for example, some symbols can be entered from the so-called Emoji Panel; previously, tools like Character Map allowed symbols to be copied to the clipboard for pasting into a document. However, those methods are slow and awkward.
Windows also supports ‘Alt codes’, which allow a code (corresponding to a specific symbol or character) to be entered on the numeric keypad. Many of the available characters come from what is known as Code Page 1252.
Since a Leonardo board can emulate a USB keyboard, it can generate these key sequences as needed. While a series of pushbuttons could be used for input, we have decided to use an LCD touch panel, as it allows us to customise the available symbols.
By using a display shield, assembly is simple: just plug the shield into the Leonardo board. Of course, it needs to be programmed; we have used the Arduino IDE for this, so it is easy to modify or customise.
The photo above shows a complete Symbol Keyboard populated with our choice of symbols. We often use these symbols when writing our articles, but there are many other useful ones in the Windows Code Page 1252 set. Many are accented letters used in languages other than English.
Note that the Alt codes scheme only works on Windows computers, so this keyboard will not work on other operating systems. Alt codes should also work in Linux, but for macOS, you would have to modify the software to use either Option codes or text replacements.
Table of Contents
Similar projects you may be interested in