From bf5038a97153dc63d2c1be4c06e89343fb730f67 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Sat, 31 Aug 2013 18:05:58 -0400 Subject: [PATCH] numbered_links: add dvorak scrolling keybindings --- numbered_links.user.js | 94 +++++++++++++++++++++++------------------------- 1 file changed, 44 insertions(+), 50 deletions(-) diff --git a/numbered_links.user.js b/numbered_links.user.js index d29b24a..3598b68 100644 --- a/numbered_links.user.js +++ b/numbered_links.user.js @@ -325,31 +325,6 @@ function followLinks(follow) { } } - - - - - - - - - - - - - - - - - - - - - - - - - // from your event handler you can: return stop_event(e) function stop_event(e) { // try { @@ -359,32 +334,51 @@ function stop_event(e) { // return false; // IE-compat // } } -document.addEventListener( - 'keydown', - function(e) { - // [de]activate on ^C - // deactivate on ESC - if( - (e.ctrlKey && e.keyCode == 67) - || (e.keyCode == 27 && active == 1) - ) { - if(active) { - got = ''; - removeAllHints(); - } else { - followLinks(got); - } - active = 1 - active; - return stop_event(e); - } else { - if(active == 1 && !e.ctrlKey && !e.shiftKey && !e.altKey) { - if(key_to_char[e.keyCode]) { - got += key_to_char[e.keyCode]; + +function init() { + document.addEventListener( + 'keydown', + function(e) { + // [de]activate on ^C + // deactivate on ESC + if( + (e.ctrlKey && e.keyCode == 67) + || (e.keyCode == 27 && active == 1) + ) { + if(active) { + got = ''; + removeAllHints(); + } else { followLinks(got); - return stop_event(e); + } + active = 1 - active; + return stop_event(e); + } else { + if(active == 1 && !e.ctrlKey && !e.shiftKey && !e.altKey) { + if(key_to_char[e.keyCode]) { + got += key_to_char[e.keyCode]; + followLinks(got); + return stop_event(e); + } + } else { + // general keybinding, unrelated to numbered links + if (document.activeElement == document.body) { // FIXME get more specific + var c = key_to_char[e.keyCode]; + switch (c) { + case 'c': + window.scrollBy(0, -200); + break; + case 't': + window.scrollBy(0, 200); + break; + } + } } } - } - }, - true); + }, + true); +} + +init(); + })(); -- 1.7.10.4