tcl-tk 9.0.4 (Aqua) never delivers <MouseWheel> events to real hardware scroll input #6998
Unanswered
priestc
asked this question in
Everyday usage
Replies: 1 comment
|
Why not ask the tcl-tk developers? Chances are they are much better at debugging this than anyone looking here. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What's happening
tcl-tk9.0.4 (Homebrew bottle, Aqua/macOS) never delivers<MouseWheel>events to any Tk widget for real mouse-wheel/scroll input. Scrollbars work fine when dragged, andevent_generate("<MouseWheel>", ...)(synthetic events) work and update the UI — but actual OS-delivered scroll input never triggers any<MouseWheel>,<Button-4>, or<Button-5>binding, anywhere.This was originally found in a real Tkinter app (full write-up here), but I isolated it down to environment-level reproductions with zero app code involved:
tk.Tk()window with a single<MouseWheel>binding viabind_all— no scroll events logged when scrolling over the window with a real mouse.wish(no Python/Tkinter at all) withbind all <MouseWheel> {...}— same result, nothing logged.Both were confirmed via file-logging from inside the event handler (so it's not a stdout-buffering artifact) while actively scrolling with a real mouse over the frontmost, active window.
What I expected
Scrolling with a real mouse/trackpad over any Tk window should fire
<MouseWheel>(or<Button-4>/<Button-5>) bindings, same as it does on other Tk installs (e.g. older tcl-tk 8.6 builds, or system Tk elsewhere).Environment
brew configoutput:tcl-tk: 9.0.4 (installed viabrew install tcl-tk), confirmed the running interpreter links against/opt/homebrew/opt/tcl-tk/lib/libtcl9tk9.0.dylib(viaotool -Lon_tkinter.cpython-314-darwin.sofrom apython-tk@3.14install).I'm not filing this as an Issue against homebrew-core because
brew doctoron this machine has a few unrelated warnings (deprecatedrarcask, outdated CLT release, deprecatedicu4c@77— none of which relate to Tk or scrolling), and I didn't want to make unrelated system changes just to satisfy the issue template's clean-doctor requirement. Posting here first in case anyone recognizes this or knows whether it's actually a Tk-core Aqua regression (in which case it'd need to go to the Tcl/Tk Fossil tracker at core.tcl-lang.org rather than here) versus something specific to the Homebrew build/patches.Steps to reproduce
Then scroll over the window with a real mouse — nothing prints.
event_generate('<MouseWheel>', delta=-3)from a script does trigger the callback, so the binding itself is registered correctly; it's real hardware-originated events specifically that never arrive.Happy to provide more diagnostics (e.g. downgrading to
tcl-tk@8to confirm whether it's 9.0-specific) if useful.All reactions