讓某些鍵通過鎖屏
即使我的鎖屏處於活動狀態,我也想讓某些鍵(主要是媒體鍵)到達我的視窗管理器。這樣,即使我的螢幕被鎖定,我也可以控制我的媒體播放器。
據我所知,這可能只有在螢幕儲物櫃支持的情況下才有可能:一旦螢幕儲物櫃將鍵盤指針從根視窗中取出,似乎就無法接收按鍵事件。
有誰知道支持這種事情的任何螢幕儲物櫃?或者在鎖屏處於活動狀態時收聽按鍵的任何其他方式?
非常感謝,
盧卡斯
我想出了一些辦法:即使鍵盤焦點被螢幕儲物櫃搶走,也可以監聽*原始按鍵。*缺點是使用原始按鍵時,您必須手動跟踪修飾鍵的狀態,但這似乎工作得很好。
我基於這個想法建構了一個小型熱鍵守護程序,即使在螢幕鎖定時也可以執行命令。如果有人感興趣,可以在這裡找到:https ://github.com/tinloaf/lhkd
如果您的媒體密鑰發送 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 事件。如果事件與正則表達式匹配,則執行第二個 lin(之後action=
)中指定的命令。%e
擴展至事件行。在這種情況下,它用於將事件作為命令行參數傳遞給腳本。還有一篇關於
acpid
Arch Wiki 的好文章:https ://wiki.archlinux.org/index.php/Acpid下一步是弄清楚如何通過腳本控制媒體播放器。