X11

鍵綁定到 X 中的遞增/遞減虛擬控制台

  • March 24, 2020

可以通過按 ++(其中代表 、 等)來更改虛擬控制台(或Ctrl虛擬終端,VT )Alt。此外,在不執行時,可以按和 箭頭鍵在 VT 之間循環(遞減和遞增虛擬終端)。Fn``Fn``F1``F2``X``Alt``Alt``←``Alt``→

但是,如果X在其中一個 VT 上執行,則通常不會設置箭頭鍵綁定,並且必須回退到++Ctrl才能更改為另一個 VT。Alt``Fn

我通常更喜歡使用箭頭綁定來更改 VT。為了避免必須在鍵綁定之間切換(對於帶有 的 VT 的Ctrl+ Alt+ ;對於沒有它的 VT 的箭頭),將綁定到哪個命令來減少/增加 VT ?Fn``X``Alt``←/→``X

如果答案取決於系統,我正在執行 debian 並使用 dwm 和 openbox 作為視窗管理器。

我只能告訴你一個骯髒的解決方法。使用xbindkeys並添加到~/.xbindkeysrc

"sudo chvt $(($XDG_VTNR-1))"
  alt + c:113

"sudo chvt $(($XDG_VTNR+1))"
  alt + c:114

如果您沒有 XDG_VTNR 變數,那麼您必須硬編碼上一個/下一個 vt。

您還必須將自己置於/etc/sudoers

USER ALL=NOPASSWD:/bin/chvt

當您從 VT 切換到 X11 並返回時,保持不變的一件事是“低級”通用 Linux 輸入設備處理子系統。Linux USB Input Subsystem中的 C和Linux Journal 中的第 2 部分有範例。您的系統可能有一個 Python 庫python-evdev包來簡化此操作。

要嘗試什麼是可能的,evtest可用於簡單地將事件轉儲到給定的輸入設備上,您可以使用awk腳本或類似工具跟踪您感興趣的鍵的狀態,並讓它發出chvt命令。

引用自:https://unix.stackexchange.com/questions/400994