Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu preciso fazer um trabalho cuja funcionalidade depende da leitura das teclas, principalmente das setas.
Para fins de testes, fiz este programa:
#include <stdlib.h>
#include <curses.h>
int main()
{
int c, i = 1;
initscr();
cbreak();
noecho();
do
{
c = getch();
clear();
printw("%d => ", i);
switch (c)
{
case 65:
printw("UP KEY");
break;
case 68:
printw("LEFT KEY");
break;
case 66:
printw("DOWN KEY");
break;
case 67:
printw("RIGHT KEY");
break;
default:
printw("Tecla inválida");
}
printw(" %d ", c);
refresh();
i++;
}
while (1);
getch();
endwin();
return 0;
}#define KEY_DOWN 0402 / down-arrow key /
(0402) na base 8 = (2 8^0 + 4 8^2 = 258) na base 10
258 != 66
:unsure:
Isso está muito estranho.
Outra coisa que percebi é que a variável i, que criei para controlar o número de teclas pressionadas, cresce de um em um para letras, de três em três para setas e de quatro em quatro para PAGEUP, DEL etc.
Alguém sabe as respostas para isso tudo (ou pelo menos para uma delas)? :rolleyes:
[]s
Beraldo
Carregando comentários...