aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content_scripts/scroller.coffee11
1 files changed, 8 insertions, 3 deletions
diff --git a/content_scripts/scroller.coffee b/content_scripts/scroller.coffee
index a1f5bfa1..ecb739ec 100644
--- a/content_scripts/scroller.coffee
+++ b/content_scripts/scroller.coffee
@@ -89,13 +89,18 @@ doScrollBy = do ->
time = 0
lastEvent = null
keyHandler = null
+ keyIsDown = false
(element, direction, amount) ->
return unless amount
keyHandler ?= handlerStack.push
- keydown: -> lastEvent = event
- keyup: -> time += 1
+ keydown: ->
+ keyIsDown = true unless event.repeat
+ lastEvent = event
+ keyup: ->
+ keyIsDown = false
+ time += 1
unless settings.get "smoothScroll"
# Jump scrolling.
@@ -109,7 +114,7 @@ doScrollBy = do ->
activationTime = ++time
isKeyStillDown = ->
- time == activationTime
+ time == activationTime and keyIsDown
# Store amount's sign and make amount positive; the logic is clearer when amount is positive.
sign = Math.sign amount