Dvorak, Matron, de-ergo, NEO, Colemak, Programer Dvorak, Keyboard Layouts Fight!

Perm url with updates: http://xahlee.org/kbd/dvorak_and_all_keyboard_layouts.html

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

Xah Lee, 2010-08-30, …, 2011-03-02, 2011-06-10

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 (e.g. German, Spanish, Portuguese, French), some aim for easier transition from QWERTY, some are designed for programers.

Here's a list of them.


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

    qwert yuiop []\
    asdfg hjkl; '
    zxcvb nm,./


My favorite.

    ',.py fgcrl /=\
    aoeui dhtns -
    ;qjkx bmwvz

Dvorak becomes 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, sometimes in mid 1990s. Mac didn't include one until Mac OS 8 or 9, in late 1990s.

For more about Dvorak, see: Dvorak Keyboard Layout.


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 for the thumbs (Enter, Delete, Space, …).

The company created its own layout the Maltron layout; design goal is similar to Dvorak. But their keyboard hardware also support QWERTY and Dvorak. maltron.com.

    qpycb vmuzl
    anisf dthor
    .,jg, ;wk-x

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 Up, Page Down.

maltron usb dual l90 uk mac dvorak 1-s

Maltron keyboard with Dvorak layout.

One problem Maltron never appealed to me is because the keyboard is quite ugly. Also am not sure why they have to invent the Maltron layout since Dvorak is already there, perhaps due to patent issues of the time. (according to their marketing material, the reason given was “better than Dvorak”, of course.)

Time mag actually ran a article on it in 1981. Science: The Case of QWERTY vs. Maltron (1981-01-26) at time.com

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

Programmer Dvorak

Programmer Dvorak (by Roland Kaufmann at kaufmann.no) is just like Dvorak, except the following changes:

  • ① Inverted the number row “12345…” with the symbols row “!@#$%…”. To type numbers, you have to press Shift.
  • ② The number keys are re-arranged to follow the more ergonomic, original Dvorak layout.
  • ③ The symbols on the number row have also been re-arranged, probably corresponding to their frequency in programing language source code.
  • ④ Swapped the keys ' and ;.
  ~ %7531 90246 8`
  $ &[{}( =*)+] !#

I like the idea of re-arrange numbers to be more ergonomic, but am not sure about inverting numbers and symbols, nor swapping ' and ;.

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 do a lot math 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 hotkeys)

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 modifier keys ((Win = Super), (Menu = Hyper)), together with the home row keys, to produce the most frequently used symbols: () [] {} "" = +. The matching pairs such as paren are inserted in pairs always, and cursor placed in between. (You can get my emacs init files at: Xah Lee's Emacs Customization Files.)

Colemak, Workman, Asset, Capewell

Colemak Capewell, Workman, are supposedly more efficient than Dvorak. They all keep the ZXCV keys in the same position as QWERTY for easy transition.


Colemak is designed for easy transition from QWERTY. colemak.com. The colemak site appeared in 2005, and is aggressively marketed.

    qwfpg jluy; []\
    arstd hneio '
    zxcvb km,./


Workman is a improvement of Colemak. It appeared in ~2010.

    qdrwb jfup; []\
    ashtg yneoi '
    zxmcv kl,./

Here's his story on why it is invented. A Different Philosophy in Designing Keyboard Layouts (2010-09-06) By OJ Bucao. @ Source viralintrospection.wordpress.com.


Asset is designed for easy transition from QWERTY. millikeys.sourceforge.net 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.


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

    .ywdf jpluq
    aersg btnio
    xzcv; kwh,' 

de-ergo and NEO (German)

The de-ergo layout is optimized for Germany language. forschung.goebel-consult.de de-ergo. A supposedly improved version is the NEO layout. It started around 2005. pebbles.schattenlauf.de neo layout. The following shows the NEO layout.

    qvlcw khgfj ß+
    uiaeo snrtd y#
  < öüäpz bm,.x

Neo layout seems to have a community site and seems to have some cult following. http://www.neo-layout.org/.

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.


One is called “Dvorak-fr” at algo.be dvorak-fr. 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.


The other is layout optimized for French is Bépo, at 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 other 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.


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

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

2011-03-02 There's 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. Home page at tecladobrasileiro.com.br.

    /,.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. e.g. 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.

Keyboard Layout: Dvorak vs Colemak: What Do You Get for Improving on Dvorak?

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. (See: Chinese Pinyin Letter Frequency and Dvorak Layout.)

In these languages, usually there are few extra characters that needs to be typed. There are many standardized layouts for them (e.g. 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 to the following people who have made useful comments.

  • Scott L Burson told me about Asset layout. Source.
  • Hugues told me about Bépo layout.
  • Elena (egarr…@gmail.com) corrected a error in my “Progrmmer's Dvorak” layout.
  • Xavier Gomes Pinho told me about the “br-native” layout. Source
  • Roland Kaufmann made informative comment on the programer Dvorak layout and also about Dvorak on Linux.
  • Hugues Dumez mentioned the bvofrak for French.

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs