aboutsummaryrefslogtreecommitdiffstats
path: root/feedSomeKeys_3.js
diff options
context:
space:
mode:
authoranekos2010-03-01 18:51:48 +0000
committeranekos2010-03-01 18:51:48 +0000
commitecea02e73d3a78652120edc5492a1c2a93d58ba6 (patch)
treef4f98564a701bd43895856a34c67b7d6eeff0176 /feedSomeKeys_3.js
parentee8814cb0a6148b93a74d9393014df74924f273c (diff)
downloadvimperator-plugins-ecea02e73d3a78652120edc5492a1c2a93d58ba6.tar.bz2
vkeypress がうまく動作していないのを修正
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@36895 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'feedSomeKeys_3.js')
-rwxr-xr-xfeedSomeKeys_3.js27
1 files 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 =
<name lang="ja">feedSomeKeys 3</name>
<description>feed some defined key events into the Web content</description>
<description lang="ja">キーイベントをWebコンテンツ側に送る</description>
- <version>1.0.1</version>
+ <version>1.0.2</version>
<author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author>
<license>new BSD License (Please read the source code comments of this plugin)</license>
<license lang="ja">修正BSDライセンス (ソースコードのコメントを参照してください)</license>
@@ -47,16 +47,16 @@ let PLUGIN_INFO =
<minVersion>2.3</minVersion>
<maxVersion>2.3</maxVersion>
<detail><![CDATA[
- ----
+ see ":help feedSomeKeys-plugin"
]]></detail>
<detail lang="ja"><![CDATA[
- ----
+ see ":help feedSomeKeys-plugin"
]]></detail>
</VimperatorPlugin>;
// }}}
// INFO {{{
let INFO =
-<plugin name="feedSomeKeys" version="1.0.1"
+<plugin name="feedSomeKeys" version="1.0.2"
href="http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/feedSomeKeys_3.js"
summary="Feed some defined key events into the Web content"
xmlns="http://vimperator.org/namespaces/liberator">
@@ -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);
});
}