X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=usr_sbin%2Fgrml-quickconfig;h=e3293f71e95818655ceeb56595b868bc49368381;hb=3ea919536020cb5fcfac3e044bddf9b720d0ee04;hp=a7c2a9bdc991caa24b9642f9a5c3cac2c538b233;hpb=666db4396c1aa281081e6fcb3217c2ee054347ff;p=grml-scripts-core.git diff --git a/usr_sbin/grml-quickconfig b/usr_sbin/grml-quickconfig index a7c2a9b..e3293f7 100755 --- a/usr_sbin/grml-quickconfig +++ b/usr_sbin/grml-quickconfig @@ -10,7 +10,6 @@ # menu with quick config options use Term::ReadKey; -use Time::HiRes; # enable alternate charset support (needed for screen) print "\e(B\e)0"; @@ -100,10 +99,9 @@ while(1) { EOF print "Press a key: ".$M; ReadMode 4; # Turn off controls keys - while (not defined ($x = ReadKey(-1))) { - # No key yet - Time::HiRes::sleep(0.5); - } + $flags = fcntl(STDIN, F_GETFL, 0) or die "Can't get flags for STDIN: $!\n"; + $flags = fcntl(STDIN, F_SETFL, $flags & ~O_NONBLOCK) or die "Can't set flags for STDIN: $!\n"; + while (not defined ($x = ReadKey(0))) {} ReadMode 0; # Reset tty mode before exiting print $N.$/.$/; @@ -126,10 +124,9 @@ EOF EOF print "Press a key: ".$M; ReadMode 4; # Turn off controls keys - while (not defined ($x = ReadKey(-1))) { - # No key yet - Time::HiRes::sleep(0.5); - } + $flags = fcntl(STDIN, F_GETFL, 0) or die "Can't get flags for STDIN: $!\n"; + $flags = fcntl(STDIN, F_SETFL, $flags & ~O_NONBLOCK) or die "Can't set flags for STDIN: $!\n"; + while (not defined ($x = ReadKey(0))) {} ReadMode 0; # Reset tty mode before exiting print $N.$/.$/;