From ecea02e73d3a78652120edc5492a1c2a93d58ba6 Mon Sep 17 00:00:00 2001
From: anekos
Date: Mon, 1 Mar 2010 18:51:48 +0000
Subject: vkeypress がうまく動作していないのを修正
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@36895 d0d07461-0603-4401-acd4-de1884942a52
---
feedSomeKeys_3.js | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)
diff --git a/feedSomeKeys_3.js b/feedSomeKeys_3.js
index 8aeb679..746960e 100755
--- a/feedSomeKeys_3.js
+++ b/feedSomeKeys_3.js
@@ -39,7 +39,7 @@ let PLUGIN_INFO =
feedSomeKeys 3
feed some defined key events into the Web content
キーイベントをWebコンテンツ側に送る
- 1.0.1
+ 1.0.2
anekos
new BSD License (Please read the source code comments of this plugin)
修正BSDライセンス (ソースコードのコメントを参照してください)
@@ -47,16 +47,16 @@ let PLUGIN_INFO =
2.3
2.3
;
// }}}
// INFO {{{
let INFO =
-
@@ -157,6 +157,23 @@ let INFO =
return result.snapshotLength && result.snapshotItem(0);
}
+ function createEvent (eventName, event) {
+ let result = content.document.createEvent('KeyEvents');
+ result.initKeyEvent(
+ eventName,
+ true,
+ true,
+ content,
+ event.ctrlKey,
+ event.altKey,
+ event.shiftKey,
+ event.metaKey,
+ event.keyCode,
+ event.charCode
+ );
+ return result;
+ }
+
function virtualize (event) {
event.keyCode = VKeys[String.fromCharCode(event.charCode).toLowerCase()];
event.charCode = 0;
@@ -173,7 +190,7 @@ let INFO =
let [, vkey, name] = eventName.match(/^(v)?(.+)$/);
if (vkey)
virtualize(keyEvent);
- let event = events.create(content.document, name, keyEvent);
+ let event = createEvent(name, keyEvent);
target.dispatchEvent(event);
});
}
--
cgit v1.2.3