Ticket #33646

アプリケーションスリープAPIを使うアプリケーションに関する要望

Open Date: 2014-04-04 14:54 Last Update: 2014-07-19 18:12

Reporter:
Owner:
(None)
Status:
Open
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None

Details

アプリケーションスリープAPI(2014.1jp における日本語版の独自拡張)に関するご意見をまとめます:

(1) このAPIでアプリケーション画面の読み上げを止めている時に、 NVDA+F12(日時読み上げ)などを読み上げない。

(2) このAPIでアプリケーション画面の読み上げを止めている時に、 アプリケーションに対する入力メソッド(IME)の操作も読み上げないようにして欲しい。

アプリケーションが独自にIME操作をSAPIエンジンに出力している場合に、 日本語入力をSAPIとNVDAが二重に読み上げてしまう。

(3) このAPIでアプリケーション画面の読み上げを止めている時に、 点字ディスプレイのスクロールキーや上下キーの入力操作を有効にして欲しい。

Attachment File List

No attachments

Ticket History (3/9 Histories)

2014-04-04 14:54 Updated by: nishimoto
  • New Ticket "アプリケーションスリープAPIに関する要望" created
2014-04-05 08:03 Updated by: nishimoto
Comment

アプリケーションスリープ(動的に読み上げをON/OFFする)API :チケット #32444 がやっている処理は

デスクトップ用キー NVDA+Shift+S

ラップトップ用キー NVDA+Shift+Z

による制御と同じなので、これらの操作をしていただくと、 アプリケーションスリープは手動で無効にでき、 使いたい機能を有効化できると思います。

ご確認いただければ幸いです。

APIのさらなる追加や、NVDA のスリープモードの仕様変更を行うかどうかは、 どのようなアプリケーションにどのような影響がおよぶかを確認しつつ、 アプリケーション開発者(APIを使う立場のかた)のご意見を伺って、 検討したいと思います。

2014-04-05 11:52 Updated by: nishimoto
Comment

説明不足でしたが、もし NVDA+Shift+S(Z) で制御をしても、その直後にアプリケーションが NVDA にスリープ有効化命令を送ってしまうと、NVDA はアプリケーションスリープに戻ってしまいます。

本件はアプリケーションからの API の使い方に依存する問題でもあります。

それから、本件に関連して AppModule でNVDAをアプリケーションスリープしている WinAltair のようなソフトウェアへの対応で不具合が生じないようにする必要もありそうです。

2014-04-07 00:02 Updated by: nishimoto
  • Component Update from (None) to クライアントAPI
Comment

(2) IME の読み上げの重複は AppModule でNVDAをアプリケーションスリープしている WinAltair でも発生しているとのこと。

NVDA に IME の読み上げを止めるオプションを作って、設定プロファイル、AppModule、API などから制御可能できれば解決するかも知れません。

(3) 点字ディスプレイのスクロールキーや上下キーの入力操作は「VoicePopper3,SearchAid の"内部ブラウザ"モードでは効いていないが、"y"キーでエディタモードにするとスクロールキーや上下キーは本来の挙動をしている」とのことでした。

IME読み上げに関しては別チケットを作るつもりです。

2014-05-13 08:35 Updated by: nishimoto
  • Summary Updated
Comment

概要を「アプリケーションスリープAPIに関する要望」から「アプリケーションスリープAPIを使うアプリケーション関する要望」に変更。

(3)の項目に関連して、だと思いますが、以下のコメントをいただきました。

  • 内部ブラウザモードでの点字ディスプレイからの制御について。
  • 上下左右キーは本来のキーボードのそれと同じ動作。
  • スクロールキーは表示が点字ディスプレイに納まらない時の前・後へのスクロール。

本件についてはまだ何をしたらいいかわかっていません。 ひきつづき情報収集させてください。

2014-05-13 08:36 Updated by: nishimoto
  • Summary Updated
2014-06-16 10:05 Updated by: nishimoto
Comment

技術的なメモ。

スリープモード解除のコマンドだけはスリープモードで有効。

allowInSleepMode という仕組みが使われている:

globalCommands.py:112:  script_toggleCurrentAppSleepMode.allowInSleepMode=True

inputCore.py:389:               if focus.sleepMode is focus.SLEEP_FULL or (focus.sleepMode and not getattr(script, 'allowInSleepMode', False)):
2014-07-19 07:49 Updated by: nishimoto
Comment

#33600 の作業の結果 2014.3jp からはスリープモードのアプリから NVDA+N でNVDAメニューが開くようになります。

新しい検討課題です:

  • アプリケーション開発者とユーザーの間で試行錯誤をしていただくために、NVDA の特定の API を無効にできるようなオプションを作る
2014-07-19 18:12 Updated by: nishimoto
Comment

アプリケーションモジュールで setAppSleepMode を有効化・無効化できるようにしようかと思い始めています。

Edit

Please login to add comment to this ticket » Login