in reply to Tk Multiple Event Binding

This old example may help you. It shows how to use a timer to make a slight delay on the first bind, to wait and see if it's a combo. Your best bet, is just to make your bindings unique, so you don't have to worry about this. Do you really need <c><d>? Why not have <e> do what <c><d> is supposed to do?
#!/usr/bin/perl use strict; use Tk; # by graff of perlmonks # The way that works is that the initial "button-1" event # will invoke "Tk::after" to schedule a call to "print_me" # after half a second, but a double-button-1 event will # call "print_me" immediately, with a parameter that makes # it behave in a special way. The logic associated with # that special parameter also has to "cancel" the Tk::after # object that had been scheduled by the button-1 event that # was the first half of the double-click. my $after_id; my $mw = MainWindow->new(); $mw->Label(-text => "Type a phrase in the entry box below")->pack(); $mw->Label(-text => "Then click once to print all of it")->pack(); $mw->Label(-text => "Or double-click to print just one word")->pack(); my $ent = $mw->Entry(-width => 25)->pack(); $ent->bind( "<Double-Button-1>", [\&print_me, "word"] ); $ent->bind( "<Button-1>", sub { $after_id = $ent->after( 500, [\&print_me, $ent] ) } ); MainLoop; sub print_me { my ( $widget, $mode ) = @_; my $content = $widget->get(); if ( $mode eq "word" ) { $widget->afterCancel( $after_id ); my $start = $widget->index( 'sel.first' ); my $length = $widget->index( 'sel.last' ) - $start; print "you double-clicked the word: " . substr( $content, $start, $length), $/; } else { print $content,$/; } }

I'm not really a human, but I play one on earth. flash japh