Vector「新着ソフトレビュー」に寄稿した文章
Vector のレビューページ
ソフトを開発しようと思った動機、背景
当初、Dvorak配列関連の入力環境を無料で整えようと思いましたので、ソフトウェアを開発し始めました。既存のフリーウェアでは私が望む処理すべてを実現できなかったのです。 現在は、Dvorak配列関連の入力環境を整備し終えたものの、ソフトウェアを開発し続けています。 Dvorak 配列以外のキーボード配列についても自由に設定したいと考えるようになったからです。
開発中に苦労した点
種々様々な IME に対応する点とキーボード配列の設定方法をなるべく簡単にする点に苦労しました。
ユーザにお勧めする使い方
頻繁に使用する Back Spaceと Enter を入力しやすい位置に変更してみてください。
たとえば、 Caps Lockを Back Space や Enterに変更してはいかがでしょう。
無変換 や ; を Back Space に、 変換 や : を Enter に変更するということも考えられます。このように変更するだけで、キーボード入力が快適になるでしょう。
今後のバージョンアップ予定
定期的に更新し続ける予定です。不具合に関する報告を受けたら、できるだけすみやかに修正します。また、今後はいくつかの機能を実装しようと考えています。一例としては、三つ以上のキーを同時に打鍵する配列を設定できるようにしたいです。
素案
はじめに
以下の文章は、Vectorの新着ソフトレビューに寄稿する文の素案である。ソフトウェアの名称や配列名をできるだけ具体的に挙げながら説明しよう。
ソフトを開発しようと思った動機、背景
Dvorak 配列関連の入力環境を整えたい
Dvorak配列ってどうよ - スラッシュドット・ジャパンというエントリーに触れ、Dvorak配列関連の入力環境を無料で整えようと思った。条件は以下の通りである。
- Windows Vista で Dvorak 配列を使用する。
- キーボードを買い換えずに Dvorak配列を使用する。
- レジストリもIMEのローマ字かな変換表をも変更しないソフトウェアが望ましい。レジストリもIMEのローマ字かな変換表をも変更できないところで私が作業するからである。
- QWERTY 配列を前提としたショートカットキーを使用できるようにする。具体的には、C-文字ならば Ctrl-QWERTY 配列の文字を出力する。
- Dvorak の記号部分を自分好みに変更したい。たとえば、QWERTY 配列でいうところのwとEのキーで、丸括弧を出力するようにしたい。
- カ行とヤ行を入力しやすくしたDvorak 配列の拡張入力方式を使用したい。さしあたり、Google 検索で "Dvorak" を検索すると上位に現れる DvorakJP と 高速タイピング JLOD配列 (Japanese Layout on Dvorak) の二つを使ってみたい。
ところが、既存のフリーウェアでは上記の点すべてに対応できないことがわかった。理由を四点示そう。
- 窓使いの憂鬱は Windows Vista に対応していなかった。
- KeySwap for XPやChange Key キーボードのキーを変更といった、キーボード配列を変更する常駐しないソフトウェアは、すべてレジストリを変更してしまう。レジストリを変更しないためには、常駐するソフトウェアでなければならないようだ。
- dvorak kr release 2は既定の Dvorak 配列へ切り替えることしかできず、記号の配置を変更できなかった。Dvorak 配列に切り替えるソフトウェアの中でも、このソフトウェアを使用すれば、C-文字ならば Ctrl-QWERTY 配列の文字を出力してくれるという利点があるのだが。
- DvorakJP や JLOD配列といったDvorak 配列の拡張入力方式を使用できるフリーウェアがそもそも存在しない。Dvorakerや姫踊子草といったシェアウェアを使用すればなんとかなりそうではあるが。
上記の点をすべて解決するために、DvorakJを作成した。
Dvorak 配列以外の入力環境を整えたい
その後、より柔軟に入力方法を変更できないものかと考えるようになった。
- 文字キーと文字キー以外を組み合わせた処理を自由に変更することだ。たとえば、Space-aを同時に押すと-aとするSandSがある。また、変換-aを同時に押すとC-aとすることも考えられよう。先日専用ソフトウェアが公開されたJCtrlの仕様もこれにあてはまる。
- 直接入力用の配列としてDvorak 配列以外にも変更できるようにしようと思った。Dvorak 配列以外にもキーボード配列を変更する案がこれまで提案されてきた。Colemakがその例だ。
- キーを同時に打鍵する配列を実装してみようと思い立った。その配列とは文字キー同士を同時に打鍵する下駄配列である。この配列に関しては、DvorakJ の開発環境たる AutoHotkey 用のスクリプトが 2008 年に公開された((199 :名無しさん :sage :2008/05/15(木) 20:38:41 0))。このスクリプトの処理を参考にすれば、文字キー同士を同時に打鍵するキーボード配列を実装できる。さらに、このスクリプトの処理を少々拡張するだけで、変換キーと文字キーを同時に打鍵する小梅配列やNICOLA配列といった、いわゆる親指シフトの類を容易に実装できるのだ。
キーボード配列を自由に編集したい
さらに、キーボード配列をだれもが自由に変更できるようにしようと考えた。
- これまでのDvorakJ は既定のキーボード配列を選択する機能しかなかった。私が実装したキーボード配列しか使用出来なかったのである。
- 直接入力用の配列と日本語入力用の配列について、個別に設定できるようにしたい。日本語入力用配列として、順に打鍵する配列と同時に打鍵する配列についてもほぼ同一の設定方法により実装したい
- キーボード配列の設定方法に関しては中立的な設定方法を採用する。QWERTY 配列以外の配列を使用している者にとっては、QWERTY 配列を前提としてキーボード配列を編集したくないだろう。たとえば、キー入力入れ替えソフト「姫踊子草」の設定ファイルでは、QWERTY 配列を前提としている。そうではなくて、109キーのキーボードの位置情報そのものに文字を振り分けるよう設定すればよいだろう。
開発中に苦労した点
種々様々な IME に対応する点
Microsoft IME や ATOK をはじめとして、skkime や Google 日本語入力に対応することに苦労した。
DvorakJ を使用すれば、どの IME でも同一のキーボード配列を使用出来るようにしたい。
そのためには各 IME の動作を調べて対処せねばならない。
この作業が思うようにはかどらなかった。
キーボード配列の設定方法をできるだけ簡単にする点
キーボード配列の設定方法を簡単にするよう改良し続けることにも苦労した。
ローマ字かな変換表のようにキーボード配列を設定するのがよいのか、それとも日本語キーボードを模した表に文字を書き込んでいく設定方法がよいのだろうか。
設定できる打鍵方法を追加しつつ、設定方法を簡単にしておく。
これらを総合的に考えた結果、現在の設定方法、すなわち日本語キーボードを模した表に文字を書き込んでいく設定方法を採用することにした。
ユーザにお勧めする使い方
Back Space や Enter を入力しやすくしよう
Back Spaceや Enterを入力しやすい位置に変更すれば、キーボード入力が快適なものとなるだろう。
たとえば、Caps Lockを Back Space や Enter に変更すればどうだろうか。
無変換をBack Spaceに、変換をEnterに変更するということも考えられよう。
;でBack Spaceを、 :でEnterを出力してもよい。
キーボード配列を自由に変更しよう
自分が入力しやすいと考えるキーボード配列を使用してほしい。
直接入力用の配列として、QWERTY 配列とDvorak 配列、Colemak配列を実装している。
他方、日本語入力用の配列として、チーズタイピングやJLOD配列、月配列といったキーを順に打鍵する配列と、NICOLA配列や小梅配列、下駄配列といったキーを同時に打鍵する配列の双方を実装している。
キーボード配列の設定ファイルを簡単に編集できるので、自分好みのキーボード配列を作成してみよう。
今後のバージョンアップ予定
定期的に更新し続ける予定だ。
不具合に関する報告を受けたら、できるだけ早く修正したい。
追加の機能としては、キーを順に打鍵する配列とキーを同時に打鍵する配列を融合させたい。
これを実現できれば、kとaを順に打鍵すると「か」を出力し、kとaを同時に打鍵すると「かく」を出力できる。
現在のところ、どちらかの打鍵方法しか選択できないのである。
また、3キー以上を同時に打鍵する配列を設定できるようにしたい。
そうすれば、a f j ;の4キーを同時に打鍵するだけで「よろしくお願いします。」と出力することができよう。
おわりに
快適な入力環境を実現するソフトウェアを公開し続けたい。
これまでユーザーの皆さんから貴重なご意見を賜ってきた。
DvorakJ を改変し続けることができたのは、このご意見により多くのことを考えさせられたからだ。
DvorakJ を使用すればキーボード配列を思いのままに変更できる、と感じてくだされば幸いである。
Last modified : 2012/01/20 00:38:08 JST
blechmusik (blechmusik@gmail.com)