use strict; use warnings; use diagnostics; use Tk; my $mw= MainWindow->new; my $canvas= $mw->Canvas( -background => 'black', -width => '100', -height => '200', )->pack; # either will work, I like the last one #$canvas->CanvasBind('', [\&scrappy, Ev('X'), Ev('Y'), Ev('s')]); #$mw->bind('all','', [\&scrappy, Ev('X'), Ev('Y'), Ev('s')]); $mw->bind('Tk::Canvas','', [\&scrappy, Ev('X'), Ev('Y'), Ev('s')]); &MainLoop(); sub scrappy { my ( $widget, $x, $y, $s ) = @_; printf qq[widget: %s x: %04.4s, y: %04.4s modifier: %s \n], @_; } __END__ widget: Tk::Canvas=HASH(0x232b3d4) x: 0348, y: 0319 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0347, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0346, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0345, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0343, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0341, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0339, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0338, y: 0320 modifier: Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0337, y: 0320 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0336, y: 0320 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0334, y: 0320 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0333, y: 0320 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0333, y: 0321 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0332, y: 0321 modifier: Control-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0330, y: 0321 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0329, y: 0321 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0328, y: 0321 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0327, y: 0322 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0326, y: 0322 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0325, y: 0322 modifier: Shift-Mod1- widget: Tk::Canvas=HASH(0x232b3d4) x: 0324, y: 0322 modifier: Shift-Mod1-