秀丸リーダー IME ONで読み位置がおかしいNo.27146
K'zawa さん 09/10/06 18:08
 
こんにちは、K'zawaです。

秀丸リーダーの設定
Backspace/Deleteキーの音声化:Backspace=消される文字/Delete=消された後の
文字

で使用しています。IMEがONのとき、確定文字にたいして、
Delキーで削除したときの読み上げが、削除文字だったり、削除後の文字だった
りします。
連打すると、ずっと削除文字の場合もあれば、
ころころ変る場合もあります。
また、Ctrl+Homeで文頭へ移動したときの読み上げが、移動前のカーソル行だっ
たりもします。
調査お願いします。

秀丸エディタ Ver7.11
秀丸リーダー Ver2.02
PC Talker XP Ver3.09Beta2
Windows XP SP3

[ ]
RE:27146 秀丸リーダー IME ONで読み位置No.27150
秀まるお2 さん 09/10/07 09:14
 
 PC-Talkerをインストールするのは大変なので、とりあえずSpeechAPIを使う方
式でテストしてみましたが、単純にかな漢字変換(ATOK)がONの状態だからとい
って、Backspaceキーでの音声化がおかしくなるようなことはありませんでした。

 テストしたのは、せいぜい100回程度ですけども…。

 そもそもK'zawaさんが秀丸リーダーをお使いなのはずっと前からだと思うんで
すが、あえて今この問題を報告されたというのは、最近になって急におかしくな
ったという話なのでしょうか。だとしたら、何か秀丸エディタの設定を変更され
たとか、あるいは何かのソフトをパソコンにインストールしたとか、何かの変化
が無ければいきなり変化するということは無いんじゃないかと思います。

 ということで、その辺が解決のヒントになるんじゃないかと思いますが、どう
でしょ?

 それと、かな漢字変換に関しては、実は1つ設定をいじることで快適になるの
があります。それを紹介させいただきますと…「コントロールパネル・地域と言
語の設定」の「言語」ページの「詳細...」ボタンを押して、さらにそこの「詳
細設定」のページの中に、「詳細なテキストサービスをOFFにする」というのが
あります。これをONにすると、Windows全体の動作がかなり快適になります。

 これもお勧めします。

 (ちなみに僕の所ではそこをONにしています)

[ ]
RE:27150 秀丸リーダー IME ONで読み位置No.27151
秀まるお2 さん 09/10/07 09:27
 
 一応僕の所でやったテスト方法も説明させていただきますと…

 1.秀丸エディタを起動する。
 2.かな漢字変換をONにする。
 3.「あいうえお」と入力してEnterキーで確定させる。
 4.Backsapceキーを1回押して少し待つ。「お」を発音する。
 5.Backsapceキーを1回押して少し待つ。「え」を発音する。
 6.Backsapceキーを1回押して少し待つ。「う」を発音する。
 7.Backsapceキーを1回押して少し待つ。「い」を発音する。
 8.Backsapceキーを1回押して少し待つ。「あ」を発音する。
 9.「3」以降を繰り返し。

 です。

 PC-Talkerの体験版(昔ダウンロードした物)もあるので、別のマシンにぼち
ぼちインストールしてテストしてみます。

[ ]
RE:27150 秀丸リーダー IME ONで読み位置No.27154
K'zawa さん 09/10/07 11:46
 
秀まるおさん、こんにちは。
K'zawaです。

まず、この現象はBSではなく、Deleteです。
「詳細なテキストサービスをOFFにする」は、以前からチェックONです。

>すが、あえて今この問題を報告されたというのは、最近になって急におかしくな
>ったという話なのでしょうか。だとしたら、何か秀丸エディタの設定を変更され
>たとか、あるいは何かのソフトをパソコンにインストールしたとか、何かの変化
>が無ければいきなり変化するということは無いんじゃないかと思います。

最初に気付いたのは数ヶ月前だと思います。
なので、他のソフトの変更との関係は、今となっては全くわかりません。
大きな変更といえば、IEが6→7→8に変ってますけど。

最初、思ったよりも1文字多く削除してしまい、なんかおかしいという程度でし
た。その時点では、IMEの状態など気にしていませんので、
別秀丸に切り替えると直るとか、一旦閉じて開き直すと直るとか思いました。
その後だいぶたってからIMEと関係がわかってきて、秀丸が違えばIMEの状態も違
うということだったようです。

とはいうものの、IME ONの状態での、不安定なげんしょうではあります。
削除後の文字を読み上げるということで、マクロの内容から考えると、
削除→マクロ という順だと思うのですが、削除文字を読むのは、マクロが先で
ないと不可能です。

実験の方法は、
アイウエオアイウエオ…
と書いて、行頭に移動し、Deleteを押します。
削除後を読むので、正しくは、
いうえおあいうえお…
となるはずですが、
アイウエオアイウエオ…
いううおああうえお…
などとなります。

わかりにくい文章ですが、何かヒントになるでしょうか?

[ ]
RE:27154 秀丸リーダー IME ONで読み位置No.27158
misono さん 09/10/07 12:11
 
WinXPSp3
秀丸エディタ ver 7.11
秀丸リーダー2.3
PC-Talker XP Ver 3.09
ATOK2009

同じように秀丸リーダーを設定して、こちらでも試してみましたが、特にK'zawa
さんが書いていらっしゃったようなことはないようでした。
キーボードのチャタリングとか関係ないですかね。

メモ帳でも試してみるとか。

[ ]
RE:27158 秀丸リーダー IME ONで読み位置No.27159
K'zawa さん 09/10/07 13:00
 
misonoさん、こんにちは。
K'zawaです。

>同じように秀丸リーダーを設定して、こちらでも試してみましたが、特にK'zawa
>さんが書いていらっしゃったようなことはないようでした。
>キーボードのチャタリングとか関係ないですかね。

そうですか。私のPC固有の問題なのですかね。
Ctrl+Homeで移動前の行読みなど、チャタリングとは考えづらいんですが。

[ ]
RE:27154 秀丸リーダー IME ONで読み位置No.27160
秀まるお2 さん 09/10/07 14:01
 
 削除した後の文字を音声化する設定の、場合、Deleteキーが押されたタイミン
グでは即座には音声化マクロは実行せずに、少し遅延させてから実行するような
処理になっています。

 そのマクロ実行のタイミングが、Deleteの処理よりも前になってしまってる、
ということなのかなぁと思います。

 その辺のタイミングをもっと遅らせるように調整してテストしていただく手も
ありますけど、そういうのはどうでしょ?

 あと、再現の頻度がどの程度かも教えて欲しいです。何百回に1回程度とかっ
てことでしたら、せめて1000回はテストしないといけないことになりますけ
ど。それと、かな漢字変換ソフトの種類が何かとかと、あとはもしかしたらです
が、マシンパワーも関係するかもしれません。(例えば極端に遅い環境だと起き
やすいとか、極端に速いマシンだと起きやすいとか)

[ ]
RE:27160 秀丸リーダー IME ONで読み位置No.27162
K'zawa さん 09/10/07 15:15
 
秀まるおさん、こんにちは。
K'zawaです。

> 削除した後の文字を音声化する設定の、場合、Deleteキーが押されたタイミン
>グでは即座には音声化マクロは実行せずに、少し遅延させてから実行するような
>処理になっています。
>
> そのマクロ実行のタイミングが、Deleteの処理よりも前になってしまってる、
>ということなのかなぁと思います。
>
> その辺のタイミングをもっと遅らせるように調整してテストしていただく手も
>ありますけど、そういうのはどうでしょ?

はい、それでよいです。

> あと、再現の頻度がどの程度かも教えて欲しいです。何百回に1回程度とかっ

最もひどいときは、IMEのON/OFFで、設定が連動して切り替わるかのように100%
変りますが、20文字消して1〜4回ぐらい起きることが多いです。
PC起動直後は起きないこともありますが、1時間ももたないです。

>それと、かな漢字変換ソフトの種類が何かとかと、あとはもしかしたらです
>が、マシンパワーも関係するかもしれません。(例えば極端に遅い環境だと起き
>やすいとか、極端に速いマシンだと起きやすいとか)

Microsoft IME Standard 2002 ver. 8.1
Dell Dimension DIM2400
Intel(R) Celeron(R) CPU 2.60GHz
1.00 GB RAM
です。

[ ]
RE:27162 秀丸リーダー IME ONで読み位置No.27163
秀まるお2 さん 09/10/07 18:06
 
 ということで直そうと思ったら、1つ重要な修正箇所を見つけました。

 いつ直したのかちょっと不明ですが、Backspaceキーの場合の処理で、キーが
押されてから遅延させて音声化させる用の処理で、「Backspaceキーを離してか
ら音声化させる」というような処理をしていました。

 たぶん誰か他のユーザー様から、今回のK'zawaさんと同じような話が
Backspaceキーについて報告されて、それでそういう風に直したのではないかと
思います。

 Deleteキーについては「キーが離されてから」のような処理はしていませんで
したので、それについても同じように処理するようにしてみました。

 というとこで、すみませんがテストしてみて欲しいです。

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

[ ]
RE:27163 秀丸リーダー IME ONで読み位置No.27165
K'zawa さん 09/10/07 23:38
 
秀まるおさん、こんにちは。
K'zawaです。

> たぶん誰か他のユーザー様から、今回のK'zawaさんと同じような話が
>Backspaceキーについて報告されて、それでそういう風に直したのではないかと
>思います。

はあ、そんな報告も昔しましたねぇ…(笑)

> Deleteキーについては「キーが離されてから」のような処理はしていませんで
>したので、それについても同じように処理するようにしてみました。
>
> というとこで、すみませんがテストしてみて欲しいです。

今のところ、症状はみられません。観測時間は短いですが。
さらに観測を続けます。

[ ]
RE:27163 秀丸リーダー IME ONで読み位置No.27193
K'zawa さん 09/10/17 16:55
 
秀まるおさん、こんにちは。
K'zawaです。

Delキーの法は問題ないようです。
Ctrl+Home/Endのほうはまだ起こります。
(単に手を付けてないだけだと思いますが)

[ ]
RE:27193 秀丸リーダー IME ONで読み位置No.27195
秀まるお2 さん 09/10/19 09:01
 
 Ctrl+Home/Endの方は何もしてませんでしたけども、これもたぶん同じ理由で
起きてるのだと思います。こちらの方も、キーを離したタイミングでマクロ実行
するように直してみます。

[ ]
RE:27195 秀丸リーダー IME ONで読み位置No.27196
秀まるお2 さん 09/10/19 09:46
 
 ということで、Home/Endキーについてもキーを離したタイミングでマクロ実行
するようにしました。

 他のキーについても、タイミングが少し遅くなるようにちょっと工夫しました。

 ということでまたテストお願いします。

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

[ ]
RE:27196 秀丸リーダー IME ONで読み位置No.27197
K'zawa さん 09/10/19 11:53
 
秀まるおさん、こんにちは。
K'zawaです。

> ということで、Home/Endキーについてもキーを離したタイミングでマクロ実行
>するようにしました。
>
> 他のキーについても、タイミングが少し遅くなるようにちょっと工夫しました。
>
> ということでまたテストお願いします。

ありがとうございます。早速インストールしました。
またしばらく観察します。

[ ]
RE:27196 秀丸リーダー IME ONで読み位置No.27216
K'zawa さん 09/10/24 17:34
 
秀まるおさん、こんにちは。
K'zawaです。

この一蹴間使ってみて、特に問題はみられませんでした。

[ ]
RE:27216 秀丸リーダー IME ONで読み位置No.27222
秀まるお2 さん 09/10/27 08:45
 
 では適当なタイミングにて正式版にさせていただきます。

[ ]
RE:27222 秀丸リーダー IME ONで読み位置No.27638
K'zawa さん 10/02/14 21:23
 
秀まるおさん、こんにちは。
K'zawaです。

すみません。今さらですが、この修正でちょっとまずいことがありました。
マクロ中で、iskeydownでキーの状態を取得している場合に、当該キーは既に
放されているので、取得できないことになってしまいました。
困ったな…。

[ ]
RE:27638 秀丸リーダー IME ONで読み位置No.27640
秀まるお2 さん 10/02/15 10:26
 
 何かいいアイデアというか、秀丸リーダー側でこうして欲しいということがあ
れば直してみてもいいです。

 今のところ、僕の方ではいいアイデアは無いですけども。

[ ]
RE:27640 秀丸リーダー IME ONで読み位置No.27642
K'zawa さん 10/02/15 10:53
 
秀まるおさん、こんにちは。
K'zawaです。

> 何かいいアイデアというか、秀丸リーダー側でこうして欲しいということがあ
>れば直してみてもいいです。

各PCのコンディションによる問題のようなので、V2.03をベースに、
ユーザー側で、マクロ実行までの時間を微調整できるようには出来ますでしょう
か?
+何msとか、[遅い 〜 中 〜 速い]のような。

[ ]
RE:27642 秀丸リーダー IME ONで読み位置No.27643
秀まるお2 さん 10/02/15 13:58
 
 現状の処理は、キーが押された時にそのキーのキーコードを覚えておいて、
キーが離された時(WM_KEYUPが届いた時)に、マクロ実行をしている、というこ
とになります。

 キーを押してから何ミリ秒遅らせて、という処理では無いので、何ミリ秒遅ら
せればいいという訳にもいかないんじゃないかと思います。

 で、思いついたアイデアですけど、例えば直前に押されたキーが何だったのか、
秀丸リーダーのDLLで覚えておいて、それをloaddll / dllfuncで取得可能にする
とかっていうのはダメですかね。

 DLLのインストール場所はレジストりを見てってことになって、DLLのファイル
名は、別途「HmReaderInfo.dll」みたいなDLLを用意するって形になるかと思い
ますけども。

[ ]
RE:27643 秀丸リーダー IME ONで読み位置No.27644
K'zawa さん 10/02/15 20:20
 
秀まるおさん、こんにちは。
K'zawaです。

> キーを押してから何ミリ秒遅らせて、という処理では無いので、何ミリ秒遅ら
>せればいいという訳にもいかないんじゃないかと思います。

そうなんですか、以前の押した時にマクロが動いていたVersion(というか
現正式Ver)は、内部でそんな感じで調整してるのかと思ってました。

> で、思いついたアイデアですけど、例えば直前に押されたキーが何だったのか、
>秀丸リーダーのDLLで覚えておいて、それをloaddll / dllfuncで取得可能にする
>とかっていうのはダメですかね。

そういう方向のほうがいいのかも知れませんね。
直前のカーソル位置なんかも取得できるようにすることは可能でしょうか?
どっちから移動してきたかを知りたい場合など。

[ ]
RE:27644 秀丸リーダー IME ONで読み位置No.27645
秀まるお2 さん 10/02/16 11:28
 
> 直前のカーソル位置なんかも取得できるようにすることは可能でしょうか?
> どっちから移動してきたかを知りたい場合など。

 秀丸リーダー側としては無理ですけども。

 秀丸リーダーは、キー入力を監視してはいるので、どういうキーが押されたの
かを覚えておいて、それを返すことは出来ます。でも、秀丸エディタの内部の値
までのぞき見することは出来ないので、カーソル位置までは分からないです。

 直前に入力されたキーのコードを返すのだけなら、とりあえずご要望があれば
対応可能です。

[ ]
RE:27645 秀丸リーダー IME ONで読み位置No.27652
K'zawa さん 10/02/16 21:03
 
秀まるおさん、こんにちは。
K'zawaです。

昨日から、Ver2.03に戻しています。
最初の投稿からだいぶたってしまって、環境が変っているせいか、読みズレ問題
が再現しなくなってしまいました。

ネット上で公開されている改造版マクロでもiskeydownが使われています。
なので、iskeydownが使えなくなるのはよくない気がしてきました。

[ ]
RE:27652 秀丸リーダー IME ONで読み位置No.27655
秀まるお2 さん 10/02/17 10:26
 
 あとでよく考えてみたら、実は「キーが押されてる状態かどうか」というのは、
アプリケーションソフト側から制御が可能でした。

 SetKeyboardStateという関数で制御が可能です。なので、例えば秀丸エディタ
側にマクロ実行を指示するタイミングでうまくキー押下状態を制御してやれば、
iskeydownのマクロもうまく動く可能性が高いと思います。

 ではありますが、秀Caps側でセットしたのが秀丸エディタ側にも効くかどうか
はテストしてみないと分からないです。

 ということですが、とりあえずV2.03でうまく動いているということなので、
そのまま保留させていただこうと思います。

 またおかしくなったら連絡ください。

[ ]
RE:27655 秀丸リーダー IME ONで読み位置No.27658
K'zawa さん 10/02/17 11:50
 
秀まるおさん、こんにちは。
K'zawaです。

> ということですが、とりあえずV2.03でうまく動いているということなので、
>そのまま保留させていただこうと思います。
>
> またおかしくなったら連絡ください。

はい、そうします。今のところ気配もかんじられません。
お騒がせしました。

[ ]