0
我正在做一些简单的项目,我希望使用箭头在控制台菜单中导航。我需要向下和向上的箭头让我改变选定的菜单项(我用一些颜色绘制菜单)。我不想通过输入来确认每个箭头(atm我正在使用需要输入的简单印章,而且我甚至不知道如何允许箭头印刷)。我需要某种自动检测箭头有没有什么好的解决方案?允许在控制台菜单中使用箭头的Perl
我正在做一些简单的项目,我希望使用箭头在控制台菜单中导航。我需要向下和向上的箭头让我改变选定的菜单项(我用一些颜色绘制菜单)。我不想通过输入来确认每个箭头(atm我正在使用需要输入的简单印章,而且我甚至不知道如何允许箭头印刷)。我需要某种自动检测箭头有没有什么好的解决方案?允许在控制台菜单中使用箭头的Perl
我需要知道如何使条件。如果(readedKey == KEYUP?){...} 如果(readedKey ==的keydown?){...}
你可以use Curses
;例如:
#!/usr/bin/perl -w
use Curses;
initscr; refresh;
keypad(1); # enable arrow keys to return a single value
noecho;
print "Press Esc to end.\r\n";
while (($readedKey = getch()) ne "\e")
{
if ($readedKey eq KEY_UP) { print "You pressed the up arrow.\r\n"; }
elsif ($readedKey eq KEY_DOWN) { print "You pressed the down arrow.\r\n"; }
else
{
($printable = $readedKey) =~ s'[[:cntrl:]]'"^".chr(ord($&)^64)'e;
print "You pressed the key '$printable'.\r\n";
}
}
endwin;
“没有箭头键(终端窗口中的敏感键代码)。使用cat -vet可以知道键的期望顺序。” (来自http://www.perlmonks.org/?node_id=798213) – DavidO 2014-12-06 19:12:43
查看'Term :: ReadKey'。 – dgw 2014-12-07 13:35:20
我是使用Term:ReadKey,但是在阅读密钥后,我需要知道如何创建条件。 if(readedKey ==?keyup?){...} if(readedKey ==?keydown?){...} – user2771738 2015-01-14 10:10:14