ccs c keyboard conio

kbhit ccs



getch devuelve-1? (1)

Me preguntaron cómo capturar claves como F11 o insand getchr no devuelve nada para esas claves, y no hay nada que pueda encontrar que funcione que acepte entradas sin procesar de eventos de entrada.

Ahora estoy probando ncurses / curses en un programa C ++ para capturar estas claves.

Mi programa para probar es simple, básicamente es:

#include <stdlib.h> #include <stdio.h> #include <curses.h> int main() { int car; while(c != ''/b'') { c = getch(); printf("%i", c); } return 0; }

Lo uso por supuesto igual que otra función getch (), pero devuelve -1 veces infinitas. Estoy usando un kernel reciente en Arch Linux, en un terminal estándar (probado en xterm también)

¿Hay algún interruptor que deba encender para usar este getch () en las bibliotecas?


Necesitas llamar a initscr(); para inicializar maldiciones antes de llamar a getch() .

Además, es probable que desee un modo sin búfer de línea, por lo que también debe llamar a cbreak(); noecho(); cbreak(); noecho(); (el modo de eco no se debe usar con el modo de bloqueo).