Blokowanie klawiatury

0

Witam....
Mam do rozwiązania następujący problem: w jaki sposób zablokować wykonywanemu programowi dostęp do klawiatury?
Chodzi o to żeby program po prostu nie reagował na klawiaturę (np. naciśniecie Ctr+C nie może zamknąć programu).
Zamknięcie programu nastąpi dopiero po otrzymaniu odpowiedniego komunikatu od innego programu - tę sprawę mam już załatwioną.
Proszę o jakieś podpowiedzi, jakich funkcji i w jaki sposób użyć. Program jest pisany w ANSI C.
Z góry dziękuje za każdą pomocną informacje....

0

jezeli chodzi o wyłączenie specjalnych terminalowych znaków wejściowych to można to zrobić w tak:

#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>

int
main (void)
{
  struct termios term;
  long v;
  
  if (!isatty (STDIN_FILENO))
        exit (1);
        
  if ((v = fpathconf (STDIN_FILENO, _PC_VDISABLE)) == -1)
        exit (1);

  if (tcgetattr (STDIN_FILENO, &term) == -1)
        exit (1);
        
  term.c_cc [VINTR] = v; 

  if (tcsetattr (STDIN_FILENO, TCSAFLUSH, &term) == -1)
        exit (1);  

  exit (0);
}

Wyłączenie w tym przypadku klawisza przerwania jest zupełnie czymś innym niż zignorowanie sygnału przerwania. Jeżeli program ma pracować przez dluższy czas bez interakcji z użytkownikiem to można odłączyć go od terminala sterującego (poczytaj o demonach).

1 użytkowników online, w tym zalogowanych: 0, gości: 1