diff options
| author | Johannes Sixt <j6t@kdbg.org> | 2025-08-27 20:52:35 +0200 |
|---|---|---|
| committer | Johannes Sixt <j6t@kdbg.org> | 2025-08-27 20:52:35 +0200 |
| commit | 3fbbbe27eadc571f9c1f77073bce27ea1ef81439 (patch) | |
| tree | a34e78ac14b245a02ca612710f3a63ee7c27c3bc | |
| parent | be1829c0fd55ae2f7851c0c610c716cc5154dc5c (diff) | |
| parent | 432669914b2fb812bc62e3b52176a8bfc8e4d667 (diff) | |
Merge branch 'tk87-touchpad-scroll' of github.com:ZhongRuoyu/gitk
* 'tk87-touchpad-scroll' of github.com:ZhongRuoyu/gitk:
gitk: fix trackpad scrolling for Tcl/Tk 8.7+
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
| -rwxr-xr-x | gitk | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -2301,6 +2301,11 @@ proc scrollval {D {koff 0}} { return [expr int(-($D / $scroll_D0) * max(1, $kscroll-$koff))] } +proc precisescrollval {D {koff 0}} { + global kscroll + return [expr (-($D / 10.0) * max(1, $kscroll-$koff))] +} + proc bind_mousewheel {} { global canv cflist ctext bindall <MouseWheel> {allcanvs yview scroll [scrollval %D] units} @@ -2319,6 +2324,25 @@ proc bind_mousewheel {} { bind $cflist <Alt-MouseWheel> {$cflist yview scroll [scrollval 5*%D 2] units} bind $cflist <Alt-Shift-MouseWheel> break bind $canv <Alt-Shift-MouseWheel> {$canv xview scroll [scrollval 5*%D] units} + + bindall <TouchpadScroll> { + lassign [tk::PreciseScrollDeltas %D] deltaX deltaY + allcanvs yview scroll [precisescrollval $deltaY] units + } + bind $ctext <TouchpadScroll> { + lassign [tk::PreciseScrollDeltas %D] deltaX deltaY + $ctext yview scroll [precisescrollval $deltaY 2] units + $ctext xview scroll [precisescrollval $deltaX 2] units + } + bind $cflist <TouchpadScroll> { + lassign [tk::PreciseScrollDeltas %D] deltaX deltaY + $cflist yview scroll [precisescrollval $deltaY 2] units + } + bind $canv <TouchpadScroll> { + lassign [tk::PreciseScrollDeltas %D] deltaX deltaY + $canv xview scroll [precisescrollval $deltaX] units + allcanvs yview scroll [precisescrollval $deltaY] units + } } } |
