잠금 화면이 활성화된 경우에도 특정 키(주로 미디어 키)가 창 관리자에 접근할 수 있기를 원합니다. 이렇게 하면 화면이 잠겨 있어도 미디어 플레이어를 제어할 수 있습니다.
내가 아는 한, 이는 Screen Locker가 이 기능을 지원하는 경우에만 가능할 수 있습니다. 일단 Screen Locker가 키보드 포인터를 루트 창에서 멀리 가져가면 키 이벤트를 수신할 방법이 없는 것 같습니다.
이와 같은 기능을 지원하는 화면 보관함을 아는 사람이 있나요? 아니면 잠금 화면이 활성화된 동안 키 누르기를 수신할 수 있는 다른 방법이 있나요?
매우 감사합니다,
루카스
답변1
뭔가 생각해냈어: 들어봐날것의화면 잠금으로 인해 키보드 포커스가 사라진 경우에도 키 입력이 가능합니다. 단점은 원시 키를 사용할 때 수정자 키의 상태를 수동으로 추적해야 한다는 점인데, 이것이 잘 작동하는 것 같습니다.
저는 이 아이디어를 바탕으로 화면이 잠겨 있을 때도 명령을 실행할 수 있는 작은 핫키 데몬을 만들었습니다. 누구든지 관심이 있다면 여기서 찾을 수 있습니다:https://github.com/tinloaf/lhkd
답변2
미디어 키가 ACPI 이벤트를 보내는 경우 이를 사용 acpid
하여 작업할 수 있습니다.
불행히도 (사용자별이 아닌) 전역 구성 변경이 필요하며 X11 애플리케이션에 이벤트를 전달하는 것이 까다로울 수 있습니다.
acpi_listen
미디어 키를 실행한 후 눌러 미디어 키로 전송된 ACPI 이벤트(있는 경우)를 확인할 수 있습니다. 예를 들어, acpi_listen
노트북에서 "밝기 높이기" 키를 누르면 출력에 다음이 나타납니다.
video/brightnessup BRTUP 00000086 00000000
키가 ACPI 이벤트를 보내는 경우 acpid
키를 누를 때 명령을 실행하도록 구성할 수 있습니다. 관련 구성 파일은 일반적으로 에서 찾을 수 있습니다 /etc/acpi/events/
. 올바른 디렉토리에 있으면 어떤 이름이라도 가질 수 있습니다. 그것들은 다음과 같습니다:
event=^video/brightness(up|down) .*[^K]$
action=/etc/acpi/backlight-handler.sh %e
첫 번째 줄에는 event=
정규식이 포함되고 그 뒤에는 ACPI 이벤트와 일치하는 정규식이 포함됩니다. 이벤트가 정규식과 일치하면 action=
두 번째 줄(뒤)에 지정된 명령이 실행됩니다. %e
이벤트 라인 으로 확장되었습니다 . 이 경우 이벤트를 명령줄 인수로 스크립트에 전달하는 데 사용됩니다.
acpid
Arch Wiki에도 좋은 글이 있습니다:https://wiki.archlinux.org/index.php/Acpid
다음 단계는 스크립트를 통해 미디어 플레이어를 제어하는 방법을 알아내는 것입니다.