Команда HID read() спрятала чтение ()
Вопрос
Знает ли кто-нибудь процедуру НЕБЛОКИРУЮЩИЙ тростник () команда для скрытых событий в LINUX
В настоящее время я использую
read(fd, ev, sizeof(struct hiddev_event) * EV_NUM);
Но это относится к БЛОКИРУЮЩИЙ этап, когда мое СКРЫТОЕ указывающее устройство НАПРАВЛЕНО НЕ в сторону сенсорной панели
С наилучшими пожеланиями,
Мадни
Решение
Я думаю, что для ответа на этот вопрос необходимо больше информации.Большинство API-интерфейсов USB HID, которые я рассмотрел, устанавливают флаг асинхронности в методе Open().В общем, вам не захочется выполнять асинхронное чтение один раз, а затем выполнять синхронное чтение.Все ваши вызовы read() должны использовать одну и ту же технику.
Используете ли вы флаг O_NONBLOCK при открытии устройства?
Другие советы
Спасибо
Это решило проблему
Включите скрытое устройство в неблокирующем режиме
char *dev1="/dev/usb/hiddev0";
if ((fd = open(dev1, O_NONBLOCK)) < 0) {
perror("evdev open");
exit(1);
}
С уважением,