Foreign Language Character Input Methods

Michael J. Ross

This article was published by Nomadtopia Collective, on their website, 2021-01-09, as a feature article.

Many human languages use character sets completely unique to each particular language or family of related languages — such as Thai. In contrast, the Romance languages share common letters — specifically, the Latin alphabet — with differences in the use of accented letters. Examples include "À", "Á", "Â", and "Ã", which are the capital letter "A" with the accents grave, acute, circumflex, and tilde, respectively.

Anyone writing such accented letters freehand, such as when using pen and paper, naturally have no restrictions as to adding accents at will. But when writing using an electronic device — such as the physical keyboard of a laptop or the virtual keyboard of a smartphone — one is limited to including only those accented characters that are technically possible. For instance, if you are teaching yourself Spanish through the use of websites and mobile apps, then you will likely find that all the decent language learning resources will have some way of inputting accented characters, although these ways may be somewhat cumbersome and inconvenient. If you are using a language learning website for desktop software, then it may require you to move your fingers from the keyboard in order to point and click at icons representing accented characters or, even worse, selecting them from a drop-down list box. If you are using a smartphone app, then it might not even offer such user interface elements and instead you will have to install the foreign language on your phone, which will slow down future input of words because now the virtual keyboard has many more optional words from which to choose as you type characters and it presents the presumably best matching ones just above the keyboard. Sometimes even this does not work, because the desired word containing an accented character might not be displayed as one of the three options and the keyboard might not allow the input of the accented character needed to bring the desired word into the list of three options.

Fortunately, for people using laptops and desktop computers, their greater flexibility allows for some additional methods of inputting these foreign language characters.

Microsoft Word

If you are using the world's most popular office productivity suite, Microsoft Office, then you can take advantage of the accented letters built into the Office character sets — at least, in Microsoft Word. The most time-consuming approach is to insert the accented character as a symbol. The steps for doing this depend upon which version of Microsoft Word you have installed on the computer. In newer versions, you would go to the Insert tab, click on the "Symbol" button, click on the "More Symbols" button, select the "Latin-1 Supplement" subset, click the accented character you want to insert into the document, and then press the "Insert" button. In older versions of the word processor, you would choose the "Symbol" option from the "Insert" menu. In either case, this approach assumes that the Latin-1 character set has been installed in your version of Word.

A much faster approach is to use the ASCII codes for the accented characters, in conjunction with the number pad of your keyboard. Desktop computer keyboards typically have separate or embedded number pads, but most laptops do not, in which case you would have to use some sort of add-on. To input any character for which there is an associated ASCII code, you would hold down the Alt key while typing in the three-digit ASCII code on the number pad. For example, to insert the character é, you would hold down the Alt key and then type 130.

An alternative keyboard approach, which does not require a number pad for the entry of ASCII codes, makes use of special combinations of keys that are more intuitive and thus easier to remember. You can input any desired accented character by first typing a key combination and then the (unaccented) letter. Here are the keyboard combinations for the most commonly used letters, each with an example using the letter "A":

For instance, if you wanted to enter the character "À", you would hold down the Ctrl key, tap the accent grave key (`), release the Ctrl key, hold down the Shift key, and then tap the "A" key. If you wanted to enter the character "é", you would hold down the Ctrl key, tap the apostrophe key ('), release the Ctrl key, and then tap the "E" key (not capitalized). If you wanted to enter the character "ô", you would hold down the Ctrl key and the Shift key, tap the caret key (^), release the Ctrl and Shift keys, and then tap the "O" key (not capitalized).

AutoHotkey

The techniques described above are limited in that they only work within Microsoft Word. But nowadays most computer users spend the majority of their time working not in a word processor but instead in a web browser, interacting with websites, including those teaching foreign languages. One could switch back and forth between Microsoft Word and a web browser — inserting any needed accented characters in the former, cutting or copying them, and then pasting them in the latter. But that would be terribly inefficient and slow. Fortunately, there is a solution that is independent of any application.

For Windows machines, AutoHotkey (AHK) is one of the best programs for creating macros, which can be thought of as sequences of character input and other computer operations, and which can be assigned to custom keyboard combinations that you would then use to run each macro. It has a full scripting language that allows one to create GUI pop-up windows and other widgets, but for our purposes will be used for simple character input. The website has all the needed information for installing and configuring the program, as well as how to create your first AutoHotkey script and have it load automatically each time you boot up your computer. Once that is completed, you can assign any number of keyboard combinations to insert the corresponding accented letter into whatever program currently has focus on your computer.

Here are the hotkeys I have set up for accented letters in Spanish:

^,::
    Input key, I L1
    IfEqual key, a
        SendRaw á
    IfEqual key, e
        SendRaw é
    IfEqual key, i
        SendRaw í
    IfEqual key, n
        SendRaw ñ
    IfEqual key, o
        SendRaw ó
    IfEqual key, u
        SendRaw ú
    IfEqual key, y
        SendRaw ü
    IfEqual key, /
        SendRaw ¿
    IfEqual key, 1
        SendRaw ¡
Return

The first line of code means that, in order to insert a Spanish letter, I first type Ctrl + comma, and at that point AutoHotkey is waiting for me to press one final character on my laptop keyboard. For example, if I type Ctrl + comma and then press "a", AutoHotkey sends the character "á" into whatever program I am using at that moment and wherever the edit cursor happens to be. Incidentally, you may be wondering why I have assigned the upside down question mark character to the forward slash key (/), instead of assigning it to the actual question mark key on my keyboard. That's because the latter does not work, because a Shift key is required to enter the question mark character (instead of a forward slash character).

For Mac machines, such as a MacBook, you can input an accented letter by holding down that letter on the keyboard, which then pops up several accented options, from which one can be selected by choosing the associated number. This method does not work for all programs and websites, in which case you may have to input the accented letter into a program for which it does work, copy the letter, and finally paste it into its target location. To avoid this tedious process, you could use a commercial macro program such as Keyboard Maestro (paid), or a free one such as Macro Recorder or iKey, or the built-in AppleScript.

These are just some of the techniques that you can use for inserting accented letters into whatever text you are typing. Personally, I have found the AutoHotkey macros to be the most versatile solution.