diff options
author | anekos | 2010-03-01 18:51:48 +0000 |
---|---|---|
committer | anekos | 2010-03-01 18:51:48 +0000 |
commit | ecea02e73d3a78652120edc5492a1c2a93d58ba6 (patch) | |
tree | f4f98564a701bd43895856a34c67b7d6eeff0176 /feedSomeKeys_3.js | |
parent | ee8814cb0a6148b93a74d9393014df74924f273c (diff) | |
download | vimperator-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-x | feedSomeKeys_3.js | 27 |
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); }); } |