Linux
從 Linux 控制台檢測 zsh 中的密鑰狀態
zsh 可以在沒有依賴圖形會話的工具的情況下檢測關鍵狀態嗎?
我已經將 getty@tty1 服務覆蓋為自動登錄,並
zlogin
執行搖擺。當通過取消設置按住 shift 鍵時,我想阻止執行圖形界面rcs
。是否有類似於 grub 的keystatus的東西?
終端不傳輸此資訊。您需要呼叫特定於 Linux 控制台的外部實用程序(或編寫 zsh 可載入模組)。它需要呼叫Linux 控制台 ioctl之一,專門
TIOCLINUX
用於獲取轉換狀態。與鍵盤相關的實用程序在kbd
包中,但我認為沒有報告修飾符狀態的實用程序。您可以在 Stack Overflow 上的類似問題中找到此類實用程序的程式碼。
如果您不想依賴額外的實用程序,kbd 包包括
kbdinfo
可以報告 LED 狀態的工具。# Start X if Caps Lock is on if kbdinfo gkbled capslock; then setleds -D -caps exec startx fi