[ 新規に投稿する ]

秀丸リーダーについてNo.36148
さん 17/11/21 17:08 [ コメントを投稿する ]
   こんにちは。
 こちらには初めて投稿するものです。
 よろしくお願いします。

 さて、最近秀丸エディタの利用を検討しています。
 ですが、私は視覚に障害があり、画面を目視で確認できないため、スクリーンリーダーを利用しており、秀丸リーダーの利用を検討しています。
 ただ、現在の秀丸リーダーは、私が使っているNVDAというスクリーンリーダーに対応していないため、少し困っています。
 もし可能でしたら、NVDAに対応していただけないでしょうか。

 下記からは少し技術的な話題となりますが、ご了承ください。
 外部のソフトからNVDAに音声を喋らせたり、音声のパラメーターを変更したり、読み上げ状態を取得するには、「nvdaControllerClient.dll」というDLLを利用する必要があります。
 なお、このDLLは、DLLを利用するプログラム自身と一緒に配布する必要があり、PC-Talkerや95ReaderのようにNVDAをインストールしたときに、Windowsフォルダにコピーされたりするものではありません。
 上記のDLLの詳しいAPIリファレンスについては、下記ページをご覧いただければと思います。

https://ja.osdn.net/projects/nvdajp/wiki/ControllerClient

 また、DLLのダウンロードは、上記ページの「nvdajp-client-140119a.zip」というリンクから行うことができます。

 可能な限りで結構ですので、検討いただけると幸いです。

 以上、長文となり失礼しました。
 よろしくお願いいたします。
[ ]
RE:36148 秀丸リーダーについてNo.36149
秀まるお2 さん 17/11/21 17:52 [ コメントを投稿する ]
   実は、秀丸メール用ではあるんですが、TkSpeech Version1.8っていうソフトウェアをうちのライブラリにアップロードしていただいてまして、それを使うと秀丸エディタでもうまく音声化されると書いてあります。

 それを使っていただく作戦を1回試してみてほしいです。

 (秀丸メールがインストールされてないとインストールできないのかもしれませんが、その場合、すみませんがダミーとして秀丸メールインストールしてほしい)

TkSpeechのURL:
http://hide.maruo.co.jp/lib/tkmacro/TkSpeech108.html

 ちなみにこのソフトウェアの作者さんは視覚障害者総合支援センターの研究者とのことらしいです。

https://research-er.jp/researchers/view/785106

 もし上記のソフトウェアでダメそうでしたら、こちらでテストなどしてみたいと思います。
[ ]
RE:36149 秀丸リーダーについてNo.36150
秀まるお2 さん 17/11/21 18:19 [ コメントを投稿する ]
   自分のパソコンにTkSpeech108をインストールしようとしたら、インストール画面の「次へ」が押せませんでした。

 タブキーを何回か押せば「次へ」ボタンが見えるようです。

 インストーラーがおかしいような気がしますが、とりあえずTabキーを押してなんとかインストールしてみて欲しいです。
[ ]
RE:36150 秀丸リーダーについてNo.36151
さん 17/11/21 19:16 [ コメントを投稿する ]
   こんにちは、お世話になります。

 そのソフトも存じており、しばらく使ったことがあるのですが、下記の点から秀丸リーダーで実装していただけたらと考えています。

 1.カスタマイズが難しい
 提示していただいたソフト内のマクロを少しカスタマイズしようとしたんですが、マクロがかなり長い点やカスタマイズをすると、動作がおかしくなるかなどの点が心配です。
 その点、秀丸リーダーであれば、DDE経由で自分が読み上げさせたい文字を読み上げさせることができます。
 2.要望やバグ報告、質問等がしやすい
 以前は提示していただいたソフトは、御園さんのホームページで公開されており、そこから連絡を取ることも可能でしたが、現在、ホームページは閉鎖されており、また個人的な連絡先を知らないため、要望やバグ報告、質問等ができない状況になっています。
 ですが、秀丸リーダーに対応していただければ、こちらで要望やバグ報告、質問等もできると思い、NVDA対応を要望した次第です。

 以上、よろしくお願いいたします。
[ ]
RE:36151 秀丸リーダーについてNo.36152
秀まるお2 さん 17/11/22 10:37 [ コメントを投稿する ]
   秀丸リーダーで対応してダメなことも無いので対応しようかなぁと思って、とりあえずAPIのドキュメントやヘッダファイル、nvdaControllerClient32.dll ってファイルをダウンロードしようとしたんですが、そもそもそこでつまずいてしまいました。

 GitHubとかいう仕組みが全然分かってないせいなんだと思いますが・・・

 とりあえず、

    https://github.com/nvaccess/nvda#NVDAAPIforexternalapplicationsNVDAControllerClient

 の所にある「Clone or download」ってボタンを押して「nvda-master.zip」ってファイルをダウンロード&解凍したんですが、そこにはヘッダファイル(nvdaController.hファイル)もdllも入ってないようでした。

 https://ja.osdn.net/projects/nvdajp/wiki/ControllerClient

 には、「クライアントDLL nvdajp-client-140119a.zip は上記チケットの添付ファイルをご利用ください」とあるのですが、そもそも「チケット」って何なのやらと思いつつ、「チケット32444...」の所をクリックしても、それらしいダウンロード用リンクが無さそうな気がするし・・・。

 ダウンロードできるそものもずばりのURL教えていただけないでしょうか。

 あと、そもそも的にNVDAのテスト環境を作らないといけないので、それもぼちぼちやってみます。
[ ]
RE:36152 秀丸リーダーについてNo.36153
秀まるお2 さん 17/11/22 11:30 [ コメントを投稿する ]
   nvdajp-client-140119a.zipはダウンロードできました。失礼しました。

https://ja.osdn.net/projects/nvdajp/ticket/32444

 の中に

   [+]添付ファイルリスト

 ってあって、そこの[+]部分をクリックしたらリンクが見えました。

 なんともややこしい。
[ ]
RE:36152 秀丸リーダーについてNo.36154
K'zawa さん 17/11/22 11:50 [ コメントを投稿する ]
  秀まるおさん、こんにちは。
K'zawaです。

本体は

NVDA日本語版 ダウンロードと説明
https://www.nvda.jp/

からダウンロードできます。こちらはすぐわかると思います。

DLLは、

チケット #32444: スリープモードAPI - スクリーンリーダーNVDA日本語版 - OSDN
https://ja.osdn.net/projects/nvdajp/ticket/32444

からダウンロードできます。

直リンク
https://ja.osdn.net/ticket/download.php?group_id=4221&tid=32444&file_id=5115
[ ]
RE:36152 秀丸リーダーについてNo.36155
K'zawa さん 17/11/22 11:59 [ コメントを投稿する ]
  秀まるおさん、こんにちは。
K'zawaです。

書き忘れましたが、NVDA本体はポータブルインストールしたほうがいいと思いますよ。ログイン画面とか読んでも今回の件には関係ないので。
起動はショートカットアイコン作って行い、終了は無変換+QまたはInsert+Qでできます。
[ ]
RE:36155 秀丸リーダーについてNo.36157
秀まるお2 さん 17/11/22 13:26 [ コメントを投稿する ]
   情報どうもです。API用のdllとヘッダファイルはおかげさまでダウンロードできました。

 NVDAもテスト用のマシンにインストールして、うまく動いてるみたいです。

 あと分からないのが・・・

   nvdaController_brailleMessage

 とかのAPIの説明というか、APIのドキュメントが無いような・・・。サンプルをビルドして実際の動作を確認すればいいのだろうと思いますけども。

 とりあえず、音声化させるだけなら極めて簡単なことだけ分かったので、秀丸リーダーにオプション追加などして直していってみます。
[ ]
RE:36157 秀丸リーダーについてNo.36159
さん 17/11/22 15:13 [ コメントを投稿する ]
   こんにちは、お世話になります。

 こちらの説明が不十分で、大変ご迷惑をおかけしたようで、申し訳ありません。

 さて、APIリファレンスについてですが、現在のところ、詳しく書かれたページがない状況ですので、簡単に説明させていただきます。
 上記の理由により、この投稿は長文となることをお許しください。
 興味のない方は読み飛ばしていただければと思います。

 1.NVDAの起動状態を取得
 関数名:nvdaController_testIfRunning
 引数:なし
 戻り値:NVDAが起動している場合は0、起動していない場合は0以外の値が返却されます。

 2.NVDAで文字列を喋らせる
 関数名:nvdaController_speakText
 引数:しゃべらせたい文字列(Unicodeで渡す必要があります)
 戻り値:なし

 3.点字ディスプレイにメッセージを出力
 関数名:nvdaController_brailleMessage
 引数:しゃべらせたい文字列(Unicodeで渡す必要があります)
 戻り値:なし
 備考:渡された文字列がNVDA側で自動的に変換され、点字ディスプレイに表示されます。

 4.NVDAが読み上げ中かどうか調べる
 関数名:nvdaController_isSpeaking
 引数:なし
 戻り値:NVDAが読み上げ中の場合Trueが、何も発生していない場合はFalseが返却されます。
 備考:NVDAで何か文字列を喋らせた後に、即この関数を呼び出すと、たまに読み上げ中にもかかわらず、Falseが返却されることがあります。
 そのため、NVDAにメッセージを渡した後、すぐにこの関数を呼び出す場合は、呼び出し前に100ms程度の時間を置くことを推奨します。

 5.NVDAで詳細読み
 関数名:nvdaController_speakSpelling
 引数:詳細読みさせたい文字列(Unicodeで渡す必要があります)
 戻り値:なし

 6.NVDAの読み上げを停止
 関数名:nvdaController_cancelSpeech
 引数:なし
 戻り値:なし

 7.NVDAのピッチ(声の高さ)を取得
 関数名:nvdaController_getPitch
 引数:なし
 戻り値:NVDAのピッチが数値で返却されます。

 8.NVDAのピッチ(声の高さ)を変更
 関数名:nvdaController_setPitch
 引数:指定したいピッチを数値で指定します。
 戻り値:なし
 備考:ピッチは0から100までの範囲で指定できますが、範囲を超えていてもエラーにはなりません。
 ただし、ピッチは元のままですので、ご注意ください。

 9.NVDAの読み上げ速度を取得
 関数名:nvdaController_getRate
 引数:なし
 戻り値:NVDAの読み上げ速度が数値で返却されます。

 10.NVDAの読み上げ速度を変更
 関数名:nvdaController_setRate
 引数:指定したい読み上げ速度を数値で指定します。
 戻り値:なし
 備考:読み上げ速度は0から100までの範囲で指定できますが、範囲を超えていてもエラーにはなりません。
 ただし、読み上げ速度は元のままですので、ご注意ください。

 APIは以上となります。
 なお、何かわからない点等があれば、ご連絡いただければ、お応え可能なものであれば、お応えします。
 また、動作テスト等が必要であれば、協力しますので、その際もご連絡いただければと思います。

 以上、かなりの長文となり、失礼しました。
 それでは、よろしくお願いいたします。
[ ]
RE:36159 秀丸リーダーについてNo.36162
秀まるお2 さん 17/11/22 17:46 [ コメントを投稿する ]
   詳しい説明ありがとうございます。おかげさまで簡単に対応できました。

 とりあえず、PC-Talker/95Readerでのなめらか読み/詳細読み相当の2種類の音声化が出来るということで、それだけ対応して、Version 3.00ってことで、ファイルのアップロードだけしてみました。

 テストお願いできますでしょうか。

  http://hide.maruo.co.jp/software/bin3/hmread300_signed.exe

 設定でNVDAを選択しないとダメですけども。(自動設定だとダメ)

 ならめか読みの方がnvdaController_speakText()呼び出しで、詳細読みの方が、nvdaController_speakSpellingの方を呼び出してます。

 僕の所で、とりあえずHmRead1.mac、HmRead2.macをキー割り当てして実行した限りはうまくいってるようなんですが、カーソル移動した時の読み上げがうまくいかないです。というか、2重に音声化されてしまいます。

 というか、そもそも秀丸リーダーをインストールしてなくても勝手に読み上げてくれてしまいます。なので、秀丸リーダーがインストールされてると2重になります。

 NVDAの設定で、秀丸エディタ上での自動での音声化をOFFにすることが出来るのやら?。
[ ]
RE:36162 秀丸リーダーについてNo.36163
さん 17/11/22 18:17 [ コメントを投稿する ]
   こんにちは、お世話になります。

 おおおおおおお、早速対応していただきありがとうございます!!
 NVDAで秀丸を読んでしまう問題は、下記のアドオンをインストールすることで解決します。
 ダウンロードしたら、NVDAを起動した状態で、ファイルを実行すると、アドオンのインストールが始まりますので、指示に従ってインストールしてください。

https://riku22.net/hidemaru.nvda-addon

 それから、1つバグ報告です。
 秀丸や秀丸リーダー側で対応可能かわからないんですが、Ctrl+左右矢印で単語を移動したときの読み上げがおかしいですね。
 例えば、簡単な例でいうと、

This is test.

という文章があったとします。
 それで、カーソルを先頭の「T」に合わせた状態で、Ctrl+右矢印を押すと、正常な場合は、「i」と読み上げられるはずですが、「T」と読み上げされています。
 もし可能でしたら、修正いただけないでしょうか。

 よろしくお願いいたします。
[ ]
RE:36163 秀丸リーダーについてNo.36164
さん 17/11/22 18:22 [ コメントを投稿する ]
   すみません。
 連投になりますが、1つ要望をさせてください。

 現在のところ、HomeやEndを押したときは、1行読みをしていますが、これを1文字読みにさせることはできますでしょうか。

 よろしくお願いいたします。
[ ]
RE:36164 秀丸リーダーについてNo.36165
秀まるお2 さん 17/11/22 23:33 [ コメントを投稿する ]
   Home/Endキーでの読み上げは変更できると思いますが、オプション追加が必要なので、そうすると、現状の設定ダイアログを複数ページにするか何か工夫が必要かもしれません。その辺トライしてみます。

 あと、Ctrl+左右矢印キーの件もぼちぼちテストしてみます。(アドインをインストールして)
[ ]
RE:36165 _RE_36164_秀丸リーダーについてNo.36168
さん 17/11/24 12:52 [ コメントを投稿する ]
  こんにちは、お世話になります。

ありがとうございます。
修正版を楽しみにしております。

よろしくお願いいたします。

[ ]
RE:36168 _RE_36164_秀丸リーダーについてNo.36169
秀まるお2 さん 17/11/24 15:30 [ コメントを投稿する ]
   Ctrl+カーソル移動キーで発音位置がおかしいバグ修正と、あと、Home/Endキーでの音声化について、1行音声化するのか1文字音声化するのかのオプション追加をして、今アップロードしました。

  秀丸リーダー Version 3.01:
  http://hide.maruo.co.jp/software/bin3/hmread301_signed.exe

 これでどうでしょうか。

 NVDA用の秀丸エディタの2重音声化を止めるアドインは、たぶん必須の物になると思うので、付属の説明ファイルにリンク先など記述させていただくか、または添付させていただくかの必要があるような気がします。その辺も検討お願いしたいです。
[ ]
RE:36169 秀丸リーダーについてNo.36170
さん 17/11/24 18:25 [ コメントを投稿する ]
   こんにちは、お世話になります。

 早速の修正ありがとうございます。
 正常に動作することを確認しました。
 それで、画面表示関連で2つほど。

 1.インストーラーの誤字(?)
 インストーラーのショートカット作成先選択画面の「デスクトップにショットカットを作成」は、「デスクトップにショートカットを作成」ではないでしょうか。
 2.秀丸リーダーの設定画面について
 「Home/Endキーでの音声化」の部分がフレームになっていないため、一瞬、なんの設定かわかりませんでした。
 ここもBackspace/Deleteキーの音声化と同様にフレーム化するとよいと思います。

 さて、NVDAのアドオンの件ですが、添付していただいても結構です。

 それと、こちらで書くのはちょっと違うかもしれないんですが、秀丸メールの音声化可能なバージョンもNVDAに対応していただけないでしょうか。
 こちらについては、まだインストールしていないため、どの程度読み上げられるか今のところ分かっていませんが、検討していただけると幸いです。

 以上、よろしくお願いいたします。
[ ]
RE:36170 秀丸リーダーについてNo.36171
さん 17/11/27 07:47 [ コメントを投稿する ]
   お世話になります。

 すみません、1つ質問です。
 Delキーで文字が削除された際に、音声ファイルを鳴らしたいと思い、「HmRead1.mac」に下記のように記述したんですが、少し問題が発生しました。
 とりあえず、マクロのサンプルです。

----------

 if( #code != eof && iskeydown(0x2E) ){
  play currentmacrodirectory + "\\sounds\\delete.wav";
 }

----------

 これを実行すると、ほぼほぼ思った通りになるんですが、Deleteキーを押したときは、消された後の文字にしているためか、EOFの1文字前の文字を消すと、何も音声が鳴らないという事象が発生します。
 ちなみに、Backspace/Deleteキーの音声化の設定で、消される文字を音声化するように設定したところ、上記の事象は発生しませんが、できればDelキーを押したときは、消された後の文字を音声化したいため、何か良い方法はないでしょうか。


 以上、少しわかりにくい説明となってしまったかもしれませんが、よろしくお願いいたします。
[ ]
RE:36171 秀丸リーダーについてNo.36172
秀まるお2 さん 17/11/27 09:12 [ コメントを投稿する ]
   とりあえず、今の段階でできる範囲でコメントさせていただきます。

>  1.インストーラーの誤字(?)

 誤字のご指摘ありがとうございます。修正してまたアップロードさせていただきます。

>  2.秀丸リーダーの設定画面について

 設定画面のスペース的に苦しいのでこういうスタイルにしたのですが、こういうスタイルにすることは、少なくとも僕の場合は多々あります。これをうまく音声化しないということでしたら、それはNVDAさんの方でなんとかして欲しいというか、そっちの問題じゃないかと思います。

 とりあえず、うまく音声化しないのをNVDAさんがすぐに直してくれることは無いでしょうから、ここに限っては秀丸リーダーの方を直そうと思います。ただ、秀丸エディタや秀丸メールその他でこういうスタイルが多々あるので、それについて指摘されても直すのは難しいので、その点ご了承ください。


>  さて、NVDAのアドオンの件ですが、添付していただいても結構です。

 添付するとしたら、とりあえずcopyright表示とか、作者の連絡先とかを書かないいけないので、その辺、適当に陸さんのホームページを見て書いてみようと思います。何かこうして欲しい的な内容があったら連絡いただくなり、または僕がアップロードした内容を見て修正点を指摘していただければと思います。

>  それと、こちらで書くのはちょっと違うかもしれないんですが、秀丸メールの音声化可能なバージョンもNVDAに対応していただけないでしょうか。

 こちらでちょっと試した限り、うまく音声化してくれないです。例えばメール一覧でカーソル上下移動キーを押して他のメールを選択しても全然音声化しないです。

 これを僕の力でどうにかすることは出来ないと思います。NVDAさんがなんとかしてくれるか、またはそれ用のプラグインとかが必要なんじゃないかと思います。

 秀丸メールの音声化バージョンがやってることは、とにかく「オーナードロー」というか、リストボックスやメニューとかの内容を自前で描画しないで、Windowsの標準的な文字列データを持たせるやり方を徹底するって方式にしてるだけです。実際に音を鳴らす処理はしてないし、それをアプリケーションソフト側でやるのは無理があります。

 NVDAさんに言ってなんとかしてもらうしか無いと思います。

>  Delキーで文字が削除された際に、音声ファイルを鳴らしたいと思い、「HmRead1.mac」に下記のように記述したんですが、少し問題が発生しました。

 DeleteキーやBackspaceキーの音声化を「後の文字」とした場合、キーを押した瞬間じゃなくて、離したタイミングでマクロ実行されます。なので、

    iskeydown(0x2E)

 は必ずfalseになってしまいます。

 とりあえずの修正として、離したタイミングにマクロ実行するんじゃなくて、押して少し遅延してからマクロ実行するようにしてみます。それで直ると思いますが・・・

 キーを押してすぐに離した場合は、やはりiskeydownはfalseになるかもしれません。それは防ぎようが無いです。

 他の回避策として、一番最後に押したキーのコードを取得する何らかの仕組みを用意する手があります。

    $s = dderequest("LastKeyCode");
    #code = val($s);

 みたいな形で一番最後に押したキーのキーコード(仮想キーコード、VK_xxxxの値)を取得できるようにしたらいいかなぁと思うので、それの対応をトライしてみます。

 また近いうちに次のバージョンをアップロードさせていただきます。
[ ]
RE:36172 秀丸リーダーについてNo.36173
さん 17/11/27 09:34 [ コメントを投稿する ]
   こんにちは、お世話になります。

 1.と2.の件は、了解です。

>>  さて、NVDAのアドオンの件ですが、添付していただいても結構です。
>
> 添付するとしたら、とりあえずcopyright表示とか、作者の連絡先とかを書かないいけないので、その辺、適当に陸さんのホームページを見て書いてみようと思います。何かこうして欲しい的な内容があったら連絡いただくなり、または僕がアップロードした内容を見て修正点を指摘していただければと思います。

 はい、とりあえず、アップロードされたファイルを見てから、お返事したいと思います。

>>  それと、こちらで書くのはちょっと違うかもしれないんですが、秀丸メールの音声化可能なバージョンもNVDAに対応していただけないでしょうか。
>
> こちらでちょっと試した限り、うまく音声化してくれないです。例えばメール一覧でカーソル上下移動キーを押して他のメールを選択しても全然音声化しないです。
> これを僕の力でどうにかすることは出来ないと思います。NVDAさんがなんとかしてくれるか、またはそれ用のプラグインとかが必要なんじゃないかと思います。
> 秀丸メールの音声化バージョンがやってることは、とにかく「オーナードロー」というか、リストボックスやメニューとかの内容を自前で描画しないで、Windowsの標準的な文字列データを持たせるやり方を徹底するって方式にしてるだけです。実際に音を鳴らす処理はしてないし、それをアプリケーションソフト側でやるのは無理があります。
> NVDAさんに言ってなんとかしてもらうしか無いと思います。

 やはりそうですよねえ。
 とりあえず、リスト部分はTKSpeechに丸投げして、本文表示部分だけ秀丸リーダーに任せようとして、

else if ( #pane == 2 ) goto EditView;

の部分をコメントアウトしたんですが、どうもちゃんと読み取れないようです。
 こちらでもう少し頑張ってみようと思います。

>>  Delキーで文字が削除された際に、音声ファイルを鳴らしたいと思い、「HmRead1.mac」に下記のように記述したんですが、少し問題が発生しました。
>
> DeleteキーやBackspaceキーの音声化を「後の文字」とした場合、キーを押した瞬間じゃなくて、離したタイミングでマクロ実行されます。なので、
>
>    iskeydown(0x2E)
>
> は必ずfalseになってしまいます。

 そうなんですね。
 デバッグでメッセージを表示させるなりすれば気づいたんでしょうが、全然気づきませんでした(苦笑)

> とりあえずの修正として、離したタイミングにマクロ実行するんじゃなくて、押して少し遅延してからマクロ実行するようにしてみます。それで直ると思いますが・・・
> キーを押してすぐに離した場合は、やはりiskeydownはfalseになるかもしれません。それは防ぎようが無いです。
> 他の回避策として、一番最後に押したキーのコードを取得する何らかの仕組みを用意する手があります。
>    $s = dderequest("LastKeyCode");
>    #code = val($s);
> みたいな形で一番最後に押したキーのキーコード(仮想キーコード、VK_xxxxの値)を取得できるようにしたらいいかなぁと思うので、それの対応をトライしてみます。

 最後に押されたキーを取得するほうが良いかもしれませんね。

 いろいろとありがとうございます。
 よろしくお願いいたします。
[ ]
RE:36173 秀丸リーダーについてNo.36174
秀まるお2 さん 17/11/27 14:07 [ コメントを投稿する ]
   いろいろ直してまたアップロードしました。

http://hide.maruo.co.jp/software/bin3/hmread302_signed.exe

    ddeinitiate "HidemaruReader", "Read";
    $s = dderequest("LastKeyCode");

 ってな具合でキーコードも取得できます。マクロのカスタマイズに使えると思います。

 よろしくお願いします。
[ ]
RE:36174 秀丸リーダーについてNo.36175
さん 17/11/27 23:22 [ コメントを投稿する ]
   こんにちは、お世話になります。

 早速の修正ありがとうございます。
 一通り確認しました。

 それで、取扱説明書のテキストファイルを見たところ、NVDA用のアドオンが入っている旨の記述がありますが、p秀丸リーダーのインストール先にそれらしきファイルが見つかりませんでした。
 もしかしたら、今回私がマクロの自動設定を行わない設定でインストールしたためかもしれませんが、ご確認いただければと思います。
 なお、アドオンに関する情報は、あれで大丈夫です。

 それから、1つ質問です。
 Delキーが押された時に、テキストが選択状態だったかどうかを取得しようとしましたが、うまくいきません。
 これは、何か対処法がありますでしょうか。

 以上、よろしくお願いいたします。
[ ]
RE:36175 秀丸リーダーについてNo.36178
さん 17/11/28 08:45 [ コメントを投稿する ]
   こんにちは、お世話になります。

 すみません、もう1つ質問というか、お聞きしたいことがあります。
 マニュアルに

ddeexecute "+!あああ";

と記述するとピッチが変わると書いてありますが、どうもうまく機能していないようです。
 これって、まだ搭載されてないということなんでしょうか。
 また、もしこれから搭載するのであれば、ピッチを数値で指定できるようになると助かります。

 以上、何度もすみませんが、よろしくお願いいたします。
[ ]
RE:36178 秀丸リーダーについてNo.36179
秀まるお2 さん 17/11/28 10:19 [ コメントを投稿する ]
   まいどどうもです。

> 秀丸リーダーのインストール先にそれらしきファイルが見つかりませんでした。

 すみません。インストーラーの設定ファイルのミスで、うまくコピーされてませんでした。失礼しました。

 次また直します。

>  Delキーが押された時に、テキストが選択状態だったかどうかを取得しようとしましたが、うまくいきません。

 音声化のタイミングが削除後になってる場合だと、Deleteキーを押された後の削除の処理が終わった後にマクロ実行されるので、そのタイミングでは果たして何が削除されたのか、知る手段が無いです。

 なんとかするとしたら・・・、削除後のマクロ起動とは別に、Deleteの処理の開始前に、別のマクロ、例えばマクロ77がもし何か割り当ててあったらそれを起動するとかって風にした上で、マクロ77に何かマクロを割り当てて、それで、例えば

    #selecting = selecting;
    openreg "CURRENTUSER", "Software\\Riku\\RikuMacro";
    writeregnum "Selecting", #selecting;
    closereg;

 みたいに選択してるかどうかの状態をレジストリかどうかに保存して、後で起動されるHmRead1.macの方で、そこの値を見るなどしてなんとかしてもらう作戦はあるかなぁと思います。

 とりあえず思いつくのはそういう作戦になりますが・・・そういう作戦で良ければ対応してもいいです。

 それか、Deleteキーに対して何か別のマクロを割り当てておいて、そこで独自に処理してもらうとか。(テストしてないので実際うまくいくかどかは分かりませんが)

> ddeexecute "+!あああ";

> と記述するとピッチが変わると書いてありますが、どうもうまく機能していないよう
> です。

 NVDAについては対応してないです。

 音程を変更するAPIはあるようですが、果たしてそのAPIの影響範囲がどこまでなのか分からなくて、その辺、実際にテストして確認するのが面倒だったので対応してませんでした。

 一回調べてみて、対応できそうなら対応してみます。
[ ]
RE:36179 _RE_36178_秀丸リーダーについてNo.36181
さん 17/11/28 12:43 [ コメントを投稿する ]
  こんにちは、お世話になります。

デリートキーの件ですが、個人的にはバックスペースのような感じで、別のマクロになると助かります。

以上、よろしくお願いいたします。
[ ]
RE:36181 _RE_36178_秀丸リーダーについてNo.36182
秀まるお2 さん 17/11/28 13:57 [ コメントを投稿する ]
   音の高さを変える件は、とりあえず「+」と「-」が指定されたら、+-30の分だけ高さを変更するようにしてみました。

 標準の高さが50なら、+指定で80、-指定で20になります。

 それとは別に「+数字」で高さの値を個別指定できるようにしました。例えば

   ddeexecute "+10!あいう";

 だと、音の高さ指定=10(=かなり低い)で「あいう」を発音します。

 あと、Deleteキーの件ですが、現状のHmReadBack.macのようにするとしたら、それはそれで、果たしてどういうマクロにしたらいいのやらというのがありまして・・・・、とりあえずHmRead1.macと同じ内容で、HmReadDel.macってのを用意してそれをマクロ77に割り当てるようにしてみたらいいのかなぁと思いますが、ただ、そうしたとしても、削除後に実行する指定にしたら、どっちにしても範囲選択してるかどうかはマクロからは知り得ることは不可なのは変わりありません。

 それでいいのやら?

 というか、もうこれで要望終わりって訳じゃなくて、これからどんどん出てくるのやら?
[ ]
RE:36182 _RE_36181_秀丸リーダーについてNo.36183
さん 17/11/28 14:47 [ コメントを投稿する ]
  こんにちは、お世話になります。

ピッチの変更の件、ありがとうございます。

デリートキーの件は、やはり難しいですよねえ。
いろいろ検討していただいたのに申し訳ありませんが、とりあえず、現状のままで結構です。

いろいろありがとうございました。
今後ともよろしくお願いいたします。
[ ]
RE:36183 秀丸リーダーについてNo.36184
K'zawa さん 17/11/28 16:57 [ コメントを投稿する ]
  陸さん、こんにちは。
K'zawaです。

>デリートキーの件は、やはり難しいですよねえ。

こんな方法もあります。

HmRead1.macの代わりに、

・削除&読み上げ
・右移動&読み上げ
・左移動&読み上げ
・(その他のコマンド)&読み上げ

なマクロを作り、マクロ78〜80以外に登録する。
(工夫しだいでマクロの数を減らすことは可能です)
秀丸エディタのキー割り当てで、それぞれのキーに上記マクロを割り当てる。
マクロ80には中身が空のマクロを登録する。

このようにすればコマンド別にマクロを分けることができ、さらにコマンドと読み上げが同じマクロになることで、例えば削除マクロなら、削除前/後それぞれの情報収集がひとつのマクロ内でできます。

なお、各キーに割り当てるマクロの冒頭には、

// 編集エリア以外のとき終了
if ( getfocus != 1 && event == 0 ) {
  seteventnotify 1;
  endmacro;
    }

を付けておいてください。編集エリア以外でマクロ実行されたときに通常のキー操作にすり替えるため。
[ ]
RE:36183 _RE_36181_秀丸リーダーについてNo.36185
秀まるお2 さん 17/11/28 18:13 [ コメントを投稿する ]
   とりあえず秀丸リーダーのVersion 3.03をアップロードしました。

http://hide.maruo.co.jp/software/bin3/hmread303_signed.exe

 NVDA用のアドインがインストールされないバグ修正と、あと、NVDAの場合でも「+/-」の音程変更が効くようにしたのと、さらに「+数値」にて音程高さ指定できるようにしました。

 Deleteキーのカスタマイズその他については、K'zawaさんの話にある話(と同じかどうか自信ないけど)の通り、そもそも的に秀丸エディタに備わってるマクロの自動起動の機能を使う作戦で出来そうな気がしました。

 秀丸エディタ側にマクロ自動実行の機能があることをすっかり忘れていました。
[ ]
RE:36185 RE 秀丸リーダーについてNo.36187
K'zawa さん 17/11/28 20:20 [ コメントを投稿する ]
  秀まるおさん、こんにちは。
K'zawaです。

> Deleteキーのカスタマイズその他については、K'zawaさんの話にある話(と同じか
>どうか自信ないけど)の通り、そもそも的に秀丸エディタに備わってるマクロの自動
>起動の機能を使う作戦で出来そうな気がしました。

私の話とは違うと思います。
カーソル移動後タイマーと編集後タイマーで読み上げマクロを実行することはできます。
ただ、マクロはコマンドの後にしか実行されないので、削除前の様子などはわかりません。
カーソル移動後タイマーは、カーソル移動できなかったとき、編集後タイマーは編集できなかったときには反応しないので、その旨お知らせする機会がありません。
あと、秀丸メールとしくみが違うので、異なる対応しないといけないです。
[ ]
RE:36185 秀丸リーダーについてNo.36188
さん 17/11/28 20:34 [ コメントを投稿する ]
   こんにちは、お世話になります。

 とりあえず、NVDAのアドオンが入っていない件と、ピッチがうまく変更されない件の修正は確認しました。
 マクロの件は、もう少し時間がかかりそうなので、またご報告します。

 それで、1つ気づいたことがあります。
 コマンドプロンプトを管理者で起動して、そこから

C:\test.txt

というようにファイルを指定して秀丸エディタを開くと、読み上げがされないようです。
 また、秀丸リーダーを管理者で起動してみてはどうかと思い、管理者で起動した後、同じく管理者でコマンドプロンプトを開き、上記のような操作をしてみたところ、今度は正常に読み上げられました。
 ただ、こうすると、管理者権限で起動していない秀丸エディタや秀丸メールがうまく読めなくなるようです。
 ということで、確認ですが、これは、Windowsの仕様上どうしようもないですよね?

 以上、よろしくお願いいたします。
[ ]
RE:36188 秀丸リーダーについてNo.36190
秀まるお2 さん 17/11/29 09:13 [ コメントを投稿する ]
   管理者権限で起動されたアプリケーションソフトと管理者権限じゃない状態で起動されたアプリケーションソフトとの間での各種の連携はいろいろ制限されてしまいまして、例えばドラックアンドドロップが出来ないとかがあるんですが、DDE(Dynamic Data Exchange)も効かないんだと思います。

 秀丸リーダーは秀丸エディタとの間でのやりとりをDDEでやってるので、それが出来ないとどうしようも無いです。あと、秀丸エディタ上でキー操作したのを監視してマクロ自動実行させるのも、いわゆる「フック」って仕組みを使ってるんですが、これも効かないです。

>  ということで、確認ですが、これは、Windowsの仕様上どうしようもないですよね?

 現状のDDE&フックを使う仕組みを変えない限りは仕方が無いと思います。
[ ]
RE:36190 秀丸リーダーについてNo.36192
さん 17/11/29 10:10 [ コメントを投稿する ]
   こんにちは、お世話になります。

 了解しました。
 ありがとうございました。
[ ]
RE:36192 秀丸リーダーについてNo.36193
秀まるお2 さん 17/11/30 14:58 [ コメントを投稿する ]
   報告ですが、一応Version 3.03で大丈夫そうなので、正式にうちのホームページに公開とさせていただきました。
[ ]
RE:36193 秀丸リーダーについてNo.36194
さん 17/11/30 15:57 [ コメントを投稿する ]
   こんにちは。

 個人的なわがままな要望にもかかわらず、いろいろ対応していただき、大変ありがとうございました。

 今後とも何かあるかもしれませんが、その際はよろしくお願いいたします。

 それでは。
[ ]

[ 新規に投稿する ]