blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

DvorakJ を開発しようと思った動機、背景

Dvorak 配列関連の入力環境を整えたい

Dvorak配列ってどうよ - スラッシュドット・ジャパンというエントリーに触れ、Dvoark配列関連の入力環境を無料で整えようと思った。条件は以下の通りである。

  1. Windows VistaDvorak 配列を使用する。
  2. キーボードを買い換えずに Dvorak配列を使用する。
  3. レジストリIMEのローマ字かな変換表をも変更しないソフトウェアが望ましい。レジストリIMEのローマ字かな変換表をも変更できないところで私が作業するからである。
  4. QWERTY 配列を前提としたショートカットキーを使用できるようにする。具体的には、Ctrl + 文字キーならば Ctrl + QWERTY 配列の文字キーを出力する。
  5. Dvorak の記号部分を自分好みに変更したい。たとえば、QWERTY 配列でいうところの W と E のキーで、丸括弧を出力するようにしたい。
  6. カ行とヤ行を入力しやすくしたDvorak 配列の拡張入力方式を使用したい。さしあたり、Google 検索で "Dvorak" を検索すると上位に現れる "DvorakJP" と "高速タイピング JLOD配列 (Japanese Layout on Dvorak)" の二つを使ってみたい。

ところが、既存のフリーウェアでは上記の点すべてに対応できないことがわかった。理由を三点示そう。

  1. 「窓使いの憂鬱」Windows Vista に対応していなかった。
  2. Dvorak 配列に切り替えるソフトウェアのうち、dvorak kr release 2 に注目した。このソフトを使用すれば、Ctrl + 文字キーならば Ctrl + QWERTY 配列の文字キーを出力してくれるのだ。しかし、このソフトウェアでは既定の Dvorak 配列へ切り替えることしかできず、記号の配置を変更できなかった。
  3. DvorakJP や JLOD配列といったDvorak 配列の拡張入力方式を使用できるフリーウェアがそもそも存在しない。Dvorakerの詳細情報 : Vector ソフトを探す!姫踊子草の詳細情報 : Vector ソフトを探す!といったシェアウェアを使用すればなんとかなりそうではあるが。

上記の点をすべて解決するために、DvorakJを作成した。

Dvorak 配列以外の入力環境を整えたい

その後、より柔軟に入力方法を変更できないものかと考えるようになった。

  • 第一に、文字キーと文字キー以外を組み合わせた処理を自由に変更することだ。たとえば、Space キーと”A”を同時に押すとShift + “A” とするSandSがある。また、変換キーと”A”を同時に押すと Ctrl + A とすることも考えられよう。先日専用ソフトウェアが公開されたJCtrlの仕様もこれにあてはまる。
  • 第二に、直接入力用の配列としてDvorak 配列以外にも変更できるようにしようと思った。Dvorak 配列以外にもキーボード配列を変更する案がこれまで提案されてきた。Colemak keyboard layout: ergonomic, fast and easy to learn QWERTY/Dvorak alternativeがその例だ。
  • 第三に、キーを同時に打鍵する配列を実装してみようと思い立った。その配列とは文字キー同士を同時に打鍵する「下駄配列って何だ?」である。この配列に関しては、DvorakJ の開発環境たる AutoHotkey 用のスクリプトが 2008 年に公開された。このスクリプトの処理を参考にすれば、文字キー同士を同時に打鍵するキーボード配列を実装できる。さらに、このスクリプトの処理を少々拡張するだけで、変換キーと文字キーを同時に打鍵する[61℃] 小梅配列<その先の親指シフト>NICOLA 配列規格書といった、いわゆる親指シフトの類を容易に実装できるのだ。

キーボード配列を自由に編集できるようにしたい

さらに、キーボード配列をだれもが自由に変更できるようにしようと考えた。

  • これまでのDvorakJ は既定のキーボード配列を選択する機能しかなかった。私が実装したキーボード配列しか使用出来なかったのである。
  • 直接入力用の配列と日本語入力用の配列について、個別に設定できるようにしたい。日本語入力用配列として、順に打鍵する配列と同時に打鍵する配列についてもほぼ同一の設定方法により実装したい
  • キーボード配列の設定方法に関しては中立的な設定方法を採用する。QWERTY 配列以外の配列を使用している者にとっては、QWERTY 配列を前提としてキーボード配列を編集したくないだろう。たとえば、キー入力入れ替えソフト「姫踊子草」の設定ファイルでは、QWERTY 配列を前提としている。そうではなくて、109キーのキーボードの位置情報そのものに文字を振り分けるよう設定すればよいだろう。