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