MathCurvesSurfacesWallpaper GroupsGallerySoftwarePOV-Ray
ProgramingLinuxPerl PythonHTMLCSSJavaScriptPHPJavaEmacsUnicode ♥
Web Hosting by 1&1

Keyboard Layouts Fight! Dvorak, Maltron, Colemak, NEO, Bépo, Turkish-F, …

Xah Lee, , …,

Noticed that today there are a lot of keyboard layouts. There's your QWERTY, and there's Dvorak. That's good enough, right? No. Apparently, a lot people are making a lot layouts. Some are specialized on a particular language (⁖ German, Spanish), some aim for easier transition from QWERTY, some are designed for programers. This page is a list of them.

QWERTY

The good old QWERTY, always around when u don't need it.

QWERTY keyboard layout
The QWERTY layout.
    qwert yuiop []\
    asdfg hjkl; '
    zxcvb nm,./

Dvorak

My favorite.

Dvorak keyboard layout
the Dvorak layout.
    ',.py fgcrl /=\
    aoeui dhtns -
    ;qjkx bmwvz

Dvorak became a ANSI (American National Standards Institute) standard “X4.22-1983” and “X3.207:1991”.

Following is the numbers row of the original Dvorak design, but is not in the ANSI standard and is not widely used.

    75319 02468

Microsoft is probably the first OS to include Dvorak out of the box, in 1995. Mac didn't include one until Mac OS 8, in 1998.

For more about Dvorak, see: Dvorak Keyboard Layout and My Experiences.

Maltron

The Maltron Keyboard is actually a keyboard hardware. Its design shape is similar to Kinesis Contoured Keyboard, featuring split key clusters for each hand, bowl shaped surface, straight aligned keys, major key clusters (Enter ↵, ⌦ Delete, Space, …) placed for the thumbs.

Maltron flat keyboard-s
The flat version “Maltron 2d flat keyboard”. 〔☛ Maltron Keyboard Review

For explanations about why the thumb cluster keys are a major improvement over PC keyboard, see: Kinesis Contoured Keyboard Review and RSI.

The company created its own layout the Maltron layout.

Maltron keyboard layout US
Maltron keyboard layout US
    qpycb vmuzl
    anisf dthor
    .,jg, ;wk-x
       e

If you are wondering about that odd “e”, that's one of the key for the left thumb cluster. Other keys for the thumbs are {Space, Enter ↵, ⌫ Backspace, ⌦ Delete, ↹ Tab, arrow keys, ↖ Home, ↘ End, ⇞ Page △, ⇟ Page ▽}.

The company claims that the Maltron layout is more efficient than Dvorak, but i am not sure about that. See: Keyboard Layout: Dvorak vs Colemak: is it Worthwhile to Improve the Dvorak Layout?.

Programmer Dvorak

programmers Dvorak keyboard layout
“Programer's Dvorak” keyboard layout

Programmer Dvorak (by Roland Kaufmann at http://www.kaufmann.no/roland/dvorak/) is Dvorak with the following changes:

  1. The row for number keys “12345…” and symbols “!@#$%…” are reversed. To type numbers, you have to hold ⇧ Shift.
  2. The number keys are re-arranged to follow the more ergonomic, original Dvorak layout.
  3. Position for symbols is also re-arranged. Frequently used symbols now have easier positions than QWERTY or default Dvorak.
  4. Swapped the keys ' and ;.
  ~ %7531 90246 8`
  $ &[{}( =*)+] !#
symbols and number arrangement for Programmer's Dvorak layout

I am not sure it's better than Dvorak.

Is Inverted Number Row Better?

I have tried the inverted number row, for a few weeks in mid 2000s, but in the end i abandoned it.

One problem is that the numbers are needed often too, especially a sequence of numbers like credit cards, ID numbers, dates “2010-08-30” or if you do a lot scientific programing like x^2 - 1/5 * 1.6. But now you need to press ⇧ Shift for the numbers. (Roland wrote that you could use Caps Lock, but often in programing the Caps Lock is set to Ctrl, or set other keys (emacs 【Meta+x】, or Esc, etc).)

If you have a number pad, you can always use the number pad for typing long numbers, but that also means you move your hands away a lot. (i use my number pad as extra function keys. ⁖ switch windows/tab/workspace, close window, launch app, …. 〔☛ Computer Keyboard: Increase Productivity Using Function Keys〕)

In typical source code of popular languages, symbol characters appear more often than numbers. If the keyboard hardware is wired with inverted number/symbol row, i think i would like it. But for me it's too much trouble to adopt another non-common layout for small advantages.

For swapping the key ; and '… It is clear that ; is more frequently used in programing languages. But in English, the apostrophe ' is actually more frequent than semicolon ;. A coder still need to write plain English often, in comments, in email communication, in documentation, or blogs. Also, for me it's easier to curl in my pinky to the row below than extending it up to reach the above row. So, am not sure swapping them is a improvement.

My personal solution for programing is to have one of the modifier keys {❖ Win, ▤ Menu, ⌥ Opt} together with keys on the home row, to produce the most frequently used symbols: () [] {} "" = +. The matching brackets are inserted in pairs always, and cursor placed in between. 〔☛ Emacs: Insert Brackets by Pair

Colemak, Workman, Asset, Capewell

Layouts {Colemak, Capewell, Workman, qwpr, Asset} have one thing in common. They all keep many QWERTY keys in same position, so it's easier to learn it if you already touch-type QWERTY. Also, they keep the ZXCV keys in the same position, so {undo, cut, copy, paste} keys don't change.

Colemak

Colemak is designed for easy transition from QWERTY. Home page at colemak.com. The Colemak site appeared in 2005, and is aggressively marketed. Colemak is also now in Mac OS X 10.7 (released on .)

Colemak layout
Coleman layout. img src
    qwfpg jluy; []\
    arstd hneio '
    zxcvb km,./

Workman

Workman is a improvement of Colemak. It appeared in 2010. Created by OJ Bucao. home page at http://www.workmanlayout.com/.

workman keyboard layout
Workman layout.
    qdrwb jfup; []\
    ashtg yneoi '
    zxmcv kl,./

See: Dvorak vs Colemak vs Workman.

qwpr

qwpr keyboard layout by Jameson Quinn
the qwpr layout, by Jameson Quinn. (red for keys that change fingers and purple for those which move but say on the same fingers)

qwpr is another one similar to {Colemak, Workman}, but it changes even less keys, and lets you type many international language chars and Unicode symbols. It appeared in 2010. Detail at qwpr Keyboard Layout.

Asset

Asset is designed for easy transition from QWERTY. Home page at http://millikeys.sourceforge.net/asset/. The page appeared in 2006.

    qwjfg ypul; []\
    asetd hnior '
    zxcvb km,./

The red colored keys are different from QWERTY. The Colemak has 17 keys different from QWERTY. The Asset has 14.

Capewell

The Capewell keeps the XZCV keys same as QWERTY. It is designed by Michael Capewell. The date seems to be 2005. http://www.michaelcapewell.com/projects/keyboard/.

    .ywdf jpluq
    aersg btnio
    xzcv; kwh,'

de-ergo, NEO, ADNW (German)

The de-ergo layout is optimized for Germany language. http://forschung.goebel-consult.de/de-ergo/.

A supposedly improved version is the NEO layout, started around 2005, at http://pebbles.schattenlauf.de/layout/index_us.html. The following shows the NEO layout.

    qvlcw khgfj ß+
    uiaeo snrtd y#
  < öüäpz bm,.x
NEO Layout (version 1.1?)

Neo layout has a community site and seems to have a cult following. Neo home page at http://www.neo-layout.org/.

the ADNW (Aus der Neo-Welt) seems a improvement on Neo. Home page at: http://www.adnw.de/

Dvorak-fr, Bépo, bvofrak (French)

There appears to be 2 layouts for the French language, both designed for efficiency. Both designs follow Dvorak layout principles. Both have vows on the left hand home row.

Dvorak-fr

One is called “Dvorak-fr” at http://www.algo.be/ergo/dvorak-fr.html. This layout appeared in 2002.

  * 12345 67890 +%
  _ =/-è\ ^(`)" []

    :’ég. hvcmk z¨
    oaueb fstnd w~
  à ;q,iy xrlpj

Dvorak-fr has 2 other variations. “Dvorak-fr-e” for entering all euro lang characters. “Dvorak-fr-k” for the Kinesis Contoured Keyboard.

Bépo

The other is layout optimized for French is Bépo, at http://bepo.fr/.

  # 12345 67890 °`
  $ "«»() @+-/* =%

    bépoè !vdlj zw
    auie; ctsrn mç
  ê àyx:k ?qghf

Both Dvorak-fr-e and Bépo are designed to enter most or all accented characters for european languages.

It's interesting that both invert the number row. Their designers seem to be programers. However, they do not use the original Dvorak layout for the number keys arrangement.

Bépo is a later invention than Dvorak-fr. It claims to improve some problems in Dvorak-fr, and is more well marketed.

bvofrak

  % €0123 45678 9>
  # $=()+ -*/"« »<

    jcdhx ywpé. !k
    ntsrl oeiau ,
    fgvqm 'èbàz ç

Bvofrak is another French Dvorak layout, based on Bépo. http://bvofrak.blogspot.com/.

pt-Nativo (Portuguese)

“pt-Nativo” layout is a efficient layout for Portuguese language, based on Dvorak principles. It is created by Ari Caldeira, in around 2006. 〔☛ pt-Nativo (Portuguese) Efficient Keyboard Layout

    /,.hx wltcp ~-
    ieaou mdsrn ´'
  ; yçjbk qvgfz \

The “br-native” site is very well designed, and the author has put a lot thought about designing the layout.

Misc Other Layouts

There are also a Dvorak layout for single left hand, and one for single right hand. And there are also various ergonomic-oriented layouts (inspired from the Dvorak layout) for several other european languages. ⁖ Turkish-F, Spanish, Italian, Greek, Swedish, Norwegian, Finnish, and more. Except the Turkish-F, most seem to be designed by a single programer. For some languages, there are competing layouts. For links to these layouts, see: Dvorak Simplified Keyboard.

There are also a lot personal, non-published layouts out there. Here's one created by Claudius Hubig, at chubig.net.

What is the Most Efficient Keyboard Layout?

A question we all want to know: What is the Most Efficient Keyboard Layout?

What About a Reasonable Efficient Standard Layout for All Languages?

Another common problem is for international users, of non-English languages. For example, German, Spanish, French, and even Chinese and Japanese can benefit because their input methods commonly rely on Latin alphabet. 〔☛ Chinese Pinyin Letter Frequency & Dvorak Layout; 拼音字母頻率 & Dvorak 鍵盤佈局

In these languages, usually there are few extra characters that needs to be typed. There are many standardized layouts for them (⁖ QWERTZ, AZERTY), but often they still requires you to type the special chars by a combination of key press using AltGr modifier, and these layout usually do not consider any ergonomics in the sense of Dvorak. (see: Idiocy of Keyboard Layouts: QWERTZ, AZERTY, Alt Graph.)

It's much better to find ways to create a universal layout that are largely efficient, fixes the hardware layout problem, fixes the number arrangement problem, and can be used for all languages. I think this is quite doable. Neo, Bépo, and i think br-Nativo already claim to be general for inputting all eruo langs, except the main letter keys are arranged for particular language.

Ultimate Keyboard Layout?

I entered the fray. I can't help it. It's not so much a key layout, but rather a physical keyboard design. See: Ultimate Xah Keyboard Layout.

Thanks

Thanks to the following people who have made useful comments.

blog comments powered by Disqus