From cc306d3b3e99c8d79508dcda59e18cefef8b014f Mon Sep 17 00:00:00 2001 From: anekos Date: Fri, 7 Nov 2008 11:39:55 +0000 Subject: Shift+ で、有効無効を反転できるようにした(要設定ON) git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22948 d0d07461-0603-4401-acd4-de1884942a52 --- asdfghjkl.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'asdfghjkl.js') 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 || ''; + 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; + } } } } -- cgit v1.2.3