PNG image following cursor, over a Tk canvas. FROM: http://wiki.tcl.tk/864 (imaged on 2009 mar 19) Tk doesn't seem to directly support using PNG cursors or XPM cursors. However I found a way around this by having an image follow the cursor around. The window cursor is set to a blank.xbm. Which is simply a bitmap created with the bitmap program with only a hotspot defined. The PNG image follows the invisble cursor around. (I have a mouse cursor position setup screen in my game to make it accurate. My setup screen is a square that has bindings for enter and leave that cause the cursor to be displayed. I have a scale on the bottom and side that allows adjusting the amount to subtract or add to the pointerx and pointery values.) Here is an example: -------------------- #! /usr/bin/env wish package require Img set can .frame.can frame .frame pack .frame canvas $can -width 30c -height 22c pack $can set default_cursor_image [image create photo -file ./cursor.png] bind . {cursor_move %x %y} . configure -cursor "@blank.xbm black" proc cursor_move {x y} { global default_cursor_image can #Try removing this if you want to draw some fun pictures. catch {$can delete default_cursor} set x [$can canvasx $x] set y [$can canvasy $y] $can create image $x $y -image $default_cursor_image -tag default_cursor } ----------------- END OF SAMPLE CODE. GPS: I wrote that cursor code many years ago. I think we could make the cursor code faster, by not recreating the image.