Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
Как сохранить данные с устройства, например /dev/random или любого другого, в переменную вместо файла? этот код нужен, чтобы powerdevil не включал спящий режим - отслеживание событий мыши во всех Xorg-сеансах.
|
indeviral |
|
Темы:
38
Сообщения:
3165
Участник с: 10 августа 2013
|
Dobrov
Ошибки в тексте-неповторимый стиль автора©
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
Еще один вариант - не создавать новый файл, а использовать построчное/побайтовое чтение нужного файла, … например, для того же /dev/input/mice Нет событий мыши, нет вывода данных.PS - хотя, возможно, вариант indeviral и лучше - просто я так и не понял смысл всего этого ... неужели нельзя обойтись вообще без этого?
Ошибки не исчезают с опытом - они просто умнеют
|
Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
vasek - в таком варианте cat читает бесконечно, а мне нужно прерывание через секунд 30. read -t 30 не помогает…vasekДано: игра запускается в отдельном сеансе, например tty2. В основном tty1 для энергосбережения используется powerdevil. Если играть в tty2 только мышью, то powerdevil почему-то считает комп бездействующим и запускает скрипт перехода в ждущий режим. Чтобы комп не «засыпал», я добавил в скрипт проверку на события мыши, т.к. на нажатия клавиатуры powerdevil реагирует адекватно. |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
А systemd-inhibit на powerdevil не действует? |
Dobrov |
|
Темы:
15
Сообщения:
142
Участник с: 03 ноября 2017
|
vs220Надо, чтобы комп всё же «засыпал». А если блокировать по имени процесса игры, то комп вообще не заснёт, даже если нет событий мыши\клавы:
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
DobrovИмхо, /dev/input/eventX (или /dev/input/mice) содержит полную информацию о событиях мыши, но и сложен в обработке ... Навскидку более простые альтернативы определения бездействия мыши .... просто для информации ... 1. Отслеживать количество прерываний ... но подойдет не всегда, нужно смотреть, что сидит на этом прерывании. Например, у меня ноутбук и есть тачпад и есть USB mouse, ничего кроме мыши больше не сидит grep usb /proc/interrupts Следил в течении 10 минут, USB мышь не трогал, пользовался только тачпадом .... количество прерываний не изменилосьgrep usb /proc/interrupts | awk '{print $3}' 52540 PS - но нужно проверять при большем времени, возможно что то завязано еще и может изредка количество прерываний увеличиваться на 1 или 2 ... но если такое и будет, то можно выполнять сравнение с точностью, например, 3 ... 2. Отлеживание координат мыши - здесь возможно два варианта - только координаты, нажитие клавиш не фиксируется (но вряд ли при нажатии клавиш не меняются координаты) - и координаты и нажатие - но в этом случае идет непрерывный вывод данных, похожее на /dev/input/eventX, что не есть хорошо.
Ошибки не исчезают с опытом - они просто умнеют
|