in reply to Disabling keyboard input

Here's my solution. Both of the answer sequences have a 10 second delay, and both of the sequences are invisible. It requires Prompt::ReadKey::Sequence.
#!/usr/bin/perl use strict; use warnings; use Prompt::ReadKey::Sequence; use English qw(-no_match_vars); use Term::ReadKey qw(ReadMode ReadKey); local $OUTPUT_AUTOFLUSH = 1; my $seq = Prompt::ReadKey::Sequence->new; $seq->run; Press_key(); Press_key_again(); sub Press_key { open my $tty, '<', '/dev/tty'; print "Press a key: \n"; ReadMode(2); ReadKey(10, $tty); ReadMode('raw'); my $key = ReadKey(10, $tty); printf "\nYou said %s, char number %03d\n", $key, ord $key; ReadMode('normal'); } sub Press_key_again { open my $tty, '<', '/dev/tty'; print "Press key again: \n"; ReadMode(2); ReadKey(10, $tty); ReadMode('raw'); my $key = ReadKey(10, $tty); printf "\nYou said %s, char number %03d\n", $key, ord $key; ReadMode('normal'); }