Как правильно читать BTN_0 в C

#events #linux-kernel

#Мероприятия #linux-ядро

Вопрос:

Уточнение — я разрабатываю приложение, а не драйвер или модуль ядра.(по крайней мере, на данный момент)

И используемая операционная система — OpenWRT.

Производитель устройства подключил к BTN_0 входу аппаратную кнопку, код которой равен 0x100. Удивительно, что мне трудно найти способ прочитать его статус. Они сказали, что это клавиша, подобная клавише ввода с клавиатуры, но, конечно, она не считывается с помощью fgetc() .

Я нашел несколько исходных примеров для shell, но нет исходных примеров для C. Как я понял, задача предполагает доступ к событиям через /dev/input/eventX файл устройства. Но их несколько, и я должен выяснить, для какого файла устройства использовать BTN_0 . Кто-то предлагает изучить /proc/bus/input/devices , но я не вижу, как подключить их к ключу BTN_0.

Я подозреваю, что должен быть гораздо более простой способ выполнить задачу…

Обновление: нашел здесь очень хороший пример, но, похоже, это НЕ удобный и правильный способ применения в приложении, и я должен использовать какой-то модуль для связи и получения статуса BTN_0 или разработать свой собственный модуль драйвера / ядра (интересно, должен ли быть такой драйвер / модульуже!)