Free Keyboard Layouts
and Keyboard-Map Information


[NOTE: This is Microsoft-OS specific. None of this has been tested on Windows 8, nor on Windows XP. These layouts are provided AS IS. All use of any of these keyboard maps for any purpose whatsoever is wholly at the user’s risk and control. If you don’t know what a ‘dead key’ is, or cannot come to understand its usage, or you are not sure of the use of keyboard remapping, or how to use locale settings on text, you shouldn’t be messing with keyboard maps. See the Windows Go Global site for standard keyboard assignments.]

  1. Latin International

  2. Fraktur keyboards: US-QWERTY and German-QWERTZ

  3. English Old Style

  4. Arabic QWERTY

  5. Devanagari QWERTY

  6. Hebrew QWERTY

  7. Russian QWERTY


The installation zip files offered on each of the above-linked pages contain installers for all currently supported versions of Microsoft Windows.

After unzipping the archive, simply double-click on setup.exe. It will automatically choose which of the provided “msi” files to invoke in order to install the correct format of the chosen keyboard layout within the running operating system version. (Some antivirus programs may propose running setup.exe in a “sand box”. Don’t do this, as that choice won’t actually install the keyboard layout within the OS: it will be lost as soon as the “sand box” is closed. Your antivirus app should scan the zip file for trouble when the zip file is downloaded.)


Help with Windows keyboards:

1. Windows Polytonic Greek keyboard map

For most purposes of the scholar of Classical Greek, Microsoft’s Polytonic Greek keyboard layout will suffice.

Note: It will not suffice for the student of Greek grammar, whether that be Homeric, Classical, Koine, Medieval or Modern: it does not contain capacity for marking long or short vowels with accents. This is not, however, the fault of Microsoft nor of this keyboard layout, but purely a matter of the incorrigible laziness and irremediable ignorance of the Unicode committee, which has foisted responsibility for all such known, delineated and standard character forms off onto each and every creator of each and every font, creating a mounting morass of inconsistencies: something the Unicode standard was specifically supposed to remedy, but of which is now the very cause.

The only difficulty with this layout is in getting acclimated to its remapping of the QWERTY keyboard in order to afford quick access to the various diacritics of accents and breathings.

A PDF file with a quick-reference listing of the keystrokes required for all the Classical Greek characters is available here.


Keyboard maps

The mapping between a keyboard’s physical keys and the character value that it sends to applications can be changed “on the fly”. This is because all physical, electronic signals from the keyboard go through a match-up table that tells the operating system which logical, Unicode character to send on to the listening application(s).

Each keyboard map is associated with a locale, that is, a combination of language + location. Thus you can have one single keyboard that, depending on which one has been chosen, will provide input of French (France), Spanish (Mexico) or Japanese. Japanese has a single location, so the name of the language by itself is enough to establish the locale, while both French and Spanish have multiple regional variants so location (or nation) has to be appended to the language to specify the locale.

If the application to which the keyboard sequence is sent happens to be “smart” enough, it will tag the text entered using each keyboard map, associating that text with the language + location used when it was typed in.

This association plus the software-mapping of keystrokes to Unicode ID numbers allows easy remapping of a single keyboard to support alternate keystrokes or scripts—glyphs different from the character images embedded in the keytops.

For example, keyboard switching will let you to remap the US English QWERTY keyboard to the UK English QWERTY, the German ‘QWERTZ’ or French ‘AZERTY’ keyboard layout, all of which differ to varying degrees from US QWERTY and from each other. Or you can load the Hebrew keyboard which is, of course, different from any of those. Each of those changes the input locale of the text entered using those layouts. But you can toggle your US QWERTY-mapped keyboard so that it will work as if it were temporarily ‘hardcoded’ as a US Dvorak keyboard, and the text you input will stay within the US English locale. [The built-in, Windows-specific keyboard layouts are searchable here.]

This capability moves computer keyboard usage far away from the hardware-limited, ‘locked in’ keystroke-mapping that typewriters enforced, and allows you even to design your own, personal keyboard, set up to your own desires and practices. (To create new keyboard layouts, you can use a free tool from Microsoft, the Keyboard Layout Creator, available here.)

Although the following layout-listings document the changes moving from the [US] QWERTY keyboard, these new keyboard layouts are not limited to remapping only keyboards with those keytops. Mapping from keystroke to displayed character is done by electrical signal from the keyboard, so other physical keyboards could be used as the starting layout. It is just important to remember that the remapping was done on the basis of the standard 101-key US English layout and keytop character-display (as seen in the images).

Certain versions of Microsoft Windows (such as “Home” in Vista and 7) restrict users’ ability so that they can use only the keyboard set up according to language and location choice made during  installation. Other versions allow choice of keyboards, and on-the-fly resetting of input locale. If you don’t have one of those versions, but you want to use one of these keyboard mappings, you will have to upgrade your version of Windows in order to unlock that functionality.

On Windows 7 [see the Microsoft docs/help for other revs] you can check to see if your version supports multiple keyboards by going to the Control Panel’s Region and Language applet and check the “Keyboards and Languages” tab to see if it will allow you to change kLocale.Dropdowneyboards. (Note that you do not have to install any other “display languages” in order to use a keyboard supporting a language different from your default input language—the functionalities are separate.]


glyph      This is the “picture” that is drawn using the information within a font, information that determines the outline, width and height of the form a letter or group of letters will take, given the font, which is determined by the font-family name and any attributes applied.

AltGr       This is the right-hand ‘alt’ key. When used for differentiating key-input, this ‘alt’ key is set to function differently from the left-hand ‘alt’ key, which retains its original functionality. (Some keyboards have utility apps that will let you switch the AltGr key to the left-hand one, for left-handed users.)

dead key A ‘dead key’ is one that requires a second keystroke after it to tell the system how to map the combination of the first and second keystrokes. Lowercase and uppercase characters are distinct from each other: they do not both have to be dead-keys.
When a deadkey is followed by a space character, you will need to type a second space to have a single space appear. This is a minor nuisance, but is the standard way keyboard layouts with dead keys are set up to work.

NOTE: There are some applications that will grab the keyboard and interfere with the mappings within keyboard layouts, with the AltGr mappings, in particular. If you are having trouble with incorrect or inoperative responses to these mappings, check all running applications for re-set “global hot-keys”. (Music/video player apps are particularly insidious at setting these up by default; you should be able to disable these keyboard-grabs somewhere within the user settings.)

If you do decide to try to create your own keyboard map, and you decide to use dead keys, there is one important issue to remember. If the Unicode ID to which the first, dead-key character has been mapped has been changed, you must enter that changed, Unicode value, not the original value of the keytop, as the base codepoint in the deadkey entry. Also remember to have the final entry in the deadkey table have the space character as its base codepoint, and map it to the codepoint you want returned when no deadkey combination is set.



Site design and contents (other than where otherwise noted)
Copyright © Eduard Qualls, 2013 - 2021.