Skip to content

Commit 3fbbbe2

Browse files
committed
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 <[email protected]>
2 parents be1829c + 4326699 commit 3fbbbe2

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

gitk

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2301,6 +2301,11 @@ proc scrollval {D {koff 0}} {
23012301
return [expr int(-($D / $scroll_D0) * max(1, $kscroll-$koff))]
23022302
}
23032303
2304+
proc precisescrollval {D {koff 0}} {
2305+
global kscroll
2306+
return [expr (-($D / 10.0) * max(1, $kscroll-$koff))]
2307+
}
2308+
23042309
proc bind_mousewheel {} {
23052310
global canv cflist ctext
23062311
bindall <MouseWheel> {allcanvs yview scroll [scrollval %D] units}
@@ -2319,6 +2324,25 @@ proc bind_mousewheel {} {
23192324
bind $cflist <Alt-MouseWheel> {$cflist yview scroll [scrollval 5*%D 2] units}
23202325
bind $cflist <Alt-Shift-MouseWheel> break
23212326
bind $canv <Alt-Shift-MouseWheel> {$canv xview scroll [scrollval 5*%D] units}
2327+
2328+
bindall <TouchpadScroll> {
2329+
lassign [tk::PreciseScrollDeltas %D] deltaX deltaY
2330+
allcanvs yview scroll [precisescrollval $deltaY] units
2331+
}
2332+
bind $ctext <TouchpadScroll> {
2333+
lassign [tk::PreciseScrollDeltas %D] deltaX deltaY
2334+
$ctext yview scroll [precisescrollval $deltaY 2] units
2335+
$ctext xview scroll [precisescrollval $deltaX 2] units
2336+
}
2337+
bind $cflist <TouchpadScroll> {
2338+
lassign [tk::PreciseScrollDeltas %D] deltaX deltaY
2339+
$cflist yview scroll [precisescrollval $deltaY 2] units
2340+
}
2341+
bind $canv <TouchpadScroll> {
2342+
lassign [tk::PreciseScrollDeltas %D] deltaX deltaY
2343+
$canv xview scroll [precisescrollval $deltaX] units
2344+
allcanvs yview scroll [precisescrollval $deltaY] units
2345+
}
23222346
}
23232347
}
23242348

0 commit comments

Comments
 (0)