Domanda

Eseguire una qualsiasi conosce la procedura di non bloccante Reed () di comando per eventi HID in linux

Attualmente sto usando

            read(fd, ev, sizeof(struct hiddev_event) * EV_NUM); 

Ma va a BLOCCO fase, quando il mio HID dispositivo di puntamento non è verso il bar sensoer

Cordiali saluti,

Madni

È stato utile?

Soluzione

Credo che ulteriori informazioni sono necessarie per rispondere a questa domanda. La maggior parte del USB HID API che ho guardato mettere una bandiera asincrono nel metodo Open (). In generale, non si sta andando a voler fare un asincrono leggere una sola volta, poi seguire che con una lettura sincrona. Tutti i vostri read () chiama dovrebbe utilizzare la stessa tecnica.

Si sta utilizzando la bandiera O_NONBLOCK quando si apre il dispositivo?

Altri suggerimenti

Grazie

E 'risolto il problema

Aprire il dispositivo HID in una modalità non bloccante

char *dev1="/dev/usb/hiddev0";

if ((fd = open(dev1, O_NONBLOCK)) < 0) {

  perror("evdev open");

  exit(1);

}

Saluti,

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top