Non-English Layouts

I often get mail from folks who want to have the benefits of the Dvorak keymap when typing in languages other than English. Unfortunately, this is a subject for which I don't have any ready answers. For now, this page can offer little more than a starting point. It covers the following topics:

Note: This page is in a rough-draft state. I expect it will never be complete, but for now it is particularly sketchy. My apologies.


News

I don't have time now to work the following into my pages properly:

20 February 2009: Sorry, this stuff keeps getting older and older! It looks like folks are keeping up the international links on the

  • Wikipedia Dvorak Page. There's a lot of good stuff out there, I'm sure.

    On Sep 13, 2004, at 2:21 AM, Francis Leboutte wrote:
    Please, could you update the section "Non-English Layouts" in your site, with my French Dvorak layout, named "Dvorak-fr".
    Layouts
    Available drivers (Windows, Mac, Linux, FreeBSD)
    Main Page

    On Aug 11, 2004, at 3:59 PM, Damien Guard wrote:
    ...might be worth adding that microsoft have a Windows keymap editor available for free download at http://www.microsoft.com/globaldev/tools/msklc.mspx

    At 11:34 AM +0000 12/12/01, Stephen Turner wrote:
    By the looks of your Foreign Dvorak page, you haven't seen my Euro Keys project: http://eurokeys.steveszone.com - It has been around for a while, and there is both a German & UK drivers for download. On my current projects page there is an Esperanto keyboard. My Esperanto keyboard is not Dvorak, but based on the same philosiphy - giving better typing to more people.

    On the other hand:

    At 6:19 PM +0200 10/16/00, Hartmut Goebel wrote:
    "German Dvorak" layouts normaly suffer from simply adding umlauts to the english layout. This is not sufficient since letter frequency is quite different in both languages.

    Research on designing keyboard layouts for german needs seams to be rare, But http://www.goebel-consult.de/de-ergo/ should be a good starting point where the author tries to collect related information and presents layouts.


    The Problem

    The keyboard language problem has two parts:

    Even if I could find time to work on these problems myself, I am rather ill-equipped to address them. I've had some scant and forgotten instruction in Latin, and an even more distant brush with grade-school German, with the result that I can usually recognize these languages when I fail to understand them.

    What follows, then, is my best guess at how to approach the problem of designing a custom-language Dvorak layout, or doing without one, plus any notes I can dig up on attempts that have already been made.

    CAVEAT: The one-and-only genuine Dvorak Simplified Keyboard is the English version (currently in use with only minor variations). Attempts to create other-language "Dvorak" layouts probably won't be researched as thoroughly as the original was. I do not and cannot endorse the layouts discussed here. Please consider them "experimental." Any non-English "standard" that is eventually settled upon might differ considerably from what you find here.

    I am creating this page in spite of the above caveat because I hope it can help to coordinate experimentation. In addition to layouts, I'd also like to include information about how each layout was developed. Was it a straight "hack" from English Dvorak, for example, or was there some scientific research? What more needs to be done? How useful is each layout, really?


    Making Do with What You've Got

    For some users it may be sufficient to use the Dvorak layout as it is, so long as diacritical marks can be generated without too much trouble. This is doable on the Macintosh (depending on your idea of "too much trouble"), and possible in Windows, but I'm not sure about other systems.

    Note: Not all browsers can display the special characters used in this section. Also I feel I should mention that using keyboard techniques to type special characters such as à and ñ may work in some e-mail and WYSIWYG web editors, but if you edit HTML in a text editor you need to use tags like à and ñ for the characters to display properly in the browser. See a good HTML programmer's reference for a list of tags and browsers that support them.

    Macintosh

    The Dvorak International layout I'm using on the Mac supports diacritical marks pretty much the same way the US International layout does. To get ç, for example, you hold the option key and type c.

    Accents are handled via dead keys. For example, if you press option-` on a Mac, nothing happens until you press a vowel key, so option-` e yields è (grave accent). Option-e followed by a vowel yields the acute accent, so option-e e yields é.

    For capitals, if you need them, hold shift when you type the base character, for example option-e shift-e yields É. Shift-option-c yields Ç.

    I'm not familiar with languages that use diacriticals. If you need something else, try experimenting with the Key Caps program in the Apple menu. When you press option, it marks dead keys with an indistinct grey outline. It looks like `, e, u, i, and n are dead keys, yielding è, é, ü, î, and ñ (for example).

    Windows

    I have to admit ignorance about generating special characters in Windows, but Eric M. Wilson has kindly contributed the following:

    According to the best of my knowledge (and many books), Windows does not support diacritical marks, per se. The "official" method to create them is to access the character from the font via its numeric position. To do this, you hold ALT, type the 4-digit ASCII code on the number-pad, then release ALT. For example, "à" is character number 224. To get it, I hold down ALT, type "0224" on the number-pad, and release ALT. Voilà! An "à" appears. This can also be used to get any special characters, like "™," "º," etc.

    I correspond a lot in Italian, which uses fewer accented characters than, say, French. But I still need a handful... I made a tiny chart of the common ones with their accompanying ASCII number and have it Scotch-taped to my monitor. Clunky, but it works.

    [MWB 9 Oct 01: Windows has a program in its Accessories menu (named "Character Map," I think) that displays available characters and shows the Alt+ combination for any character you select.]

    Although Windows itself isn't great, Microsoft Word has good built-in support for special characters. You can get most of them by holding CTL, typing a punctuation mark, then a letter. For example, "`" (backward-apostrophe) + [letter] gives an accent: "à." ":" can give "ü," "~" can give "ñ," etc. Since most people (me included) use ALT+letter or CTL+letter for shortcuts to other program functions, having this take one extra keystroke is better than eliminating a lot of other shortcuts in favor of special characters. If I typed Italian all of the time, though, I'm sure it would get old.

    There seem to be several utilities for entering accents and diacriticals in Windows, as well as performing other non-English keyboarding functions. A collection is available for download from Dr. Berlin's Foreign Font Archive - Utilities. If you try one of these and like it, please let me know.

    XWindows

    I have no idea how special characters and diacriticals are generated in XWindows. Can anybody tell me?

    [The following reply came from Axel Beckert. Thanks!]

    Yep, I can. :-) Most computers I work on have US-english layout and therefore no keys for the special character. On all those machines I can type those 8-bit special characters by pressing (and holding down) Meta and then pressing the character which would result if I strip of the eighth bit of the special character, I'd like to type. This seems to work on every 8-bit-capable tty (or application), if passing 8-bit character is enabled (mostly via the "stty" command with parameter "pass8").

    Example: ä is M-d because ä has value 228 and d has value 100. For luck Ä ist M-D... :-)

    Those keybindings aren't very ergonomical and you often need to type some escape character first because of your application using the Meta key for some commands, e.g. in Emacs you have to escape with C-g before typing a special character and the csh needs a C-v for the same purpose.

    Here is a list of the most common special characters I use and also type fluently.

    ä - M-d
    Ä - M-D
    ë - M-k
    Ë - M-K
    ï - M-o
    Ï - M-O
    ö - M-v
    Ö - M-V
    ü - M-| (*argh*, I've to use shift for the non-capitals and vv.)
    Ü - M-\ (dito.)
    ß - M-_ (dito.)
    é - M-i
    É - M-I
    è - M-h
    È - M-H
    

    The following little piece of PERL code will give you the whole list:

    for($i=32;$i<=127;$i++){
      print sprintf("%c = M-%c (values %d and %d)\n",$i+128,$i,$i+128,$i);}
    

    HTH.

    P.S.: I haven't done any RTFM on this, just use it all the time. So I can't be sure, that it works everywhere, especially with other encodings then latin-1... :-)

    Regards, Axel


    Rolling Your Own Layout

    I really should say something here about how to approach creating a "Dvorak Philosophy" layout, but I'm short on time for this writing session. Here are some tips:
    1. Minimum hack: Rearrange your QWERTY-derived national-language layout by moving each key from its more-or-less QWERTY position to the corresponding Dvorak position.

    2. A little better: Make sure vowels, vowel-like consonants (like Y), common punctuation, and least-used consonants are on the left side of the keyboard.

    3. Even better: Try to get most-used letters on the home row. Next best is the upper row or the middle of the lower row. Least good is the outer ends of the lower row.

    4. Getting there: Study your language and list the most common digraphs (two-letter combinations) and trigraphs (three-letter combinations). Make sure these are easy to type. For example, Dvorak seems to make common English diphthongs like ae, ei, ie, eu, and oe about as easy to type as possible, considering they are constrained to the left side of the home row by more important considerations. Avoid same-hand digraphs that jump between the bottom and top rows. Try to avoid immediately-adjacent digraphs on the same hand. When same-hand digraphs are necessary, try to favor combinations that roll from the outer fingers towards the middle of the keyboard.

    5. The real thing: Get a copy of Dvorak's Typewriting Behavior and really study it. Don't just go by a half-baked list of tips written by some jerk who skimmed the book in a hurry two years ago. Get a grant and a gaggle of grad students and submit the resulting thesis to your national standards organization.
    I think it would be useful for folks who create layouts to use something like the above list to rank their own efforts. This would make it easier to compare layouts and to plan enhancements. (If this page really takes off, I hope to see a progression of enhanced layouts based on what came before.)

    Macintosh

    You should be able to use ResEdit 2.1 to modify a _copy_ of an existing keymap. I'd start with the existing QWERTY-derived keymap for your language. That should give you a familiar starting point. You'll want to edit the KCHR resource in the keymap file. I've done this to produce a usable keymap, but I suspect a real Mac guru would also adjust some of the file's other resources for esoteric reasons.

    ResEdit 2.1 has a usable interface (better than the hex dump display in some earlier versions). In the KCHR resource editor, select Courier or another font that shows all the accented characters. Hold down the appropriate modifier key if necessary and drag a character from the big box to a key on the layout box to change that key for that modifier. Hold down a key (an actual key) and select "Convert to dead key" in the KCHR menu to make it a dead key. Click a dead key to edit it. Click the existing dead key first to see how it was set up. Select "Remove dead key" from the KCHR menu to make a key undead.

    Remapping the Control characters will be tricky. Just remember that each control "character," in the first and second columns, maps to the alphabet character visible 4 boxes to its left. (Or rather, it maps to the key that generates that character normally.) The exceptions are the first box (null) which doesn't map to anything, and the box that would otherwise map to ^ (caret) actually maps to the arrow keys.

    There's a copy of ResEdit at ftp://ftp.apple.com/developer/Tool_Chest/Developer_Utilities/ResEdit_2.1.3/. Be sure to read the license information file in that directory before downloading. You might be able to get a copy elsewhere.

    Windows 95/98

    Try Janko's Keyboard Generator. Looks cool, but I haven't tried it. The version that does dead keys, etc., costs extra. Janko's page has links to a lot of folks who have done keyboards, although I didn't notice anything Dvorak-specific.

    There is a flurry of keyboard mapping, entry, and font utilities available for download from Dr. Berlin's Foreign Font Archive - Utilities. If you try one of these and like it, please let me know.

    XWindows

    Some of techniques described on my XWindows page lend themselves to modification. Have at it!

    German Layout

    There's a really old one for the Mac. See my Mac page. For those of you who don't use Macs, I've printed the layout to an Adobe Acrobat PDF file and extracted a more-or-less plain-text version of the (German) docs file. (I can't vouch for the "text" file's character encodings.)

    Norwegian Layout

    I recently received this encouraging notice from Carl Anton Stenling:
    In Norway we have recently unified the two established Dvorak layouts for Norwegian keyboards. The resulting standard (Norsk Dvorak) is now implemented by all Norwegian keyboard drivers available on the internet.

    Since your site is visited by many Norwegian Dvorak users, I would be most grateful if you could add a link to the official site of the Norsk Dvorak effort:

        http://www.stenling.no/Dvorak.htm
    

    Swedish Layout

    Leif Claesson has devised a Swedish layout that he calls Svorak.


    Japanese Layout

    DBCS

    I found a note in Striking Home (Spring '98) that says Ryota Uetake has customized drivers for Windows 95, 98, and NT4.0 Japanese Edition to input Japanese Double-Byte Character Set (DBCS) text using the Dvorak layout. The regular Dvorak layout only works with the single-byte character set (SBCS).

    You can download the DBCS-compatible drivers from http://www.ff.iij4u.or.jp/~ryke/dvkb/. The page is in Japanese so I can't say much about it, but it looks pretty thorough. From the file names it seems to include both-hand and single-hand layouts. Let me know if you find it useful.

    T-Code

    I have some information from Kenichi Asai about T-Code, which is a Japanese-specific input method based on the Dvorak philosophy, as opposed to a Dvorak layout compatible with Japanese operating systems.

    Spanish Layout

    Steve Ingram at Dvorak International [Lost contact some years ago.--MB 21Nov09] was kind enough to connect me with Rolando Montaño Fraire, who has developed a Dvorak-style keyboard layout for Spanish. Here is a GIF of the layout. Mr. Montaño has put enough work into this layout so that it rates considerably better than a hack, although there is probably room for further study.

    The included layouts are designed for Windows systems running the Tavultesoft Keyboard Manager (Keyman). As such it is somewhat limited, but you can use the included GIF and letter frequency table as a basis for rolling your own layout. Keyman layouts are provided for Spanish and US-style keyboards. Please let me know if you develop native Windows layout or layouts for other systems.

    You can download the Spanish layout archive in Zip (PC) or Stuffit (Mac) format.

    Back to Introducing the Dvorak Keyboard.


    Last update: 11 October 1999
    Original page established: 16 February 1996
    Marcus Brooks:  HTML Home  Weblog