#!/usr/bin/perl use warnings; use strict; use Tk; my $down = 0; my $mw = MainWindow->new; $mw->bind("", sub { &pressed } ); $mw->bind("", sub { &released } ); MainLoop; sub pressed{ if ($down == 1){return} else{print 'Key: ', ${Ev('K')}, " pressed\n"} $down = 1; } sub released{ print 'Key: ', ${Ev('K')}, " released\n"; $down = 0; }