Tíquete #33778

行頭にスペースや文字を挿入したときに点字ディスプレイが更新されない

: 2014-05-08 22:24 Última Atualização: 2014-05-12 10:58

Relator:
Dono:
Tipo:
Estado:
Fechado
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
Nenhum

Details

報告いただいた現象とすこし違う部分もあるようですが、だいたい合っているようなので、こちらで確認した現象をまとめます。

NVDA jpbeta140503 + Windows 8.1 64ビット + KGS BM46 + メモ帳 (BMユーティリティ 6.0 + Windows 互換設定で Windows 7 用のUSBドライバを無理やりインストール)

NVDA の点字モードはフォーカスでもレビューでも以下の状況は同じ。

メモ帳で1行目に abc と書き、左端にキャレットを移動。 点字表示は「外abc」 となり、左端がカーソル点滅する。

スペースキーを押すと、画面は " abc" のように、 a の左にスペースが入る。 キャレットはスペースと a のあいだにある。 点字ディスプレイはスペースが入らず、表示は変化しない。

右矢印キーを押すと画面は " abc" のままでキャレットは a と b のあいだに移動。 点字ディスプレイは「スペース 外字符 abc」になり、b の下がカーソル点滅。

同じことを 2014.1jp で行うと a の左にスペースを入れたときに、 点字ディスプレイは「スペース 外字符 abc」になり、外字符の下がカーソル点滅している。

なぜ jpbeta140503 では、 最初のスペースキーを押したときに、 点字ディスプレイの左端にスペースが入らないか?

Ticket History (3/10 Histories)

2014-05-08 22:24 Updated by: nishimoto
  • New Ticket "行頭にスペースを挿入したときに点字ディスプレイが更新されない" created
2014-05-11 10:44 Updated by: nishimoto
Comentário

jpbeta140509 + Windows 7 + KGS BM46 で確認したこと:

  • 同じ手順を繰り返しても確実に再現できるだけではない
  • "abcあ" のように日本語入力の確定(かな文字のままでよい)を行ってすぐ左矢印キーで行頭に戻ったときには、確実に再現できる
  • 左矢印キーを押すと点字表示は更新されるので、その時点で入力されたスペースの数は把握できるようになる
  • 入力文字の読み上げ「なし」でも発生する
  • 書式設定「インデントの通知」チェックでも発生する
  • 日本語設定「日本語の文字入力拡張」チェックなしでも発生する
  • 点字設定「メッセージ表示待ち時間」を 0 にしても発生する
  • 点字表示モード「フォーカス」「レビュー」のいずれでも発生する
  • 点字表示「可能な場合コンピュータ点字」はチェック有り無しのどちらでも発生する
  • Windows 7 の Microsoft IME と Microsoft Office IME 2010 はどちらでも発生する
  • Windows 7 のメモ帳とワードパッドはどちらでも発生する
  • 行頭にスペースではなく半角アルファベット z などを入力した場合も、すぐには点字表示が更新されず、左矢印キーなどを押したときにはじめて更新される。

本家の実装を疑う必要があるのですが、私がもっている機材で可能な手順としては英語 Windows で本家の英語版スナップショットを実行して、アドオン版の KGS ドライバーを試してみる、という感じでしょうか。。

2014-05-11 12:18 Updated by: nishimoto
Comentário

言語を英語に切り替えた Windows 8.1 で本家 2013.1 を実行して、アドオン版の KGS ドライバーで BM46 に英語出力してみました。

入出力ともに US 8dot computer braille にして、Microsoft IME も併用して "abcあ" と入力したところ、「あ」は正しく点訳されないのですが、ちゃんとメモ帳の行頭のスペースを入れたときに点字表示が更新されることを確認できました。

となるといまのところ本家版の実装に疑いはなく、日本語点訳エンジンに固有の問題、という可能性があります。。

2014-05-11 13:17 Updated by: nishimoto
Comentário

dummyBraille アドオン 0.2

https://dl.dropboxusercontent.com/u/62564469/dummyBraille-0.2.nvda-addon

ポートスキャンの機能に加えて、点字ディスプレイドライバに送られるパターンをそのまま Unicode フォントで画面表示する機能を作りました。

これで確認すると、日本語点訳エンジンを使っていても、行頭でスペースを入れたときに点字表示は更新されています。

この確認に間違いがないとしたら、疑うべき場所は KGS ドライバーということになります。

この現象が KGS 以外の点字ディプレイで起きているかどうか確認できる方がいらっしゃると助かります。

2014-05-11 13:47 Updated by: nishimoto
  • Summary Updated
Comentário

本件が 2014.1jp では起きていないことを、いままで明確にしていませんでした。

jpbeta140509 + dummyBraille 0.2 では点字出力テーブルが日本語でも英語8点コンピューターでも、本件を再現できました。

本家 master スナップショットで再現できれば、本家へのチケット登録ということになりそうです。

概要「行頭にスペースを挿入したときに点字ディスプレイが更新されない」から「行頭にスペースや文字を挿入したときに点字ディスプレイが更新されない」に変更します。

2014-05-11 14:04 Updated by: nishimoto
  • Resolução Update from Nenhum to Accepted
Comentário

以下のご報告をいただきました。

やはり 2014.1 から 2014.2 に向けて本家の実装がなにか変わったことの影響のように思われます。

HIMS社ブレイルセンス・オンハンドで試しました。
挙動は若干違うものの問題があります。

1.
半角英数字を入力し行頭へキャレットを移動します。
spaceを押すとスペースが入り、点字も更新されます。
この状態でタッチカーソルを押しても無反応です。

2.半角"abc"と入力した後漢字変換で"あいう"と入力します。
行頭にキャレットを移動してspaceを押すと点字では"変換停止"と表示されスペースが反映しません。
タッチカーソルはやはり無反応です。
2014-05-11 19:34 Updated by: nishimoto
Comentário

本家の master を過去にさかのぼって動作検証したところ、どうやら下記の作業の影響のように思えます。

3873 setFocusObject incorrectly caches container property as parent

http://community.nvda-project.org/ticket/3873

この変更を元に戻すパッチ:

diff --git a/source/api.py b/source/api.py
index c829f3b..168cff9 100644
--- a/source/api.py
+++ b/source/api.py
@@ -93,7 +93,7 @@ Before overriding the last object, this function calls event_l
oseFocus on the ob
                                origAncestors=oldFocusLine[0:index+1]
                                #make sure to cache the last old ancestor as a p
arent on the first new ancestor so as not to leave a broken parent cache
                                if ancestors and origAncestors:
-                                  ancestors[0].container=origAncestors[-1]
+                                  ancestors[0].parent=origAncestors[-1]
                                origAncestors.extend(ancestors)
                                ancestors=origAncestors
                                focusDifferenceLevel=index+1

本当にもどしていいのかどうかもう少し検討が必要です。

暫定的に「日本語版の文字入力拡張」がオンのときにこの本家3873の作業を元に戻す処理をするテスト版を作ってみます。

この本家3873は「最新情報(changes)」で説明されていません。

2014-05-11 19:40 Updated by: nishimoto
Comentário

日本語テスト版 jpbeta140511

https://dl.dropboxusercontent.com/u/62564469/nvda_jpbeta140511.exe

「行頭にスペースや文字を挿入したときに点字ディスプレイが更新されない」 の不具合がこのテスト版で回避できるかどうか、 情報収集させてください。

2014-05-11 21:17 Updated by: nishimoto
Comentário

テスト版 jpbeta140511 で本件の問題は解決したようですが、念のために点字ディスプレイが「点字なし」の場合は本家版の動作になるようにします。

[jpbranch 1d465fe] revert #3873 only when braille display is used
 1 file changed, 2 insertions(+), 1 deletion(-)
2014-05-12 10:58 Updated by: nishimoto
  • Resolução Update from Accepted to Fixed
  • Estado Update from Aberto to Fechado
  • Ticket Close date is changed to 2014-05-12 10:58
  • Marco Update from (Nenhum) to 2014.2jp-public-beta (fechado)
Comentário

本件はクローズして、本家へのレポートは別のチケットで扱います。

Attachment File List

No attachments

Editar

Please login to add comment to this ticket » Login