Skip to content

Releases: EsportToys/LibreScroll

v2.1.5

08 Mar 21:57
6faa3e4

Choose a tag to compare

Removes vestigial cancel key being sent.

Prior to implementing the low level mouse hook solution for filtering middle mouse buttons, this was used as a hack so that you can actually use LibreScroll with Chromium-based browsers, which enters into drag-scroll mode immediately upon wheel-button down (as opposed to the correct way in Firefox where it only begins upon the first mouse motion) and ignores any scroll inputs.

This hack had the side effects of creating the following annoyances:

  • middle-clicking on taskbar window thumbnails just cancels the preview before you even release the wheel button, so if you have LibreScroll running then you can't close windows using middle click.
  • some terminal-based apps will start doing weird stuff upon receiving the cancel key, like messing up the text buffer or just exiting certain modals unintentionally

LibreScroll added the LLMouseHook filtering of middle click a long time ago so this hack is no longer needed, but I had forgotten to remove it and so those annoyances stayed, until now.

v2.1.4

15 Dec 16:20

Choose a tag to compare

  • fixed tray tooltop null termination (thanks @kizernis)
  • fixed incorrect activation logic in the extremely rare case where multiple mouse button actions occur within the same USB report

v2.1.3

23 Jun 18:16

Choose a tag to compare

Changelog

  • change: default y-sensitivity is now 18 instead of 9
  • added: ability to input negative numbers for x- and y-sensitivity. (thanks @yarub123's suggestion)

Personal thoughts:

These days I've found that I actually prefer using low friction even on my ThinkPad TrackPoint, whereas I was previously using high friction counteracted by a proportionally high sensitivity to emulate the behavior of stock TrackPoint scrolling.

I've changed my preference to use a higher scroll sensitivity-to-friction ratio (previously 36/6, now 36/3). This is the configuration that I currently use on both my ThinkPad T14sG3 and Tex Shinobi:

[LibreScroll]
decay=3
sensY=36
sensX=36
stepX=1
stepY=1
flick=0
think=1

It turns out that low friction actually kind of gives you an extra fine dimension of control via time: whereas typical displacement-based controls means that your minimum precision of input change is entirely limited by the increment granularity, with a momentum-based input it becomes quite natural to freely transition between velocity-driven and position-driven controls by modulating your speed and/or button hold-time.

By gently tapping the rim of my TrackPoint and let the inertia smooth out the motion, I am able to make far finer scroll inputs than I ever could with vanilla TrackPoint scrolling, while simultaneously being able to scroll long distances quickly and effortlessly thanks to the combination of high sensitivity and low velocity attenuation.

v2.1.2 (recompiled)

20 May 12:06

Choose a tag to compare

  • bugfix: prevent unwanted double-middleclick on Windows Precision Touchpad

(recompiled to baseline x86_64, instead of native to my laptop)

v2.1.1

17 May 14:00
b9ec005

Choose a tag to compare

  • use a dedicated thread for low-level hook

v2.1

17 May 11:59

Choose a tag to compare

  • make the input thread use highest priority
  • add low-level mouse hook to filter out stray middle clicks

v2.0 - Zig rewrite

14 May 05:40

Choose a tag to compare

LibreScroll is now rewritten in Zig!

v1.2

12 Sep 13:18
f9b4865

Choose a tag to compare

Added ThinkPad mode, which when enabled will snap scroll motion to either vertical or horizontal, emulating how TrackPoint works.

Recommended Settings for ThinkPad users (replacing TPmiddle)

With your TrackPoint's middle button set to "middle click mode", the following configurations are recommended to emulate TPmiddle's direct scrolling:

image

Friction: 30
Y-Sensitivity: 90
X-Sensitivity: 90
Minimum X-Step: 10
Minimum Y-Step: 10
Flick Mode: No
ThinkPad Mode: Yes

v1.1.1

12 Sep 10:07
9ac9220

Choose a tag to compare

  • fixed LibreScroll interfering with middle-click-to-close-window on taskbar hover, by delaying sending cancel until the first scroll action is emitted

v1.1

09 Sep 08:38
4f934f2

Choose a tag to compare

Fixed issue of dialog closing/aborting when attempt to scroll over Open/Save/etc dialogs.

Explanation:

To work around Microsoft Edge failing to exit the autoscroll mode despite detecting scroll inputs, the script sends VK_CANCEL so that Edge would exit autoscroll.

However, this also gets detected by traditional win32 file dialogs as if you had clicked "Cancel", immediately closing the dialog box.

This time I made it so that it only sends the converted scancode while leaving out the virtual key, this way programs do not receive an actual "Cancel" character but does detect the corresponding keyboard press.

Known Issue

The Windows WiFi network list is extremely finicky in that if it detects even a tiny bit of horizontal scroll motion, prevoius vertical scrolls gets cancelled. You can work around this by setting X-sensitivity to zero, which disables horizontal scrolling.