philc / philc/vimium

Firefox: scrolling is not a constant speed with env var MOZ_USE_XINPUT2=1

Open
#3,386 33 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

browser bug
Dominant language
JavaScript
Stars
27k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

I've recently switched to Pop!_OS and I have reencountered a bug that I have seen several times in the past on other linux distributions / firefox versions.

When scrolling with j/k or d/u, after holding the key down for what feels like the system key-repeat timeout, it starts scrolling multiple times faster than it should. Before key-repeat kicks in, it scrolls at the expected speed. It seems like once the system repeats the key, vimium applies the scroll speed more than once. For j/k it ends up moving about twice as fast as expected and for d/u multiple times faster than expected.

I love your extension so much that I've actually had to switch to Chrome rather than keep using Firefox without proper scrolling. Let me know if there's anything I can try or any diagnostics I can provide. Thanks!

Firefox: 69.0
OS: Pop!_OS 19.04
Kernel: 5.0.0-27-generic

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the accelerated j/k and d/u scrolling in Firefox with MOZ_USE_XINPUT2=1, using the Pop!_OS and Firefox details in the report. Trace the key-repeat and scrolling entry points in the extension, then verify that holding each key preserves the expected speed without duplicate acceleration.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.