summaryrefslogtreecommitdiff
path: root/tt-rss.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-10-06 15:04:46 +0400
committerAndrew Dolgov <[email protected]>2009-10-06 15:04:46 +0400
commit164469f902b1bc0be328e0ecdab555a891e94c05 (patch)
tree6769a8c91e657f165a2717a79300567a35dbb47b /tt-rss.js
parentc9f185bd28bae7c41f55ebdb61e099246a197fb8 (diff)
check for stuck hotkey prefixe sequences and abort them
Diffstat (limited to 'tt-rss.js')
-rw-r--r--tt-rss.js26
1 files changed, 25 insertions, 1 deletions
diff --git a/tt-rss.js b/tt-rss.js
index e5bcbf595..c185ea37c 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -15,6 +15,7 @@ var number_of_feeds = 0;
var sanity_check_done = false;
var _hfd_scrolltop = 0;
var hotkey_prefix = false;
+var hotkey_prefix_pressed = false;
var init_params = new Object();
var ver_offset = 0;
var hor_offset = 0;
@@ -313,6 +314,25 @@ function viewfeed(feed, subop) {
f.viewfeed(feed, subop);
}
+function hotkey_prefix_timeout() {
+ try {
+
+ var date = new Date();
+ var ts = Math.round(date.getTime() / 1000);
+
+ if (hotkey_prefix_pressed && ts - hotkey_prefix_pressed >= 5) {
+ debug("hotkey_prefix seems to be stuck, aborting");
+ hotkey_prefix_pressed = false;
+ hotkey_prefix = false;
+ }
+
+ setTimeout("hotkey_prefix_timeout()", 10);
+
+ } catch (e) {
+ exception_error("hotkey_prefix_timeout", e);
+ }
+}
+
function timeout() {
if (getInitParam("bw_limit") == "1") return;
@@ -1072,8 +1092,12 @@ function hotkey_handler(e) {
if ((keycode == 70 || keycode == 67 || keycode == 71)
&& !hotkey_prefix) {
+ var date = new Date();
+ var ts = Math.round(date.getTime() / 1000);
+
hotkey_prefix = keycode;
- debug("KP: PREFIX=" + keycode + " CHAR=" + keychar);
+ hotkey_prefix_pressed = ts;
+ debug("KP: PREFIX=" + keycode + " CHAR=" + keychar + " TS=" + ts);
return true;
}