My Internationalized Dvorak Keyboard Layout

This is an object les­son in the flex­i­bil­i­ty pro­vid­ed by two prin­ci­ples of Unix-like oper­at­ing systems:

1. Every­thing is a file.

2. Almost every file is human-read­able text.

Most impor­tant to this project was a corol­lary to the sec­ond point: that which can be read can be edit­ed.

Search­ing Google for “Dvo­rak inter­na­tion­al lay­out” result­ed in me find­ing Arjen van Kol’s dvorak_intl lay­out.  I liked his lay­out quite a bit at first, but I found myself still hav­ing to access a char­ac­ter map for punc­tu­a­tion I use often—such as the “em dash.”  I also noticed that his key lay­out, at least the Lin­ux ver­sion, does­n’t match the illus­tra­tion on his site.

I began by mak­ing his lay­out match his illus­tra­tion (I’ll send him an email tomor­row), then moved the Yen sym­bol, and fin­ished up by adding a nice array of hyphen-like punc­tu­a­tion marks.  This lay­out allows you to enter 160 dif­fer­ent Uni­code char­ac­ters with­out hav­ing to move your hands away from the key­board, but it cer­tain­ly helps to have a Uni­code font (and pro­grams which under­stand Uni­code, which is almost every­thing these days).

Please Note: The accent grave/tilde key is split into two modes. The char­ac­ters on the left side, which you get by press­ing the key with or with­out the “Shift” key, are what XKB calls “grave” and “asci­itilde.” The char­ac­ters on the right side are com­bin­ing char­ac­ters which can be used with dead key (right “Alt”) to apply these dia­crit­ics to any letter.

An imaging previewing the keyboard layout discussed in this post

You can down­load my new key­board lay­out by click­ing on this link; instal­la­tion instruc­tions are pro­vid­ed in the com­ments at the begin­ning of the file. Please post in the com­ments if you want me to write a post detail­ing how I made this layout.

Version 1.1 Update:

A new ver­sion of this lay­out is avail­able. Please see the release announce­ment for more information.

Comments are disabled for this post