Hatena::Groupvimperator

Death to false Web browser! このページをアンテナに追加 RSSフィード

 | 

2009-12-06

マッピングおかしくなる件の解決もどき

| 06:07 | マッピングおかしくなる件の解決もどき - Death to false Web browser!  を含むブックマーク はてなブックマーク - マッピングおかしくなる件の解決もどき - Death to false Web browser!  マッピングおかしくなる件の解決もどき - Death to false Web browser!  のブックマークコメント

localkeymode.jsfeedSomeKeys_2.js 関連?

突然ローカルなマッピングが解除されなくなってしまうことがある。

再現方法がわからなくて困り中。

マッピングが突然おかしくなる問題 - Death to false Web browser! - vimperatorグループ

この件は

Index: localkeymode.js
===================================================================
--- localkeymode.js (revision 35982)
+++ localkeymode.js (working copy)
@@ -244,7 +244,7 @@
     loadKeyMap: function() {
       var self = this;
       // 暫定処置
-      //if (liberator.plugins.feedKey && liberator.plugins.feedKey.origMap.length >0) return;
+      if (liberator.plugins.feedKey && liberator.plugins.feedKey.origMap.length >0) return;
       this.helpstring = '';
       if (this.isBinding) this.restoreKeyMap();
       if (!this.isEnable) {

で、なおった。

しかし、この処理の意味がよくわからない。*1

コメントにちゃんと書いておけば良かった。

*1:自分が書いたコードだと思うんだけど…

pekepekesamuraipekepekesamurai2009/12/07 00:25多分これ、僕が一回書いたコードですね。
原因と思われるのは fmapc と localkeymode.js のバインディング解除の実行順序の問題。
おそらく内部的には TabLeave→fmapc→fmap→localkeymode.jsのバインディング解除の順に動作してしまっているため、キーバインディングがめちゃくちゃになることがあるような気がします(ちゃんと検証してないけど、多分こんな感じ)。
根本的な解決としては、fmapc に localkeymode をHookするか、そもそもキーバインディングを別の箇所でやるか、それならページ単位でキーバインディングをするAPIみたいのを作りたいなぁ~、、、とかいろいろ考えた挙げ句、どうにもしっくりする解決方が見つからなかったので放置。。。という感じです。

nokturnalmortumnokturnalmortum2009/12/10 00:16なるほど…
しかし、最近になってダメになったのはなんでだろう。
スマートな解決方法がほしいところですねぇ。

トラックバック - http://vimperator.g.hatena.ne.jp/nokturnalmortum/20091206
 |