LINUX.ORG.RU

чтение файла /dev/input/event0

 , ,


0

1

В продолжение темы подключения кнопок, хочется задать такой вопрос: Если evtest определяет нажатие кнопок, то, как я понимаю, можно считывать событие из файла /dev/input/event0. Но как это правильно сделать? Может быть кто-нибудь укажет ссылки, подсказать? Я пробовал разобраться с примерами на python, где производится чтение из файла, но не осилил их.

Ответ на: комментарий от t184256

Я уже писал: я просто пользователь, которому надо, чтобы на его ноутбуке работали очень нужные кнопки; и я бы обратился на АльтФорум, но меня там послали: слишком мелко плаваю. Я не знаю языков программирования; максимум — могу только простые скрипты на bash написать. Слова «прочитать из файла структуру» мне вообще ни о чем не говорят: мне бы желательно простой, понятный пример.

Cl_Magenta
() автор топика
Ответ на: комментарий от t184256

Пока что максимум, что я смог, это смастерить скрипт с использованием evtest, когда запускается скрипт поворота кнопки при выводе сообщения через: evtest /dev/input/event0 | grep –line-buffered ‘value 6c’

Cl_Magenta
() автор топика
Последнее исправление: Cl_Magenta (всего исправлений: 1)
Ответ на: комментарий от Cl_Magenta

Башем такое делать только на спор.

Давай вот так попробуем повзаимодействовать. Установи python3 и python3-evdev (не знаю точно, как они называются для твоего дистрибутива). Сохрани, выполни питоном следующий скрипт от рута:

import os

import evdev

for event in evdev.InputDevice('/dev/input/event0').read_loop():
    print('got event:', event)
    if event.type == evdev.ecodes.EV_MSC and event.code == evdev.ecodes.MSC_SCAN and event.value == 0x6c:
        os.system('echo MATCH')

Пощелкай кнопкой. Будет результат?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 3)
Ответ на: комментарий от t184256

Питон уже установлен, скачал python-module-evdev и твой скрипт заработал. Я добавил шебанг #!/usr/bin/python3 в файл test.py с твоим кодом и запустил в терминале. Результат вывода при нажатии кнопки ‘6c’ (скрипт реагирует на нажатия всех кнопок):

got event: event at 1701103075.565268, code 04, type 04, val 108
MATCH
got event: event at 1701103075.565268, code 00, type 00, val 00
Cl_Magenta
() автор топика
Ответ на: комментарий от nvl

Я пользовался этими статьями при написании скрипта:

Как настроить поворот экрана и тачскрина в Linux

Кнопка для поворота экрана на X220 tablet

Cl_Magenta
() автор топика
Последнее исправление: Cl_Magenta (всего исправлений: 1)