Jest to prawdopodobnie bardziej skomplikowana niż można sobie wyobrazić. Aby to zrobić, prawdopodobnie będziesz musiał przejąć kontrolę nad powtarzaniem znaków, które pisze użytkownik itp.
Zobacz bibliotekę klątw. Funkcja wgetch powinna być tym, czego potrzebujesz, ale najpierw musisz zainicjować przekleństwa itp. Przeczytać strony man - jeśli masz szczęście, znajdziesz ncurses lub curses-intro strony man. Oto krótki opis:
To initialize the routines, the routine initscr or newterm must be
called before any of the other routines that deal with windows and
screens are used. The routine endwin must be called before exiting.
To get character-at-a-time input without echoing (most interactive,
screen oriented programs want this), the following sequence should be
used:
initscr(); cbreak(); noecho();
Most programs would additionally use the sequence:
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
Jeśli nie masz tej strony podręcznika/w celu uzyskania dalszych informacji, poszukaj poszczególnych stron funkcji.
+1. Nie zdaję sobie sprawy, że można wyłączyć tylko niektóre klawisze w trybie gotowym. – Dummy00001
To jest niekompletne. Musisz również wyłączyć^U lub użytkownik może nadal usuwać całą oczekującą linię. Również^W. Może być więcej; czek. Bezpieczniejsze podejście całkowicie wyłącza tryb ICANON. –
R. - masz rację. Specyfikacje OP nie uwzględniały tego, IMO. I musiałbyś przeczytać cały blok struktur, wyłączając możliwości? Jak wspomniano w innym miejscu, kompletne rozwiązanie nie jest tym, co napisałem. –