超シンプル・コミュニケーションエイド:CHOSCA

1997.10.31 ver-1.04 小山智史(弘前大学)
このソフトは「障害者用ソフトパック(vol.4)」に収録されています(入手はこちら)。WWW版CHOSCAもお試しください。

1. 概要

 その名のとおり「超シンプルなコミュニケーションエイド」。1〜2個のスイッチ操作しかできない重度肢体不自由者のコミュニケーション(主に文書作成)を支援するプログラムです。

(主な特徴)

 本ソフトはフリーソフトです。再配布も改造も自由です。改造したソフトの配布は、そのことを明記して自由に行ってください。作者への連絡は不要です。でも、お気付きの点や改良された点を、作者にご連絡いただけるとうれしいです。

2. ファイルの構成

	readme.txt	このファイル
	chosca.brd	文字盤ファイル
	chosca.awk	AWK言語で記述したCHOSCAのプログラム本体
	lib.awk		AWKのライブラリファイル
	chosca.bat	メニュー形式のバッチプログラム
	keysense.com	DOS汎用のキー入力センスプログラム
			(リターンコード255の時キー入力あり)
	getchar.com	DOS汎用の1文字入力プログラム(リターンコードは入力文字)
(以下は機種別ディレクトリFM,98,DOSVに格納)
	mouseini.com	マウス初期化プログラム
	mousechk.com	マウスクリックチェックプログラム
			(リターンコード1でボタン1, 2でボタン2, 3でボタン1と2)
	esckey.com	キー入力拡張ESCドライバ(FM,98)
			(ESC ["A"k で「Aのキー」が押されたことになる)
(関連ソフト)
	jgawk.exe	米国FSFから配布されているgawkを日本語化したソフト
			2.15.2 + 1.1(SJIS)
			旧バージョンではsystime()関数が利用できないので注意
	chr.com		SHU.Inoue氏作のキーボードから入力した文字を環境変数に
			セットするプログラム。chosca.batで用いている。
(WWW版...上記のソフトは必要ありませんがWindows3.1/95/NTまたはMacでNetscape4.03が必要です)
	index.htm	readme.txtファイルに相当するCHOSCAのhtmlドキュメントです。
	chosca.htm		WWW版CHOSCAです。ブラウザでこのファイルを表示してください。
	chosmain.htm	CHOSCAのプログラム本体でJavaScript言語で記述されています。
	chosdata.js	ボード情報を記述するJavaScriptファイルです。適当に編集してください。単語や文章も記述できます。何面でも作成できます。

3.使い方

(1)準備

 CHOSCAのファイルを解凍し、機種によりFM,98,DOSVのディレクトリの内容をコピーしてください。jgawk.exe(フリーソフト)も用意してください。マウスとプリンタを利用できるように、必要な場合はデバイスドライバを組み込んでください。かな漢字変換を利用する場合は、必要な設定をしてください。

 FM,98では、esckey.comを常駐しておくとキー入力をエミュレートする拡張エスケープシーケンスが利用可能となり、文字盤でのかな漢字変換が可能となります。例えば、ESC ["A"k を表示しようとすると、キーボードから「A」が押されたことになります。
    A>esckey
で常駐し、
    A>esckey off
で常駐を解除します。

 メニュー用バッチプログラムでは文字盤の編集やプログラムの編集に用いるエディタの名称が「edit」になっています。必要に応じて変更してください。

 起動ディスクにCHOSCAのファイルを組み込んで「CHOSCA起動用ディスク」を作ると便利です。その場合は、autoexec.batの末尾に
    esckey     ...FM,98
    chosca
を追加してください(esckeyについては「7. かな漢字変換」を参照)。

(2)プログラムの起動

 chosca.batを起動してください。
    A>chosca
で次のようなメニュー画面が現れます。
		超シンプルコミュニケーションエイド:CHOSCA

		1 行列スキャン入力(80桁25行表示)
		2 行列スキャン入力(40桁25行表示)
		3 行列スキャン入力(40桁20行表示)
		4 文字盤の編集
		5 プログラムの編集
		6 マニュアルを見る
		7 終了

		番号またはコマンド?
40桁20/25行表示はFMのみ動作します。ここで、キーボードから希望の番号を入力し、改行キーを押してください。この操作は介助者が行うことを想定しています。DOSプロンプトから実行する場合は、次のように入力してください。     jgawk -f lib.awk -f chosca.awk chosca.brd
パソコンの電源を投入後、直ちに行列スキャン入力を利用できるようにしたい場合は、autoexec.batの末尾にこの行を追加してください。

(3)行列スキャン入力によるテキストの作成

 メニューで1〜3を選ぶと、文字盤が現れ、行スキャンが始まります。かな漢字変換を使用する場合は、ここで介助者がキー操作(「漢」や「XFER」)を行ってください(FM,98)。  以下の文中で、「要素」という言葉は文字盤に現れる「半角スペースで区切られた1文字以上の文字の並び(文字・単語・文章など)」を表します。

 スキャンの表示が入力したい要素を含む行に来た時にマウスの右ボタンを押すと、その行が選択され、列スキャンが始まります。スキャンの表示が入力したい要素に来た時にマウスの右ボタンを押すと、その要素が選択されます。選択した要素はディスプレイ下部に表示され、再び行スキャンが繰り返されます。ある程度テキストができたら印刷操作をします。

 自動スキャン中でも手動スキャン操作を受け付けます。マウスの左ボタンを押すとスキャンが次に進みます。スキャン速度を遅く設定すると、実質的に手動スキャンモードとなります。

 列スキャンは2周でキャンセルされ、行スキャンに戻ります。

(4)キーボード入力によるテキストの作成

 スキャン入力中でもキーボードからの操作が可能です。これは、介助者が一時的に手伝う場合に使用します。特別なキー操作として、
	スペースキー:全角スペースの入力
	BSキー:前回入力文字の取り消し
	+キー:スキャン速度を速くする
	-キー:スキャン速度を遅くする
	.キー:プログラム終了
があります。それ以外のキー操作では、文字盤で要素を選択した場合と同様にテキストを作成できます。「かな漢字変換」も利用できますから、文字盤に無い漢字を介助者が手伝って入力する時などに利用します。

(5)テキストの印刷

 作成したテキストは、文字盤の先頭行にある「印」を選択するとプリンタに印刷され、ディスプレイの表示はクリヤーされます。また、このテキストはメモファイルに記憶されます。メモファイルは、毎回上書きされ、それまでの内容は消失します。メモファイルを消去したい場合は、テキストが空の状態で印刷します。

4. プログラムファイルとパラメータの設定

 プログラム本体(chosca.awk)は、テキストエディタで自由に編集できます(メニュー画面から「5 プログラムの編集」を選択)。特に、chosca.awkの初めの部分では各種パラメータを設定しています。利用者の状態に応じて適当に変更してください(この作業は介助者が行います)。
	BRDFILE	 ="chosca.brd"		文字盤ファイル
	LOGFILE	 ="chosca.mem"		印刷時にテキストを記録するメモファイル
	MODE	 =3				スキャン開始位置のモードを指定
		1:毎回第1行第1列
		2:現在行から行スキャンを継続。列スキャンは第1列から
		3:それまでに入力した要素の頻度を元に最適なスキャン開始位置
	SCANCOLOR=GREEN	スキャン表示の色...RED/BLUE/YELLOW/GREEN/MAGENTA/CYAN
			モノクロディスプレイを使う場合はREVERSE/BRIGHTを使用
	CCANCEL  =2	列スキャンをキャンセルし行スキャンに戻るまでの回数
	PERIOD   =1	スキャンの周期(秒)
			手動スキャンで使いたい場合は9999など大きな値にする
	DELAY    =1	スキャン開始のディレイ時間(秒)
AWK言語はインタプリタですから、編集後直ちに変更したパラメータで実行できます。

5. 文字盤の構成と文字盤ファイル

 文字盤ファイル(chosca.brd)は、テキストエディタで自由に編集できます(メニュー画面から「4 文字盤の編集」を選択)。名前などの個人情報を追加しておくと良いでしょう(この作業は介助者が行います)。

 文字盤ファイルの中は次のようになっています。

	・各面は複数行で構成され、面と面の間は空行で区切る。
	・各行は要素を半角スペースで区切る。
要素は文字の並びで、1文字でも、単語でも、少し長い文章でも結構です。1行にひとつの要素しか無い場合は(半角スペースが含まれていない場合)、列のスキャンが行われずに、行を選択するとすぐにその要素が選択されます。「利用者に合った文字盤の工夫」は、入力効率を大きく改善します。

 各面の先頭の1文字は、面を切り換えるための表示としても使われます。なるべく、その面を代表するような文字で始まる要素にしてください。

 ディスプレイに表示される文字盤の先頭行には、面の切り換えのための要素に加えて、以下の特殊文字が自動的に表示されます。

	□:	スペース(かな漢字変換の変換操作を兼ねる)
	改:	改行(かな漢字変換の確定操作を兼ねる)
	戻:	入力したテキストの最後の1文字を削除
	取消:	かな漢字変換の変換取り消し(ESCキー)
	呼:	メモファイルの内容を呼び出して、入力中のテキスト末尾に追加
	印:	作成したテキストをプリンタに印刷します。
		このテキストはメモファイルに記録され、表示はクリヤーされます。
	終:	プログラムを終了し、メニューに戻ります。

6. メモファイル

 印刷時にその内容をメモファイルに記録します。 などの利用ができます。ただし、あくまで一時的なメモで、文書ファイルとして残すというものではありません。
 メモファイルの内容は、文字盤の「呼」を選ぶと作成中の文書のカーソル位置に読み込まれます。読み込みを行ってもメモファイルの内容はそのままですから、必要ならば何度でも読み込みができます。
 メモファイルを消去したい場合は、テキストが空の状態で印刷します。

7. かな漢字変換

 FM,98では、日本語入力ソフトが組み込まれていれば、かな漢字変換を利用できます。動作確認はVJE-β(ver-2.5)で行いました。参考まで、config.sysの該当箇所は次のように設定しました。
	device=vjeb.drv /a:/j/l/m2/t5/hr/ks/kr/d1/sys=a:\
 この機能を利用する場合は、esckey.comを組み込み、拡張エスケープシーケンスでキー操作をエミュレートできるようにしておきます。例えば、ESC ["A"k を表示しようとすると、キーボードから「A」が押されたことになります。ドライバは
A>esckey
で常駐し、
A>esckey off
で常駐を解除します。autoexec.batに組み込んでおくと良いでしょう。
 CHOSCAのメニューの1から3を選んで、行列スキャン入力が始まったら、かな漢字変換を使用する場合は、介助者がキー操作(「漢」や「XFER」)で日本語入力モードにします。変換と確定の操作は「□(スペース)」「改行」で行います。「取消」はESCキー、「カナ(カタカナ変換)」はPF2キーをエミュレートしています。なお、FMでは日本語入力のための特殊文字を文字盤に含めることも可能です(「漢」「変」「無」「登」)。

8. スキャン開始位置

 スキャン開始位置は「固定行・列(1行1列)」「現在行・1列」「最適行・列」の中から選択できます。chosca.awkの先頭のMODEで指定します。
 「MODE=1」とすると、毎回第1行第1列からスキャンを開始します。文字盤の左上ほど早く(あるいは少ない操作で)選ぶことができますから、このような場所に頻度の高い要素を配置すると効果的です。
 「MODE=2」とすると、現在行から行スキャンを継続します。列スキャンは第1列からとなります。視線の移動が少なく、親しみやすい方法です。
 「MODE=3」とすると、それまでの入力操作を元に操作回数を最小にするスキャン開始位置を推定し、行・列ともにその位置からスキャンを開始します。初めのうちは、スキャン開始位置が変わるために、使いにくいかもしれません。この情報をファイルに記録し、頻度情報が蓄積されるように改善したバージョンもあります。

9. 外部スイッチの接続

 マウスを改造し、左右のボタンの箇所に利用者に適した外部スイッチを接続します。チャタリング防止の処理が必要な場合は、ここで行ってください。

10. 現在わかっている問題点

  1. スキャン速度やスキャン開始のディレイ時間は、パソコンのクロックに同期し、1秒単位でしか設定できません。
  2. 作成中のテキストの編集は、末尾の1文字削除しかできません。
  3. 作成中のテキストが長くなり、ディスプレイの表示行数(20または25行)を超えた場合はスクロールが生じ、表示が乱れます。表示を気にしなければ、動作に支障はありません。
  4. 文字盤の1行が40または80文字を超えると、表示が乱れます。表示を気にしなければ、動作に支障はありません。

11. WWWブラウザ版CHOSCA(オンラインで使ってみる)

 JavaScript言語を使ったCHOSCAも作ってみました(Netscape4.0以降)。Windows95/NT,Macなどで動作します。インターネットのWWWサーバに置いても、ローカルディスクに置いても、どちらでも動作します。

 介助者がCHOSCAを起動し、マウスカーソルを「選択」の位置に移動すれば、それ以降はマウスの左クリックボタンに接続したセンサを使って、操作できます。印刷については、Tornado(Windows95用)などのソフトを使って以後の操作を自動化しておきます。

 基本的にはDOS版と同じですが、スキャン速度を任意に可変でき、作成文書の文字の大きさを変えられます。文字盤はchosdata.jsというファイルになっていますので、追加や変更はこのファイルを編集します。

 まだ、試作の段階ですし、Netscape4.03の動作が不安定なところも見受けられますので、途中でエラーになることもあるかもしれませんが、悪しからず。いずれ安価なネットワーク専用パソコンなどが登場すると、良い選択になるかも...。


日 更新