aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAlex Kovar2010-10-20 18:03:23 -0500
committerAlex Kovar2010-10-20 18:03:23 -0500
commit8feb7df5e4185e2f28262a3524f7fb3d9b1e470d (patch)
tree1f5c08710e7bc1e9163d0e7f77d747a6654e5cb6 /lib
parent58e494b82b5fee3662fca48543f86caabb16fc48 (diff)
downloadvimium-8feb7df5e4185e2f28262a3524f7fb3d9b1e470d.tar.bz2
initial code for bookmark mode completion dialog
Diffstat (limited to 'lib')
-rw-r--r--lib/keyboardUtils.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/keyboardUtils.js b/lib/keyboardUtils.js
index 98725d95..60eb487f 100644
--- a/lib/keyboardUtils.js
+++ b/lib/keyboardUtils.js
@@ -61,3 +61,25 @@ function isEscape(event) {
return event.keyCode == keyCodes.ESC ||
(event.ctrlKey && getKeyChar(event) == '['); // c-[ is mapped to ESC in Vim by default.
}
+
+var KeyPressListener = function(handlers) {
+ this.handlers = handlers;
+}
+
+KeyPressListener.prototype = {
+ enable: function() {
+ var handlers = this.handlers;
+ var wrapper = function(callback){
+ return function(event) {
+ callback(event)
+ }
+ }
+ (handlers.keyDown && document.addEventListener("keydown", handlers.keyDown, true));
+ (handlers.keyUp && document.addEventListener("keyup", handlers.keyUp, true));
+ },
+ disable: function() {
+ var handlers = this.handlers;
+ (handlers.keyDown && document.removeEventListener("keydown", handlers.keyDown, true));
+ (handlers.keyUp && document.removeEventListener("keyup", handlers.keyUp, true));
+ }
+}