Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

tcl/tk error "no event type or button # or keysym" fix!

Status
Not open for further replies.

olawlor

Programmer
Sep 9, 2010
1
US
thread287-1518802

Many people, including me, get this enormous runtime error after properly installing tcl/tk:

/home/me/dev/tk8.4.0/lib/tk8.4/tk.tcl: no event type or button # or keysym
no event type or button # or keysym
while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
(file "/home/me/dev/tk8.4.0/lib/tk8.4/listbox.tcl" line 182)
invoked from within
"source /home/me/dev/tk8.4.0/lib/tk8.4/listbox.tcl"
(in namespace eval "::" script line 1)
invoked from within
"namespace eval :: [list source [file join $::tk_library $file.tcl]]"
(procedure "SourceLibFile" line 2)
invoked from within
"SourceLibFile listbox"
(in namespace eval "::tk" script line 4)
invoked from within ....

The proximate cause is "MouseWheel" event type is not recognized. One fix, if you don't care about the stupid MouseWheel, is just to comment out (with "#") the entire "bind" for MouseWheel events. This happens at lines 178 through 198 of "listbox.tcl", and lines 453 through 474 of "text.tcl". Both files in the tk support directory path listed in the error message, here tk8.4.0/lib/tk8.4/listbox.tcl.

I commented these out, and now have working tk applications!

The ultimate cause of this error is unknown, possibly due to a mismatch between Tcl/Tk at install time or run time. I got it building the X11 version of Tk (in "unix/") on a Mac OS X machine, but commenting out the "MouseWheel" sections fixed it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top