Dvorak Simplified Keyboard for Japanese
~ ! @ # $ % ^ & * ( ) { }  
  " < > P Y F G C R L ? + |
  A O E U I D H T N S _  
  : Q J K X B M W V Z  

Dvorak Simplified Keyboard

` 1 2 3 4 5 6 7 8 9 0 [ ]  
  ' , . p y f g c r l / = \
  a o e u i d h t n s -  
  ; q j k x b m w v z  

Ryota Uetake / 植竹 良太 / ryke@md.point.ne.jp / http://www4.point.ne.jp/~ryke/
Last Updated : 2005/06/13

1.Dvorak Simplified Keyboardとは
2.Dvorak Simplified Keyboardを使う意義
3.日本語入力にDvorak Simplified Keyboardを使う意義
4.日本語Windows XP/2000/NT4.0環境でDvorak Simplified Keyboardを実現する方法
5.日本語Windows Me/98/95環境でDvorak Simplified Keyboardを実現する方法
6.DOS環境でDvorak Simplified Keyboardを実現する方法
7.片手入力用配列

1.Dvorak Simplified Keyboardとは

 Dvorak Simplified Keyboardとは、アルファベットの配列を、 一般的な配列(QWERTY配列)とは、異なった並び方で定義したKeyboardであり、 そのキー配列は以下のようになっています。

101/104/107 英語keyboard用Dvorak配列
----------------------------------------------------------------------------
|  ~ |  ! |  @ |  # |  $ |  % |  ^ |  & |  * |  ( |  ) |  { |  } |         |
| `  | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  | [  | ]  |         |
----------------------------------------------------------------------------
|       |  " |  < |  > |    |    |    |    |    |    |    |  ? |  + |  |   |
|       | '  | ,  | .  | P  | Y  | F  | G  | C  | R  | L  | /  | =  | \    |
---------------------------------------------------------------------------|
|        |    |    |    |    |    |    |    |    |    |    |  _ |          |
|        | A  | O  | E  | U  | I  | D  | H  | T  | N  | S  | -  |          |
----------------------------------------------------------------------------
|          |  : |    |    |    |    |    |    |    |    |    |             |
|          | ;  | Q  | J  | K  | X  | B  | M  | W  | V  | Z  |             |
----------------------------------------------------------------------------

 ここでは、keyboard配列が持っている本当の意味を交えて、 Dvorak Simplified Keyboardを解説し、一般的な101/104/107 英語keyboardか、 106/109/112 日本語keyboardを使用している日本語Windows XP/2000/NT4.0/Windows Me/98/95環境で、 software的にDvorak Simplified Keyboardを実現する方法をご紹介します。

2.Dvorak Simplified Keyboardを使う意義

 Dvorak配列は英文入力において、一般的なQWERTY配列よりも、 より打ち易くなるように設計されています。
 そもそもQWERTY配列は、 19世紀に機械式タイプライターが開発された当初に、定義されたものであり、 その配列は意図的に打ちにくくなるように設計されていると言われています。 なぜ意図的に打ちにくい配列に設計されたかというと、 初期のタイプライターは打鍵速度が速すぎると故障するので、 それを避けるために、打鍵速度が上がりすぎないように、 打ちにくくなる配列が採用されたと言われています。

 Dvorak配列の特徴として第一に挙げられるのは、 左手・右手のキー配置です。 母音の'A','E','I','O','U'が全て左手の中段に集められているため、 右手と左手を交互に打鍵する割合が多くなり、 逆に片方の手のみで続けて打鍵しなければならない割合が少なくなります。
 また、第二に挙げられるのは、各段ごとのキー配列です。 使用頻度の高い文字が中段に集められているため、 指を上段・下段に移動する割合が少なくなります。

 Dvorak配列が提唱された時点では、 既にQWERTY配列のタイプライターがデファクト・スタンダードとして定着していて、 機械式タイプライターの場合は、買い替えなければDvorak配列を利用することは出来ないので、 タイプライターの技術が進歩し、Dvorakの優位性が認められても、 QWERTY配列を置き換えるだけのものにはなりませんでした。
 しかし、電子機器であるPCのキーボードの場合は、 ハードウェアを買い替えなくても、 ソフトウェアでキー配列を定義している部分をカストマイズすれば、 すぐにQWERTY配列からDvorak配列に移行出来るのです。
 英語で使用するキーボードドライバとしては、 既に各種OSで標準でDvorak配列のキーボードドライバが付属していて、 OSの設定を変更するだけで、Dvorak配列を使用出来るようになっています。

3.日本語入力にDvorak Simplified Keyboardを使う意義

 Dvorak配列は英語で入力しやすい様に定義された配列で、 特に日本語を考慮している訳ではないので、 日本語入力にDvorak配列を利用しても意味がないと思われるかもしれませんが、 日本語をローマ字方式で入力すると、 その文字列は母音と子音が交互になるケースが多くなります。
 これは母音を左手中段に集めているDvorak配列の特徴に適合しますので、 日本語のローマ字入力でも、 Dvorak配列による入力のしやすさが、享受出来ることになります。
 なお、日本語ローマ字入力でDvorak配列を利用する時は、 「か行」は'K'ではなく、'C'を使用して入力するように、 IMEの設定を変更しておくと良いようです。

 日本語版のWindows XP/2000/NT4.0/Me/98/95でも、 英語入力用のキーボード配列定義としては標準でDvorak配列が用意されていますが、 日本語を入力する時には、IMEを使用するため、 この配列定義を使用することは出来ません。
 そこで、これ以降では日本語版のWindows XP/2000/NT4.0/Me/98/95で、 日本語入力にDvorak配列を利用する方法をご説明します。

 なお、106/109/112 日本語keyboardについては、 特に標準的なDvorak配列定義が存在するわけではないので、 Shiftキーを押した時と押さない時のキーの組み合わせが変化しない条件で、 101/104/107 英語keyboard用Dvorak配列に似せて以下の様に定義しています。

106/109/112 日本語keyboard用Dvorak配列
----------------------------------------------------------------------------
|    |  ! |  " |  # |  $ |  % |  & |  ' |  ( |  ) |    |  { |  } |  | |    |
|    | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  | [  | ]  | \  |    |
----------------------------------------------------------------------------
|       |  * |  < |  > |    |    |    |    |    |    |    |  ? |  ` |      |
|       | :  | ,  | .  | P  | Y  | F  | G  | C  | R  | L  | /  | @  |      |
----------------------------------------------------------------------     |
|        |    |    |    |    |    |    |    |    |    |    |  = |  ~ |     |
|        | A  | O  | E  | U  | I  | D  | H  | T  | N  | S  | -  | ^  |     |
----------------------------------------------------------------------------
|          |  + |    |    |    |    |    |    |    |    |    |  _ |        |
|          | ;  | Q  | J  | K  | X  | B  | M  | W  | V  | Z  |    |        |
----------------------------------------------------------------------------

 まずは、以下の自己解凍形式アーカイブファイルをダウンロードして下さい。 これをダウンロードし、実行すると、 この後の説明で使用する各種ファイルが取得出来るようになっています。

日本語入力用Dvorak配列定義ファイル
DvorakJP.exe (40,430 bytes)
Click Here To Download

4.日本語Windows XP/2000/NT4.0環境でDvorak Simplified Keyboardを実現する方法

 Windows XP/2000/NT4.0では、レジストリに特定のキーを作成して、 そこに定義情報を登録すると、 キーボードのスキャンコードの入れ替えが行われます。 この機能を利用することにより、Dvorak配列を実現出来ます。
 レジストリの編集が可能になる、 Administrator権限を有する、User ProfileでLog Onして、 キーボードの種類に応じて、該当するレジストリファイル(*.reg)を、 ダブルクリックすると、そのキーが作成されます。 キー作成後に再起動すると、Dvorak配列が有効になります。

 レジストリファイル(*.reg)のファイル名は以下の様になっています。

keyboard type レジストリファイル名
英語101/104/107keyboard DV101.REG
日本語106/109/112keyboard DV106.REG

 Dvorak配列を無効にして、オリジナルのQWERTY配列に戻す時は、 同様に「QWERTY.REG」をダブルクリックして、再起動して下さい。

 なお、この設定はPCに対して行われます。 User Profileごとに設定を分けることは出来ませんので、ご注意下さい。

 Windowsの標準機能として、複数言語のキーボードをinstallして、 切り替えて使用することが出来るようになっていますが、 このレジストリを編集する方法の場合は、 全てのinstallしてあるキーボードに関して、キーの入れ替えが有効になります。
 他の言語のキーボード設定には影響を与えず、 日本語のみをDvorak化して、使用したい場合は、 DLLファイル(*.dll)の置き換えによってDvorak化を行うようにします。

 Windowsのsystem32ディレクトリ (Windowsのinstall先ディレクトリがC:\Windowsであれば、C:\Windows\system32)には、 キーボードの種類に応じて、以下のDLLファイルが存在しているはずです。

keyboard type オリジナルDLLファイル名 ファイルサイズ
英語101/104/107keyboard KBD101.DLL 9,520 bytes
日本語106/109/112keyboard KBD106.DLL 9,520 bytes

 この存在しているオリジナルのDLLファイルを、 例えば「KBD101QW.DLL/KBD106QW.DLL」という様に別のファイル名に変更し、 以下のDvorak化されたDLLファイルを、Windowsのsystem32ディレクトリに置いて、 オリジナルの「KBD101.DLL/KBD106.DLL」というファイル名に変更します。

keyboard type Dvorak化されたDLLファイル名
英語101/104/107keyboard KBD101DV.DLL
日本語106/109/112keyboard KBD106DV.DLL

 これでDLLファイルの置き換えが行われますので、 再起動すると、Dvorak配列が有効になります。

 この、DLLファイルを置き換える方法は、Windows XP/2000では、 動作確認はしていません。
 Windows NT4.0とWindows XP/2000では、 オリジナルのDLLファイル「KBD101.DLL/KBD106.DLL」の内容が、 変更されている様なので、Windows NT4.0用に用意したファイルを、 そのままWindows XP/2000で使用することは、 出来ないのではないかと思われます。

5.日本語Windows Me/98/95環境でDvorak Simplified Keyboardを実現する方法

 Windowsのsystemディレクトリ (Windowsのinstall先ディレクトリがC:\Windowsであれば、C:\Windows\system)に、 キーボードの種類に応じて、以下のKBDファイルが存在しているはずです。

keyboard type オリジナルKBDファイル名 ファイルサイズ
英語101/104/107keyboard KBDJP101.KBD 496 bytes
日本語106/109/112keyboard KBDJPA01.KBD 510 bytes

 Windows Me/98/95の場合は、このKBDファイルが日本語入力時のキー配列を、定義しています。 このKBDファイルの中身を修正することにより、Dvorak配列を実現出来ます。 Dvorak化されたKBDファイルは、キーボードの種類に応じて、 以下の様になっています。

keyboard type Dvorak化されたKBDファイル名
英語101/104/107keyboard KBDJP1DV.KBD
日本語106/109/112keyboard KBDJPADV.KBD

 Dvorak化されたKBDファイルを、Windowsのsystemディレクトリに置いて、 Windowsディレクトリ(Windowsのinstall先ディレクトリ)にある「system.ini」 の内容を編集します。

 system.ini の中には[keyboard]というセクションが存在していて、 その内部の行に以下のようにオリジナルKBDファイルのファイル名「KBDJP101.KBD/KBDJPA01.KBD」を含む、 記述が存在しているはずです。

[keyboard]
kbdjp.kbd=kbdjp101.kbd

 この kbdjp.kbd=... の行のファイル名を、 以下のようにDvorak化したKBDファイルのファイル名「KBDJP1DV.KBD/KBDJPADV.KBD」に変更します。
 なお行頭に;(セミコロン)がある行はコメントと見なされ、 内容は無視されることになります。

[keyboard]
;kbdjp.kbd=kbdjp101.kbd
kbdjp.kbd=kbdjp1dv.kbd

 変更後 system.ini を保存し、 Windows Me/98/95を再起動すると、 Dvorak配列が有効になります。

 なおMS-DOS プロンプトではDvorak配列は無効で、 元のQWERTY配列になります。 これはWindows98/95のGUIインターフェース内で MS-DOS プロンプトを起動した時(いわゆるdos窓)でも、 Windows98/95のGUIインターフェースを起動していなくて MS-DOS プロンプトのみが動作している状態でも、 両方について言えることです。
 MS-DOS プロンプトにおいてもDvorak配列を有効にするには、 この後の
6.DOS環境でDvorak Simplified Keyboardを実現する方法で紹介している方法も 併せて行って下さい。

6.DOS環境でDvorak Simplified Keyboardを実現する方法

 ここで紹介している方法は、 米Microsoft社のweb siteで公開されているモジュールを利用するものです。 但しこの方法でdvorak配列を実現すると、DOS プロンプトにおいて日本語入力をすることは出来なくなります。
 まず米Microsoft社のweb siteで公開されているGA0650.EXEというモジュールを入手します。 searchのページでkeywordとして"dvorak"を指定すればおそらく見つかると思います。 このGA0650.EXEは自己解凍形式の圧縮書庫ファイルになっていて、ダウンロードした後に実行すると、 dvorak.sysというファイルが作られます。
 このdvorak.sysを適当なフォルダに置きます。 ここでは例としてc:\dosというパスに置くものとします。 そしてDOS プロンプトにおいて以下のコマンドを実行すると、配列が置き変わります。

keyb dv,,c:\dos\dvorak.sys

 常にdvorak配列を利用するようになったら、 上記コマンドをAUTOEXEC.BATの中に追加しておくと良いでしょう。
 なおGA0650.EXEを実行した時に作られる他のファイルには、 詳細なドキュメントも含まれていますので、そちらも参照して下さい。

7.片手入力用配列

 英語キーボード用のキー配列定義では、 通常のDvorak配列の他に、「Dvorak - 右手用」、 「Dvorak - 左手用」というキー配列定義が用意されています。
 これは、片手でキーボード入力をするケースを想定して設計されているキー配列定義で、 以下のような配列になっています。

101/104/107 英語keyboard用Dvorak右手用片手打鍵配列
----------------------------------------------------------------------------
|    |  ! |  @ |  # |  $ |    |    |    |    |    |  ? |  { |  } |         |
|    | 1  | 2  | 3  | 4  | J  | L  | M  | F  | P  | /  | [  | ]  |         |
----------------------------------------------------------------------------
|       |  % |  ^ |    |  > |    |    |    |    |    |    |  : |  + |      |
|       | 5  | 6  | Q  | .  | O  | R  | S  | U  | Y  | B  | ;  | =  |      |
----------------------------------------------------------------------------
|        |  & |  * |    |    |    |    |    |    |    |    |  _ |          |
|        | 7  | 8  | Z  | A  | E  | H  | T  | D  | C  | K  | -  |          |
----------------------------------------------------------------------------
|          |  ( |  ) |    |  < |    |    |    |    |    |  " |             |
|          | 9  | 0  | X  | ,  | I  | N  | W  | V  | G  | '  |             |
----------------------------------------------------------------------------

101/104/107 英語keyboard用Dvorak左手用片手打鍵配列
----------------------------------------------------------------------------
|    |  { |  } |  ? |    |    |    |    |    |  $ |  # |  @ |  ! |         |
|    | [  | ]  | /  | P  | F  | M  | L  | J  | 4  | 3  | 2  | 1  |         |
----------------------------------------------------------------------------
|       |  : |    |    |    |    |    |    |    |  > |  ^ |  % |  + |      |
|       | ;  | Q  | B  | Y  | U  | R  | S  | O  | .  | 6  | 5  | =  |      |
----------------------------------------------------------------------------
|        |  _ |    |    |    |    |    |    |    |    |  * |  & |          |
|        | -  | K  | C  | D  | T  | H  | E  | A  | Z  | 8  | 7  |          |
----------------------------------------------------------------------------
|          |  " |    |    |    |    |    |    |  < |  ) |  ( |             |
|          | '  | X  | G  | V  | W  | N  | I  | ,  | 0  | 9  |             |
----------------------------------------------------------------------------

106/109/112 日本語keyboard用Dvorak右手用片手打鍵配列
----------------------------------------------------------------------------
|    |  ! |  " |  # |  $ |    |    |    |    |    |  ? |  { |  } |  | |    |
|    | 1  | 2  | 3  | 4  | J  | L  | M  | F  | P  | /  | [  | ]  | \  |    |
----------------------------------------------------------------------------
|       |  % |  & |    |  > |    |    |    |    |    |    |  + |  ` |      |
|       | 5  | 6  | Q  | .  | O  | R  | S  | U  | Y  | B  | ;  | @  |      |
----------------------------------------------------------------------     |
|        |  ' |  ( |    |    |    |    |    |    |    |    |  = |  ~ |     |
|        | 7  | 8  | Z  | A  | E  | H  | T  | D  | C  | K  | -  | ^  |     |
----------------------------------------------------------------------------
|          |  ) |    |    |  < |    |    |    |    |    |  * |  _ |        |
|          | 9  | 0  | X  | ,  | I  | N  | W  | V  | G  | :  |    |        |
----------------------------------------------------------------------------

106/109/112 日本語keyboard用Dvorak左手用片手打鍵配列
----------------------------------------------------------------------------
|    |  { |  } |  ? |    |    |    |    |    |  $ |  # |  " |  ! |  | |    |
|    | [  | ]  | /  | P  | F  | M  | L  | J  | 4  | 3  | 2  | 1  | \  |    |
----------------------------------------------------------------------------
|       |  + |    |    |    |    |    |    |    |  > |  & |  % |  ` |      |
|       | ;  | Q  | B  | Y  | U  | R  | S  | O  | .  | 6  | 5  | @  |      |
----------------------------------------------------------------------     |
|        |  = |    |    |    |    |    |    |    |    |  ( |  ' |  ~ |     |
|        | -  | K  | C  | D  | T  | H  | E  | A  | Z  | 8  | 7  | ^  |     |
----------------------------------------------------------------------------
|          |  * |    |    |    |    |    |    |  < |    |  ) |  _ |        |
|          | :  | X  | G  | V  | W  | N  | I  | ,  | 0  | 9  |    |        |
----------------------------------------------------------------------------

 この片手入力用配列を実現するための設定ファイルも併せて用意しています。 導入方法はこれまでに紹介した通常Dvorak配列と同様ですが、 Windows XP/2000/NT4.0、Windows Me/98/95の場合はファイル名の所のみを、 以下の表で対応させて読み替えて下さい。

Dvorak - 標準 Dvorak - 右手用 Dvorak - 左手用
Windows XP/2000/NT4.0 レジストリ編集方式 英語101/104/107keyboard DV101.REGDV101R.REGDV101L.REG
日本語106/109/112keyboard DV106.REGDV106R.REGDV106L.REG
DLLファイル置換方式 英語101/104/107keyboard KBD101DV.DLLKBD101DR.DLLKBD101DL.DLL
日本語106/109/112keyboard KBD106DV.DLLKBD106DR.DLLKBD106DL.DLL
Windows Me/98/95 英語101/104/107keyboard KBDJP1DV.KBDKBDJP1DR.KBDKBDJP1DL.KBD
日本語106/109/112keyboard KBDJPADV.KBDKBDJPADR.KBDKBDJPADL.KBD

 DOS環境の場合はkeybコマンドのパラメータを、 以下の様に変更して下さい。

Dvorak標準配列keyb dv,,c:\dos\dvorak.sys
Dvorak右手用配列keyb rh,,c:\dos\dvorak.sys
Dvorak左手用配列keyb lh,,c:\dos\dvorak.sys