Intereting Posts
Как отобразить имя драйвера звуковой карты из командной строки в Lubuntu 11.10? systemd: Почему эта служба неактивна (мертва)? Выполнять скрипт оболочки напрямую, без .sh-файла Каковы ограничения объема для установки extglob. и другие варианты? как переместить заголовок в последний столбец, используя awk или sed Вырезать определенную часть столбца из файла csv Создайте Ubuntu USB-Installer из Debian Почему жесткие ссылки, похоже, занимают то же место, что и оригиналы? Что означает «-» (двойная тире)? (также известный как «голой двойной тире») Являются ли RPM действительными на разных платформах? может быть связано с сервером перехода rkhunter дает мне предупреждение для «/ usr / bin / lwp-request» – что мне делать? Gnome-manual-duplex в Gnome 3 на Arch Linux iptables – добавить правило для интерфейса до его появления Изменение времени изменения файла для доступа к времени в массовом порядке

Игнорирование события первого щелчка на dpms или пробуждении экрана

Я пытаюсь сделать функцию заставки (или гашение экрана) из пользовательского запроса, которая позволяет экрану пустить и пробуждать через пользовательский сенсорный ввод. Проблема, с которой я столкнулась, заключается в попытке обработать первое событие «щелчка» при пробуждении, так как это встроенное ПК-устройство панели, которое имеет только сенсорный экран, и пользователи просто не знают, где они нажимают, когда экран выключен ( что означает, что пользователи могут отменить и нажать те вещи, которые они не намереваются).

Я вижу, что существует существующий вопрос Xorg – игнорировать событие первого щелчка при возобновлении с экрана Blanking , о котором спрашивали около 3 лет назад, что мне интересно, есть ли какие-либо обновления. Я играл с поддержкой xset, поддерживая dpms, устанавливая различные таймауты, гашение экрана, но все заканчивается в первом касании, сразу же запуская кнопку ниже, где пользователь нажимает.

Я использую Poky 1.8 (Fido), Kernel 3.19.5 и имею полный доступ к исходному коду, если кто-либо знает какой-либо способ обработать эти события на C ++. Программа не имеет экрана блокировки и работает от имени пользователя root. Я работаю над созданием XScreensaver только для того, чтобы узнать, поможет ли это, или если это просто потерянная причина.

У меня была та же проблема (также с использованием yocto fido). Я не мог использовать предложенный ответ, потому что мне не удалось создать xscreensaver (есть способ для многих зависимостей)

Я, наконец, решил это, используя xssstart и модифицирующий slock который является экранным шкафчиком. Я назвал его clicklock

https://github.com/zpfvo/clicklock

Я также создал вилку xssstart с файлами сборки autotools для легкой кросс-компиляции (просто используйте inherit autotools в рецепте): https://github.com/zpfvo/xssstart

xssstart запускает команду, как только заставка активируется, а clicklock – это просто полноэкранное окно черного цвета, которое закрывается после первого нажатия или события ключа.

Таким образом, вы должны запустить xssstart clicklock

Это довольно старый вопрос. Однако я не буду последним, кто пытается это решить.

Короче: я нашел решение.

Я запускаю хром в режиме киоска с fluxbox как WM. Вместо того, чтобы полагаться на Xorg, чтобы скрыть экран, я использую xscreensaver только для гашения.

Это позволяет мне прослушивать изменения состояния экрана с помощью небольшого скрипта perl. http://pastebin.com/uwFsvG87

Этот скрипт переключается на другой (пустой) виртуальный рабочий стол, используя wmctrl когда экран wmctrl и снова отключается (при задержке 100 мс).

Чтобы сделать это невидимым для пользователя, я отключил панель инструментов fluxbox и установил полностью черный фон.

Он работает очень хорошо. 🙂