― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 19 件の記事 ]  ページ移動 1, 2  次へ
作成者 メッセージ
投稿記事Posted: 2012年2月06日(月) 16:59 
こんにちは。

Windows XP SP3 32bitで FireFox 9.01を使用しています。

タッチタイピングが得意なので、ウィンドウの切り替えを ALT + TAB で行っているのですが、
ウィンドウを切り替えたあと、メニュー操作をしたくて ALTキーを押してもメニュー項目(ファイルメニュー)がアクティブになりません。

あれ? と思ってもう一度ALTキーを押すと今度はちゃんとメニューがアクティブになります。

どうやら、ウィンドウ切り替え直後の1回目だけALTキーの反応が無いようなのです。

なんとかこれを正常に反応するようにしたいので、問題点の調査方法あるいは解決方法をご指導いただけると助かります。

どうぞ、よろしく願いいたします。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月06日(月) 17:19 
オフライン
Moderator

登録日時: 2011年4月06日(水) 10:16
記事: 1905
お住まい: Tokyo
バッキー さんが書きました:
問題点の調査方法あるいは解決方法をご指導いただけると助かります。


まず、以下を。

基本的なトラブルシューティング


なお、Firefox 10がリリースされていますので、お早めにアップデートを。

_________________
[Desktop] Windows 10 pro (64bit) / 16GB RAM


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月06日(月) 19:23 
返信、ありがとうございます。

引用:


Safeモードで確認しましたが、やはりウィンドウ切り替え直後の1度だけATLキーの反応がありませんでした。

また、別のPC(Win XP SP3 32bit)でも同じ症状です。


引用:
なお、Firefox 10がリリースされていますので、お早めにアップデートを。


アドバイスに従い Firefox 10.0にアップデートしましたが、通常モードでもSafeモードでも、やはりウィンドウ切り替え直後の1度だけATLキーの反応がありませんでした。

なにもホームページを表示していないブランクのウィンドウで、このような状態になるのでキャッシュやクッキーの問題でもなさそうです。

他に問題点の調査方法あるいは解決方法はございませんでしょうか?


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月06日(月) 20:24 
オフライン
Moderator

登録日時: 2011年4月06日(水) 10:16
記事: 1905
お住まい: Tokyo
引用:
通常モードでもSafeモードでも


念のため。

インストールのしなおしとか、新しいプロファイルなどは?
書かれていることはすべてお試しください。


なお、XPでは、オレンジ色のFirefoxボタンは非標準です。
(「ファイル」「編集」などのメニュー表示が標準)
http://mozilla.jp/blog/entry/6692/

この兼ね合いにより、altキーの動作に何らかの影響があるのかもしれません。

_________________
[Desktop] Windows 10 pro (64bit) / 16GB RAM


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月06日(月) 23:03 
引用:
インストールのしなおしとか、新しいプロファイルなどは?
書かれていることはすべてお試しください。


Virtual PC上の Win XP SP3 32bitに FireFox 5.0 が残っていましたので確認しましたが、下記の流れで全て再現しました。

FireFox 5.0 → ウィンドウ切り替え直後の1回目のALTキーの反応が無い
FireFox 10.0にアップデート → ウィンドウ切り替え直後の1回目のALTキーの反応が無い
ユーザデータを含む完全アンインストール
念のためリブート
FireFox 10.0再インストール → ウィンドウ切り替え直後の1回目のALTキーの反応が無い


なので、XPでの仕様か根本的な不具合かと思われるのですが、他のXPユーザさんはこのような現象は起きておられませんか?


引用:
なお、XPでは、オレンジ色のFirefoxボタンは非標準です。
(「ファイル」「編集」などのメニュー表示が標準)
http://mozilla.jp/blog/entry/6692/

この兼ね合いにより、altキーの動作に何らかの影響があるのかもしれません。


それならば、私以外のユーザさんでも再現しそうですね。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月07日(火) 12:14 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
XP modeでテストしましたが再現しませんでした。

コード:
data:text/html,<p id="p"></p><script>function keyname(event) { for (var s in event) { if (s.match(/^DOM_VK_/) && event[s] == event.keyCode) { return s; } } return "0x" + event.keyCode.toString(16); } function log(event) { var p = document.getElementById("p"); p.innerHTML = event.type + " keyCode=" + keyname(event) + ", charCode=" + event.charCode + " (0x" + event.charCode.toString(16) + "), shift=" + event.shiftKey + ",ctrl=" + event.ctrlKey + ", alt=" + event.altKey + ", meta=" + event.metaKey + "<BR>" + p.innerHTML; event.preventDefault(); } window.addEventListener("keydown", log, false); window.addEventListener("keypress", log, false); window.addEventListener("keyup", log, false);</script>


このURLをロケーションバーに入れて読み込ませ、表示された空白のコンテンツ部分をクリックして、その後、マウスで別のアプリに切り替えてから、Alt+TabでFirefoxに戻り、Altキーを押すと、どう表示されますか?

追記:

正常なら、

keyup keyCode=DOM_VK_ALT, charCode=0 (0x0), shift=false,ctrl=false, alt=false, meta=false
keydown keyCode=DOM_VK_ALT, charCode=0 (0x0), shift=false,ctrl=false, alt=true, meta=false

と表示されます。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月07日(火) 13:25 
Masayukiさん、XP modeでのテストと検証用のコード、ありがとうございます。

引用:
このURLをロケーションバーに入れて読み込ませ、表示された空白のコンテンツ部分をクリックして、その後、マウスで別のアプリに切り替えてから、Alt+TabでFirefoxに戻り、Altキーを押すと、どう表示されますか?



日時を表示するようにコードを修正してテストしてみました。
コード:
data:text/html,<p id="p"></p><script>function datetime() {now = new Date(); str = now.getFullYear()+"年";str+= now.getMonth()+1+"月"; str+= now.getDate()+"日 ";str += now.getHours()+"時";str+= now.getMinutes()+"分"; str+= now.getSeconds()+"秒 "; return str;} function keyname(event) { for (var s in event) { if (s.match(/^DOM_VK_/) && event[s] == event.keyCode) { return s; } } return "0x" + event.keyCode.toString(16); } function log(event) { var p = document.getElementById("p"); p.innerHTML = datetime() + event.type + " keyCode=" + keyname(event) + ", charCode=" + event.charCode + " (0x" + event.charCode.toString(16) + "), shift=" + event.shiftKey + ",ctrl=" + event.ctrlKey + ", alt=" + event.altKey + ", meta=" + event.metaKey + "<BR>" + p.innerHTML; event.preventDefault(); } window.addEventListener("keydown", log, false); window.addEventListener("keypress", log, false); window.addEventListener("keyup", log, false);</script>


その結果、ALTキーの押し下げは正常に検出されていることが判りました。

2012年2月7日 13時12分35秒 keyup keyCode=DOM_VK_ALT, charCode=0 (0x0), shift=false,ctrl=false, alt=false, meta=false
2012年2月7日 13時12分35秒 keydown keyCode=DOM_VK_ALT, charCode=0 (0x0), shift=false,ctrl=false, alt=true, meta=false


ところで、不思議なことに提示していただいたコードを実行中のウィンドウは、ウィンドウ切り替え直後の1回目のALTキーで正常にファイルメニューがアクティブになりました。

でも、同時に開いている他のウィンドウは、やはりウィンドウ切り替え直後の1回目のALTキーに反応しませんでした。[/code]


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月07日(火) 15:29 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
ウインドウが最大化している時にのみ、Windows 7でも再現しました。そちらではどうでしょうか?


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月07日(火) 15:52 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
あ、分かりました。ウインドウの状態は関係ありません。ウインドウを前回、どのように非アクティブにしたのかに依存するようです。

https://bugzilla.mozilla.org/show_bug.cgi?id=625151

こちらにパッチ出します。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月07日(火) 22:17 
Masayukiさん、Windows7での現象再現ありがとうございます。
また、色々調べてくださってありがとうございます。

すでに原因に見当がおつきのようですが、先の件について返信させていただきます。

ウィンドウのサイズについてですが、デスクトップの4/5ぐらいの幅にしています。

デスクトップ 1440x900
ウィンドウ 1144x897
表示領域 1136x778

でと、ウィンドウを最大化しても同じ症状でした。

ところで、いろいろ操作していると突然1回目のALTに反応するようになりました。
でも、Firefoxを再起動するとやはり1回目のALTに反応しなくなりました。

試行錯誤したところ、以下の手順を行うと1回目のALTに反応するようになる場合が多いようです

1. メモ帳を起動
2. Firefoxを起動(ブランクページ)
3. ALT + Tabでメモ帳に移動
4. メモ帳がアクティブの状態で ALTキーを2回押す
5. タスクバーをクリックすることで Firefoxをアクティベート
6. 1回目のALTに反応することを確認
7. 以後、ALT + Tabでウィンドウを切り替えても1回目のALTに反応する

しかし、この状態でタイトルバーをドラッグしてウィンドウを移動させると、1回目のALTに反応しなくなりました。

ということで、これまでの状況をまとめると

・バッキーの環境では 2台のPC(Win XP SP3 32bit)と1台のVirtual PC(Win XP SP3 32bit)で発生している
・Win7の最大化ウィンドウでも発生している
・突然あるいは特定の手順で1回目のALTに反応するようになるが、再起動すると反応しなくなる、ウィンドウを移動させても反応しなくなる

ということで、Firefoxの不具合のような感じなのですが、、、


Masayuki さんが書きました:
あ、分かりました。ウインドウの状態は関係ありません。ウインドウを前回、どのように非アクティブにしたのかに依存するようです。

https://bugzilla.mozilla.org/show_bug.cgi?id=625151

こちらにパッチ出します。


bugzillaを読みましたが、1年ほど前にすでに現象は確認されていたんですね。

質問を投稿する前に bugzillaは検索したのですが、ALT key menuでヒットした約240件の中から該当するレポートを見つけられませんでした。(_o_)


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月08日(水) 13:38 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
手順ありがとうございます。

バグの方にパッチは提出しました。原因は、Alt+TabでウインドウをFirefoxから切り替える際に、AltのkeydownのみをFirefoxは受け取ります。これで、Altキーが押された、という状態をboolで保存しておいて、それが他の操作でキャンセルすべきかどうかを監視を開始します。

しかし、そのままウインドウが非アクティブになった時に、このフラグを取り消していませんでした。

このため、次にFirefoxのウインドウがアクティブになった時に、Altキーは押されたままという状態だと誤解しています。これだけだと、問題は発生しにくいのですが、日本語版のWindowsでは、Alt+半角/全角が日本語のIMEのオンオフに使われています。ですが、このキーを押したときに、半角/全角のキーイベントは発生しないため、Gecko内のWindows用のIMEのハンドラが、IMEの状態が変わった時、かつAltキーが押されている場合に半角/全角キーのイベントを偽造して、メニューバーのハンドラの機嫌をとろうとします。これが、Alt+Tabの時にも発生していたため、Altキーが押されたけど、キャンセルされた、というフラグを立てていました。この二つの現象が重なって、発生するのがこのバグの一番多い原因だと思われます。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月08日(水) 22:09 
Masayukiさん、大変お世話になりました

Masayuki さんが書きました:
バグの方にパッチは提出しました。


ありがとうございました。
まだしばらくは不便な状態が続きますが、パッチが適用されたアップデートがリリースされるのを待つことにします。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月14日(火) 21:38 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
修正終わりました。問題なければ、Mozilla 13に入ります。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2012年2月14日(火) 23:05 
Masayuki さんが書きました:
修正終わりました。問題なければ、Mozilla 13に入ります。


修正ありがとうございました。

Mozilla 13ということなら、リリースはまだしばらく先のことになりそうですね。
それまで、なにか暫定的な対処方法を探してみます。


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2012年2月15日(水) 14:49 
オフライン

登録日時: 2009年4月26日(日) 00:32
記事: 97
お住まい: 大阪
がんばれば拡張でどうにかできそうな気はしますが……

おそらく、Alt keydown後にwindowがblurイベント受け取ったら、Alt+Tabでフォーカス失ってると思われるので、nsIDOMWindowUtils.sendKeyEvent()で何らかのキーイベントをワンセット送って、そのあとでAltのkeyupを送っておけば次にそのウインドウがフォーカスを受け取る時に問題の状態はリセットされていると思います。

どなたか作りたい方が居て、この情報でもよく分からなかったら、連絡いただければ。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 19 件の記事 ]  ページ移動 1, 2  次へ

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[26人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean