2014年04月15日

点字タイプソフト作ってみました。

Windows 8向けに点字タイプで文字が打てるプログラムを作ってみました。これを起動しておくと、様々なソフトの文字入力ができる部分において、キーボードのホームポジションで点字打ちをすることで、そこに文字を入力できるようになります。機能はあまり多くありませんが、せっかく作ったので、ここに公開します。ダウンロードはこの記事の下の方の brlinput.zip リンクからできます。

とにかくシンプルに作ってみました。本体は一つの実行ファイルのみです。キーの割り当ても変えられません。できるのは、点字入力で対応する平仮名の出力、そして点字の出力です。途中で両手入力、片手入力を切り替えることはできませんが、起動時に選べます。漢字入力は、IMEを起動してから、ひらがなを入力することで行います。英字への切り替えは外国語引用符で行います。「⠦(点字。環境によっては表示不可、2,3,6の点)」で英字に切り替わり、「⠴(3,5,6の点)」でかなに戻ります。数字は数字符「⠼(3,4,5,6の点)」で始まり、第一つなぎ符「⠤(3,6の点)」で終わります。なお数字の桁数に制限はありません。記号の多くは実装していません。

今後、漢点字や六点漢字、その他の記号やコマンドなどいろいろ機能を追加していくこともできそうですが、これ自体は低機能を目指します。多機能の要望があれば別に有料版として開発していくことにします。

実行すると、画面の右下にIMEの言語バーのようなものが表示されます。これには現在の入力の状態が表示されています。またタスクトレイには白抜きの「め」が表示されます。この状態で点字タイプ入力が可能になります。FDSJKLがそれぞれ点字の1から6の点に対応しています。いわゆるパーキンス式です。試しにFキーを押せば「あ」が表示されるはずです。全部押すと「め」です。なお、日本語変換は自動では切り替わらないので、自分で切り替える必要があります。

デスクトップパソコンで6キー同時押しができないときは、違うキーボードに変えればうまくいく可能性があります。ノートパソコンで打てないときは、不便ですが外付けキーボードで何とかしないといけないでしょう。

このプログラムには4つのモードがあります。平仮名墨字(すみじ)出力、無効、六点点字出力、八点点字出力です。これらの切り替えはALT+CTRL+変換キーで行います。ありがちなショートカットなのでかぶって使えないかもしれません。スクリーンリーダー(PC-Talker、NVDA)利用中は動作内容をSAPI5音声で簡単に報告します。

当初は予定していなかったのですが、プログラムを書くときに文字パレットから点字をとってくるのが大変だったので、点字の活字を直接出力するモードも付け加えました。六点(⠿)だけでなく、八点(⣿)も打てるようにしています。もちろん、八点入力モードはキーボードで8キー同時認識ができることが前提です(ダメなときは、同時押し対応のゲーム用外付けキーボードを使えば、USB接続でも8キー同時認識が可能かもしれませんが、試していません)。入力方法ですが漢点字の一般的な方法を踏襲しています。上の二つの点を0の点、7の点として無変換キーとスペースキーで入力します。残りの点は六点点字と同じです。なお、NVDA利用中に無変換キーをNVDAキーとして使っているときは入力がうまくできないので、そのときは「日本語設定」で「無変換をNVDAキーとして使用」のチェックを外してください。

動作確認はWindowsVISTA/7/8.1で行いました。実行には.NET Framework3.5が必要です。パソコンに.NET FrameWork3.5が入っていないのに実行しようとすると、インストールの案内が出るはずですので、指示に従って入れてください。標準フォントにユニコード点字が入っていない場合はバーに点字は表示されません。そのときは、こちらのBraille6.ttf をインストールするとバーに六点点字を表示できます。もちろん文書への点字出力にはユニコードの点字のあるフォントに対応しているエディタやワープロソフトが必要です。

終了方法ですが、マウスの操作ができる場合は、点字入力パネルを右クリックすれば、終了項目だけのメニューが出るので、それをクリックしてください。確認が出るのでまたエンターしてください。タスクトレイにあるアイコンでも同様の方法で終了できます。キーボード操作で終了させるには、Windows+Bでタスクトレイの操作に切り替え、「点字タイプ」のところに右矢印キーで移動して、アプリケーションキー(もしくはシフト+F10)でメニューを出します。これは先ほどのマウスで右クリックしたときのメニューと同じで、終了を選んでエンターをすると同様に終了します。

片手入力にも対応しています。切り替え方ですが、付属のファイルなどを作りたくなかったので、実行ファイル名で区別しました。実行ファイルの最後の文字が「r(アール)」のときは右手用、「l(エル)」のときは左手用になるようにしています。どちらでもないときは両手用です。つまり、エクスプローラの設定により拡張子が見えていないときは「brlinputr」と実行ファイル名を書き換えると右手用に、拡張子が見えているときは「brlinputl.exe」とすれば、左手用になります。一時的な切り替えならば、タスクトレーのアイコンを右クリックして「手の切り替え」からできます。

そしてその入力方法ですが、これも既存のソフトの方法を踏襲しています。左側、右側それぞれに何らかの点があるときは、そのまま左側を打った後、右側を打てば、一つの点字と認識されます。問題は片側に点が何もない場合です。そのときは空白を示すキーを打ちます。右手入力のときはセミコロンキー、左手入力のときはAキーがそれです。例えば、右手入力で「い」を入力したいときは、同時に「Jk」を打った後、「;」を打ちます。

当然ですが、スタートアップに登録すれば起動時に常駐させることもできます。ですが今回は自動化していませんので、必要ならば、手作業でスタートアップに入れてください。点字入力を一時的に無効にするときは、先ほど説明したモードを切り替えるALT+CTRL+変換キーで「無効」を選びます。

最後に、このソフトは無保証です。自己責任でご利用ください。通常、ここで公開するプログラムはソースも公開していますが、今回は非公開とします。

⇒ダウンロードbrlinput.zip ver.1.0.0.4(20140715)
(リンク先のDownloadボタンを押せばダウンロードできます。)
ハッシュ値(MD5)を確認したいときはこちら

(更新履歴)

2014/07/15
修正版(ver.1.0.0.4)に差し替えました。 
・英字のときsdfjklが正しく打てなくなっていたのを修正。

2014/07/13
修正版(ver.1.0.0.3)に差し替えました。 
・読点が打てなくなっていたので、修正(5、6の点、その後、スペース)。
・モード切替のショートカットをCtrl+Alt+変換キーに変更。
・修飾キー(Shift、Ctrl、Alt、Win)が押されているときは、点字入力とは見なさない。

2014/07/12
修正版(ver.1.0.0.2)に差し替えました。
・Shift+CapsLockでキャプスロックをオンにしたとき、本来は英字の大文字化の前置符号である6の点を、その間だけ小文字化の前置符号とみなすことにした。それに伴いその間の音声ガイドも「小文字」となるようにした。
・該当しない点字パターンを入力したとき、PC-TalkerもしくはNVDAで「エラー」と発音するようにした。
・入力する手の切り替えメニューにチェックが付くようにした。

2014/07/11
修正版(ver.1.0.0.1)に差し替えました。
・数値と外字引用の処理がおかしくなってしまったので、修正
・モードの切り替えをCtrl+Alt+Bに変更
・英大文字の入力ができるようにしました。英字入力が可能な時に、6の点だけを打つと、後続の一文字だけを大文字にします。連続して英大文字を使うときは、Shift+CapsLockです。

2014/07/07
修正版(ver.1.0.0.0)に差し替えました。
・問題だった「や」を修正しました。
・入力する手の選択をタスクトレイのメニューが選べるようにしました。
・点字キーとスペースでいくつかのコマンドを入力できるようにしました(スペースキーのタイミングに注意)。
入力できるのは一般的なソフトに近い以下の通りです。以下の点字を入力して手を離す前に「スペース」を追加して、手を離せば実行できます。ただし右手入力のときは右側入力のときにスペースキーです。左手入力のときは右側の入力のときにスペースの代わりに無変換キーです。なお01の列は1の点から順に押すときを1、押さないときを0で表しています。括弧内は一般的な機能です。
"100000" ... Enter
"010000" ... →
"110000" ... Ins
"000100" ... ←
"111100" ... PgDn
"000010" ... Del
"100010" ... Ctrl+End(文書末へ移動)
"010010" ... ↑
"101010" ... Tab
"011110" ... Ctrl+HOME(文書先頭へ移動)
"000001" ... Esc
"001001" ... ↓
"101001" ... PgUp
"111001" ... Home(行頭へ)
"111011" ... End(行末へ)
"111111" ... Alt+F4(ウィンドウを閉じる)



拍手する
posted by takayan at 02:40 | Comment(22) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする

2014年07月07日

点字タイプソフト修正

以前公開した「点字タイプソフト」を修正しました。主な修正点は、以下の通りです。

・問題だった「や」を修正しました。
・入力する手の選択をタスクトレイのメニューが選べるようにしました。
・点字キーとスペースでいくつかのコマンドを入力できるようにしました(スペースキーのタイミングに注意)。
入力できるのは一般的なソフトに近い以下の通りです。以下の点字を入力して手を離す前に「スペース」を追加して、手を離せば実行できます。ただし右手入力のときは右側入力のときにスペースキーです。左手入力のときは右側の入力のときにスペースの代わりに無変換キーです。なお括弧内は一般的な機能です。
"100000" ... Enter
"010000" ... →
"110000" ... Ins
"000100" ... ←
"111100" ... PgDn
"000010" ... Del
"100010" ... Ctrl+End(文書末へ移動)
"010010" ... ↑
"101010" ... Tab
"011110" ... Ctrl+HOME(文書先頭へ移動)
"000001" ... Esc
"001001" ... ↓
"101001" ... PgUp
"111001" ... Home(行頭へ)
"111011" ... End(行末へ)
"111111" ... Alt+F4(ウィンドウを閉じる)

このソフトは知り合いの右手で点字入力をされている方のために作りました。WindowsXPから乗り換えるときに、いままで使っていたWinBRLが新しいパソコンで使えないことを知って、急遽作ったものです。10年位前にDelphiで同じ機能のソフトを作りかけたことがあったので、何をすればいいのかはよく分かっていました。とはいっても、その頃のソースはなくなっていて、アルゴリズムを最初から考え直さなくてはいけなかったので、少し苦労しましたが、とりあえず実用的なものが作れました。

今回、内部では漢点字の入力も可能なものに作り替えています。スペースキーを使った点字コマンドも、その仕組みを利用して7の点として実装しました。多少変則的なものになっているのはそのせいです。ただ単独の空白としてのスペースと、7の点としてのスペースの区別は、このように押すタイミングではっきりと区別した方が、人間にもコンピュータにも分かりやすく作れます。違和感を覚える方もいるかもしれませんが、そういう仕様だとご理解ください。

不具合が1つ見つかっています。それはPC-Talker/VDMWを使っている場合、マイサポート経由でUAC(ユーザーアカウント制御)を無効にすると、入力が二重になったり、読み上げなかったり、動作がおかしくなってしまいます。この原因は現在分かりません。両手入力の方はKTOSを使えばいいので、困るのは片手入力の方になります。PC-Talker/VDMWを使われている方はこのソフトの使用中はUACを無効にしないでください。



拍手する
posted by takayan at 02:40 | Comment(0) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする

2014年07月11日

点字タイプソフト修正(20140711)

不具合が見つかったので、点字タイプソフトを修正します。

まず、モード切替に使っていた、Ctrl+Alt+Spaceは、Windowsで使っているのが分かったので、Ctrl+Alt+Bに変更します。BはBrailleのBです。これもVisualStudioなどで使っているショートカットですが、そのような場合はタスクを一時的に切り替えて回避してください。

それから、数字入力と外国語引用符の処理がおかしくなってしまったので、修正しました。3,4,5,6の点で数字モードに切り替え、3,6の点でかなに戻します。2,3,6の点で英字モード、かなに戻るには、3,5,6の点です。一文字だけ英字を打つときは5,6の点です。後続の一文字だけを英字にします。

大文字の入力に対応しました。英字入力が可能な時に、6の点だけを打つと、後続の一文字だけを大文字にします。連続して英大文字を使うときは、Shift+CapsLockで大文字入力に切り替えれば、通常の入力で大文字が入力されます。元に戻すときも、Shift+CapsLockです。

現在対応していないカタカナ入力や記号入力は日本語変換で入力してください。カタカナはF7キーで一括変換です。

次の記事内のリンクからダウンロードしてください。
点字タイプソフト作ってみました。



拍手する
posted by takayan at 02:17 | Comment(0) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする

2014年07月12日

点字タイプソフト修正(20140712)

昨日修正したのに、今日もです。昨日の修正で、ちゃんと英字の大文字が打てるようになったのですが、キャプスロックをオンにした後、大文字の前置符号である6の点を使うと、小文字が表示されてしまいます。分かっていれば、これはこれでいいのですが、そのときの音声ガイドが「大文字」のままになっています。これだと音声ガイドと入力される文字との間に齟齬が出て、混乱させてしまいます。これは放置すべきではないので、はやめに修正します。ついでに他も修正します。

修正箇所
・Shift+CapsLockでキャプスロックをオンにしたとき、本来は英字の大文字化の前置符号である6の点を、その間だけ小文字化の前置符号とみなすことにした。それに伴いその間の音声ガイドも「小文字」となるようにした。
・該当しない点字パターンを入力したとき、PC-TalkerもしくはNVDAで「エラー」と発音するようにした。
・入力する手の切り替えメニューにチェックが付くようにした。

修正されたソフトは次の記事内のリンクからダウンロードしてください。
点字タイプソフト作ってみました。



拍手する
posted by takayan at 01:37 | Comment(2) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする

2014年07月13日

点字タイプソフト修正(20140713)

度々ですみません。読点(、)が打てなくなっていました。外字の前置符号の処理を書き換えたときにこの処理が抜け落ちていました。それと先日モード切替をCtrl+Alt+Bに変更しましたが、これはPC-Talkerで起動中のアプリケーション数を読み上げるショートカットでした。切り替えの動作はちゃんとするのですが、いちいちアプリケーション数を読み上げるのもうるさいので、また変更します。新しいショートカットはCtrl+Alt+変換キーです。修飾キーを使ったときの動作も見直しました。

今回の修正(1.0.0.3):
・読点が打てなくなっていたので、修正(5、6の点、その後、スペース)。
・モード切替のショートカットをCtrl+Alt+変換キーに変更。
・修飾キー(Shift、Ctrl、Alt、Win)が押されているときは、点字入力とは見なさない。

修正されたソフトは次の記事内のリンクからダウンロードしてください。
点字タイプソフト作ってみました。



拍手する
posted by takayan at 08:00 | Comment(0) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする

2015年05月27日

点字タイプ入力ソフト「brlinput」のバージョンアップ

久しぶりの投稿になります。去年作ったbrlinputというソフトを更新しました。点字タイピングで文字入力ができるソフトです。興味のある方は使ってみてください。特徴としては片手入力ができることです。対象はWindowsVISTA以降です。お約束ですが、自己責任でご利用ください。

次のリンクからダウンロードできます。

インストーラ版: [BrlinputSetup1.17.msi](https://app.box.com/s/g8hnoar683555bswv8c5y7gmx9b9dna7)
(md5:2c7dc75dba9bdc322cd0172b09f45c4f)

ZIPファイル版: [brlinput1.17.zip](https://app.box.com/s/2bbfb5z2et7cxxoz5pwwv60um0cirmkh)
(md5:59957d780c2a41e22df4ffd779f69bd9)

不具合の指摘をコメント欄でいただいてから開発を再開したのですが、次々に別の不具合に気づいたり、新しいアイデアが浮かんだり、なかなか公開できませんでした。

件の「最初に入力した文字がそのまま出てくる」不具合は、キー入力になってはじめて必要になるアセンブリ(dll)をロードする処理の重さが原因のようでした。もしかすると他にも理由があるかもしれませんが、とりあえず自宅の処理の遅い仮想マシーンのWindowsではこの問題は起きなくなりました。

基本的な使い方は以前書いたので端折ります。「点字タイプソフト作ってみました。(2014/04/15)」をご覧ください。これには古い情報がいくつもありますが、以下の情報で読み替えてください。

主な変更点は次の通りです。

* インストーラ作りました。
* NVDAのAPIに対応し、入力文字の読み上げやガイドをNVDAで行えるようにしました(nvdaControllerClient32.dll同梱)。
* PC-TalkerのAPIにも対応しました(ただしVISTAでの仮名の読み上げには対応していません。漢字変換を利用してください)。
* かな入力モードおよび六点入力モードで、4-5-6-7の点を入力すると、このソフトのメニューが開くようにしました。従来の方法、タスクトレイのアイコンでアプリケーションキー、もしくは「点字(状態)バー」で右クリック、でも開きます。
* 設定画面を作りました。メニューの中の「設定」で開きます。設定された内容はレジストリを使わず、config.jsonに書き出されます。インストーラを使ってこのソフトを導入した場合は、ユーザーフォルダのAppData\Roaming\brlinput内に作られます。ZIP版を使って導入した場合は、brlinput.exeと同じ場所に作られます。
* SAPI5やMicrosoft Speech Platformの音声を選べるようにしました。もちろんあらかじめパソコンに日本語音声合成が入っている必要があります。
* 情報処理用点字に切り替えられるようにしました。切り替えの方法や入力は点字表記の情報処理用点字と同じです。
* 入力モード切り替えのショートカットキー(標準はALT+CTRL+変換キー)を設定画面で変更できるようにしました。
* カタカナを直接入力できるようにしました。「2-3の点」もしくは「2-3-5の点」でカタカナ開始、「2-3の点」でカタカナ終了です。
* カタカナ切り替えに利用したため、「ゐ」と「ゑ」は本来の点字入力ができなくなりました。かわりに、4-6の点を前置符号として、それぞれその後に「い(1-2の点)」、「え(1-2-4の点)」で入力します。これは漢点字の方式からの借用です。
* ユニコード点字は点字そのものをテキストとして表示するものですが、それを行う六点直接入力、八点直接入力で、点字を読み上げる機能を加えました。設定画面で指定できます。なおユニコード点字そのものを入力するには、フォントSegoe UI Symbolなどが入っている必要があります。
* 点字確認キーを追加しました。これは点字入力を学習する人向けの機能です。Hキーでクリップボードの1文字の点字を表示し、読み上げます。Gキーではクリップボードの読み上げる位置を移動させながら、確認できます。
* 点字入力の状態を表示する「点字状態バー」を入力位置に追従できるようにしました。点字学習者やロービジョンの方の確認用です。
* デスクトップやスタートメニューへのショートカットを作成・削除できるようにしました。メニュー内の「ショートカット作成」から行います。ここではウィンドウズ起動時の自動起動の設定も行えます。
* 点字状態バーに表示される点字を画像として描くようにしたので、ユニコード点字フォントがないパソコンでも表示されるようになりました。この点字は文字色と同じ色で描かれます。ハイコントラスト(左shift+左alt+PrintScreenで切り替え)の時も同様です。また六点漢字(現在未対応)の対応を見越して4マス表示できるようにしています。

bar

次はメニューです。仮名入力の時、4-5-6の点とスペースを押して、手を離すと開きます。このソフトの仕様ですが、7の点としてのスペースや点字と組み合わせたコマンドのスペースの押下のタイミングは単独のスペースと区別するために、点字のキーを押さえた後に押します。

この方法でメニューが出ないときは、タスクトレイのアイコンから開いてください(Windows+Bのあと、矢印キーでアイコンに移動後、アプリケーションキーです)。

menu

次は設定ウィンドウです。上記メニューの設定項目を選んでエンター(クリック)で開きます。特に説明はいらないと思いますが、フォネティック読みは「朝日のア、いろはのイ、上野のウ....」といった例の読み方で、音声合成が聞き取りにくいときに使います。

settei

最後に、このソフトは入力情報の記録をとることはありません。また外部に情報を送信する機能はありません。



拍手する
posted by takayan at 02:37 | Comment(5) | TrackBack(0) | 点字入力 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。