Here is a stupid way to do it :)
#!/usr/bin/perl --
use strict;
use warnings;
use Tk;
use Tk::HList;
my $mw = MainWindow->new();
my $hlist = $mw->HList( -header => 0, -columns => 1 )->pack( qw/-expan
+d 1 -fill both /);
$hlist->add(0);
$hlist->itemCreate(0, 0, -itemtype => 'window', -widget => $hlist->Ent
+ry(-text => "Text0") );
$hlist->add(1);
$hlist->itemCreate(1, 0, -itemtype => 'window', -widget => $hlist->Ent
+ry(-text => "Text1") );
$hlist->add(2);
$hlist->itemCreate(2, 0, -itemtype => 'window', -widget => $hlist->Ent
+ry(-text => "Text2") );
$mw -> bind('all','<Tab>', sub {
no warnings 'uninitialized';
$hlist->focus;
my $origSel = $hlist->info('anchor');
$hlist->UpDown('next');
my $newSel = $hlist->info('anchor');
if( ( $origSel and $newSel ) and ( $origSel == $newSel ) ){
$hlist->selectionClear;
$hlist->anchorClear;
$hlist->UpDown('next'); # go back to zero
}
Tk::break();
});
MainLoop;
__END__