LINUX.ORG.RU

LID keycode.


0

0

Хочу в опенбоксе настроить блокировку экрана на закрытие крышки ноута. Но код клавиши LID не могу получить через xev :( Как быть?

его через ACPI получают, точнее acpid

pupok ★★
()
Ответ на: комментарий от iliah

$ acpi_listen
button/lid LID 00000080 00000023
video GFX0 00000080 00000000
button/lid LID 00000080 00000024
video GFX0 00000080 00000000


это на закрытие/открытие

ferhiord ★★
() автор топика
Ответ на: комментарий от S_Paul

> решил?

Решил, но не через acpi_listen. У меня при закрытии крышки генерится нажатие на XF86Display... далее я просто прописал xscreensaver-command -lock при нажатии по ней. Знаю что не-Ъ, но хотя бы работает.

ferhiord ★★
() автор топика

По идее можно свой демон на баше написать, который мониторит вывод acpi_listen и затем при определённом условии выполняет действие.

ferhiord ★★
() автор топика

У меня выглядит так (Red Hat Enterprise 5, radeontool - утилита, которая выключает подсветку LCD):

/etc/acpi/events:

event=button.lid.*
action=/etc/acpi/actions/lid %e


/etc/acpi/actions/lid:

#!/bin/bash
set $*

if [[ "$1" != button/lid ]]; then
logger "lid erroneously called for $1"
exit 0
fi

statefile="/proc/acpi/button/lid/$2/state"
state=$(<$statefile)

if [[ $? != 0 ]]; then
logger "can't read state from $statefile"
exit 0
fi

case "$state" in
*open) radeontool light on ;;
*closed) radeontool light off ;;
*) logger "strange state ($state) in $statefile" ;;
esac

Фрагмент /var/log/acpid (открытие/закрытие крышки):
[Wed Oct 7 02:04:19 2009] received event "button/lid C1A4 00000080 00000191"
[Wed Oct 7 02:04:19 2009] notifying client 5809[68:68]
[Wed Oct 7 02:04:19 2009] executing action "/etc/acpi/actions/lid button/lid C1A4 00000080 00000191"
[Wed Oct 7 02:04:19 2009] BEGIN HANDLER MESSAGES
[Wed Oct 7 02:04:19 2009] END HANDLER MESSAGES
[Wed Oct 7 02:04:19 2009] action exited with status 0
[Wed Oct 7 02:04:19 2009] completed event "button/lid C1A4 00000080 00000191"
[Wed Oct 7 02:04:22 2009] received event "button/lid C1A4 00000080 00000192"
[Wed Oct 7 02:04:22 2009] notifying client 5809[68:68]
[Wed Oct 7 02:04:22 2009] executing action "/etc/acpi/actions/lid button/lid C1A4 00000080 00000192"
[Wed Oct 7 02:04:22 2009] BEGIN HANDLER MESSAGES
[Wed Oct 7 02:04:22 2009] END HANDLER MESSAGES
[Wed Oct 7 02:04:22 2009] action exited with status 0
[Wed Oct 7 02:04:22 2009] completed event "button/lid C1A4 00000080 00000192"

ef37 ★★
()
Ответ на: комментарий от ef37

Первый файл /etc/acpi/events/lid.conf (вместо /etc/acpi/events)

ef37 ★★
()
Ответ на: комментарий от ferhiord

с помощью acpi_listen только ПОСМОТРЕТЬ КОД,
а делать всё через /etc/acpi/events....

S_Paul ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.