diff options
author | anekos | 2008-11-07 11:39:55 +0000 |
---|---|---|
committer | anekos | 2008-11-07 11:39:55 +0000 |
commit | cc306d3b3e99c8d79508dcda59e18cefef8b014f (patch) | |
tree | a257be6c4790bfe5d4efbce5a8a7fc039eb84421 /asdfghjkl.js | |
parent | 1e5790159685a0d336c248b9a533f627165d831a (diff) | |
download | vimperator-plugins-cc306d3b3e99c8d79508dcda59e18cefef8b014f.tar.bz2 |
Shift+ で、有効無効を反転できるようにした(要設定ON)
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22948 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'asdfghjkl.js')
-rw-r--r-- | asdfghjkl.js | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/asdfghjkl.js b/asdfghjkl.js index 2eafdde..ca662ae 100644 --- a/asdfghjkl.js +++ b/asdfghjkl.js @@ -3,7 +3,9 @@ // @description Inputting numbers by asdfghjkl; keys in hint mode. // @description-ja Hintモードで、asdfghjkl;キーを使って数字入力をする。 // @license Creative Commons 2.1 (Attribution + Share Alike) -// @version 1.1 +// @version 1.2 +// @minVersion 2.0pre +// @maxVersion 2.0pre // @author anekos (anekos@snca.net) // ==/VimperatorPlugin== // @@ -26,6 +28,7 @@ { let asdfghjkl_default = eval(liberator.globalVariables.asdfghjkl_default || 'false'); let mode_change_key = liberator.globalVariables.asdfghjkl_mode_change_key || '<Space>'; + let useShift = eval(liberator.globalVariables.asdfghjkl_useShift || 'false'); let active = false; let original = { @@ -35,20 +38,28 @@ events.onKeyPress = function (event) { if (modes.extended & modes.HINTS) { + let act = active; let key = events.toString(event); + liberator.log(act); if (key == mode_change_key) { active = !active; event.preventDefault(); event.stopPropagation(); return; } - if (active && key.length == 1) { - let n = ';asdfghjkl'.indexOf(key); - if (n >= 0) { - events.feedkeys(n.toString(), true); - event.preventDefault(); - event.stopPropagation(); - return; + if (key.length == 1) { + if (useShift && event.shiftKey) { + act = !act; + key = key.toLowerCase(); + } + if (act) { + let n = ';asdfghjkl'.indexOf(key); + if (n >= 0) { + events.feedkeys(n.toString(), true); + event.preventDefault(); + event.stopPropagation(); + return; + } } } } |