#events #linux-kernel
#Мероприятия #linux-ядро
Вопрос:
Уточнение — я разрабатываю приложение, а не драйвер или модуль ядра.(по крайней мере, на данный момент)
И используемая операционная система — OpenWRT.
Производитель устройства подключил к BTN_0
входу аппаратную кнопку, код которой равен 0x100. Удивительно, что мне трудно найти способ прочитать его статус. Они сказали, что это клавиша, подобная клавише ввода с клавиатуры, но, конечно, она не считывается с помощью fgetc()
.
Я нашел несколько исходных примеров для shell, но нет исходных примеров для C. Как я понял, задача предполагает доступ к событиям через /dev/input/eventX
файл устройства. Но их несколько, и я должен выяснить, для какого файла устройства использовать BTN_0
. Кто-то предлагает изучить /proc/bus/input/devices
, но я не вижу, как подключить их к ключу BTN_0.
Я подозреваю, что должен быть гораздо более простой способ выполнить задачу…
Обновление: нашел здесь очень хороший пример, но, похоже, это НЕ удобный и правильный способ применения в приложении, и я должен использовать какой-то модуль для связи и получения статуса BTN_0 или разработать свой собственный модуль драйвера / ядра (интересно, должен ли быть такой драйвер / модульуже!)