MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
ウィンドウ切り替え直後の1回目のALTキーの反応が無い https://forums.mozillazine.jp/viewtopic.php?f=2&t=12597 |
ページ 1 / 2 |
作成者: | バッキー [ 2012年2月06日(月) 16:59 ] |
記事の件名: | ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
こんにちは。 Windows XP SP3 32bitで FireFox 9.01を使用しています。 タッチタイピングが得意なので、ウィンドウの切り替えを ALT + TAB で行っているのですが、 ウィンドウを切り替えたあと、メニュー操作をしたくて ALTキーを押してもメニュー項目(ファイルメニュー)がアクティブになりません。 あれ? と思ってもう一度ALTキーを押すと今度はちゃんとメニューがアクティブになります。 どうやら、ウィンドウ切り替え直後の1回目だけALTキーの反応が無いようなのです。 なんとかこれを正常に反応するようにしたいので、問題点の調査方法あるいは解決方法をご指導いただけると助かります。 どうぞ、よろしく願いいたします。 |
作成者: | pal [ 2012年2月06日(月) 17:19 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
バッキー さんが書きました: 問題点の調査方法あるいは解決方法をご指導いただけると助かります。
まず、以下を。 基本的なトラブルシューティング なお、Firefox 10がリリースされていますので、お早めにアップデートを。 |
作成者: | バッキー [ 2012年2月06日(月) 19:23 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
返信、ありがとうございます。 引用: Safeモードで確認しましたが、やはりウィンドウ切り替え直後の1度だけATLキーの反応がありませんでした。 また、別のPC(Win XP SP3 32bit)でも同じ症状です。 引用: なお、Firefox 10がリリースされていますので、お早めにアップデートを。
アドバイスに従い Firefox 10.0にアップデートしましたが、通常モードでもSafeモードでも、やはりウィンドウ切り替え直後の1度だけATLキーの反応がありませんでした。 なにもホームページを表示していないブランクのウィンドウで、このような状態になるのでキャッシュやクッキーの問題でもなさそうです。 他に問題点の調査方法あるいは解決方法はございませんでしょうか? |
作成者: | pal [ 2012年2月06日(月) 20:24 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
引用: 通常モードでもSafeモードでも
念のため。 インストールのしなおしとか、新しいプロファイルなどは? 書かれていることはすべてお試しください。 なお、XPでは、オレンジ色のFirefoxボタンは非標準です。 (「ファイル」「編集」などのメニュー表示が標準) http://mozilla.jp/blog/entry/6692/ この兼ね合いにより、altキーの動作に何らかの影響があるのかもしれません。 |
作成者: | バッキー [ 2012年2月06日(月) 23:03 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
引用: インストールのしなおしとか、新しいプロファイルなどは? 書かれていることはすべてお試しください。 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キーの動作に何らかの影響があるのかもしれません。 それならば、私以外のユーザさんでも再現しそうですね。 |
作成者: | Masayuki [ 2012年2月07日(火) 12:14 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
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 と表示されます。 |
作成者: | バッキー [ 2012年2月07日(火) 13:25 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
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] |
作成者: | Masayuki [ 2012年2月07日(火) 15:29 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
ウインドウが最大化している時にのみ、Windows 7でも再現しました。そちらではどうでしょうか? |
作成者: | Masayuki [ 2012年2月07日(火) 15:52 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
あ、分かりました。ウインドウの状態は関係ありません。ウインドウを前回、どのように非アクティブにしたのかに依存するようです。 https://bugzilla.mozilla.org/show_bug.cgi?id=625151 こちらにパッチ出します。 |
作成者: | バッキー [ 2012年2月07日(火) 22:17 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
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_) |
作成者: | Masayuki [ 2012年2月08日(水) 13:38 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
手順ありがとうございます。 バグの方にパッチは提出しました。原因は、Alt+TabでウインドウをFirefoxから切り替える際に、AltのkeydownのみをFirefoxは受け取ります。これで、Altキーが押された、という状態をboolで保存しておいて、それが他の操作でキャンセルすべきかどうかを監視を開始します。 しかし、そのままウインドウが非アクティブになった時に、このフラグを取り消していませんでした。 このため、次にFirefoxのウインドウがアクティブになった時に、Altキーは押されたままという状態だと誤解しています。これだけだと、問題は発生しにくいのですが、日本語版のWindowsでは、Alt+半角/全角が日本語のIMEのオンオフに使われています。ですが、このキーを押したときに、半角/全角のキーイベントは発生しないため、Gecko内のWindows用のIMEのハンドラが、IMEの状態が変わった時、かつAltキーが押されている場合に半角/全角キーのイベントを偽造して、メニューバーのハンドラの機嫌をとろうとします。これが、Alt+Tabの時にも発生していたため、Altキーが押されたけど、キャンセルされた、というフラグを立てていました。この二つの現象が重なって、発生するのがこのバグの一番多い原因だと思われます。 |
作成者: | バッキー [ 2012年2月08日(水) 22:09 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
Masayukiさん、大変お世話になりました Masayuki さんが書きました: バグの方にパッチは提出しました。
ありがとうございました。 まだしばらくは不便な状態が続きますが、パッチが適用されたアップデートがリリースされるのを待つことにします。 |
作成者: | Masayuki [ 2012年2月14日(火) 21:38 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
修正終わりました。問題なければ、Mozilla 13に入ります。 |
作成者: | バッキー [ 2012年2月14日(火) 23:05 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
Masayuki さんが書きました: 修正終わりました。問題なければ、Mozilla 13に入ります。
修正ありがとうございました。 Mozilla 13ということなら、リリースはまだしばらく先のことになりそうですね。 それまで、なにか暫定的な対処方法を探してみます。 |
作成者: | Masayuki [ 2012年2月15日(水) 14:49 ] |
記事の件名: | Re: ウィンドウ切り替え直後の1回目のALTキーの反応が無い |
がんばれば拡張でどうにかできそうな気はしますが…… おそらく、Alt keydown後にwindowがblurイベント受け取ったら、Alt+Tabでフォーカス失ってると思われるので、nsIDOMWindowUtils.sendKeyEvent()で何らかのキーイベントをワンセット送って、そのあとでAltのkeyupを送っておけば次にそのウインドウがフォーカスを受け取る時に問題の状態はリセットされていると思います。 どなたか作りたい方が居て、この情報でもよく分からなかったら、連絡いただければ。 |
ページ 1 / 2 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |