Keyboard-Layout
恢復預設超級鍵行為 (xkbmap)
setxkbmap
就我而言,一直是一種健康的黑魔法。我最近安裝了Dyalog APL。當我執行 commanddyalog
時,它會將我的鍵盤配置全域更改為 APL 模式,這有效地禁用了我使用 Super 鍵進行其他任何操作的能力。現在,當我使用 APL時,這實際上非常好。但是當我關閉程序時,我留下了一個幾乎毫無價值的超級鍵,它不能執行任何通常的功能,比如在視窗之間切換或打開“活動”菜單。所以我的問題是,我該如何改回來?具體來說,這
setxkbmap -print
是新登錄時 , 的“正常”輸出。xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+us:2+inet(evdev)+capslock(ctrl_modifier)"}; xkb_geometry { include "pc(pc105)" }; };
(caps lock/ctrl 修飾符與這個問題無關,所以請隨意忽略)
當我執行 Dyalog 時,它會更改我的鍵盤映射,因此
setxkbmap -print
變為xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+apl(dyalog):2+us:3+inet(evdev)+group(win_switch)+capslock(ctrl_modifier)" }; xkb_geometry { include "pc(pc105)" }; };
那麼
setxkbmap
我可以執行什麼命令來從第二個狀態回到第一個狀態?我希望能夠按需恢復我的超級密鑰的預設行為。我正在執行 Ubuntu 18.04.3 LTS,在 X11 上執行 Gnome 3.28.4,如果其中任何一個對於這個問題來說很重要的話。
我不相信您可以
setxkbmap -print
為此使用 的輸出,但至少還有其他三種方法可以恢復預設鍵盤狀態。選項 0
執行
xkbcomp "$DISPLAY" normal.xkb
當鍵盤處於預設狀態時。Xkbcomp創建
normal.xkb
文件,鍵盤的完整預設鍵盤映射。完成 Dyalog 後,可以使用以下命令輕鬆恢復鍵盤狀態xkbcomp normal.xkb "$DISPLAY"
選項1
從
man keyboard
,對於基於 Debian 的系統:udevadm trigger --subsystem-match=input --action=change
選項 2
從命令
/etc/default/keyboard
的相關設置中 檢索:setxkbmap
setxkbmap [-model xkb_model] [-layout xkb_layout] [-variant xkb_variant] [-option xkb_options]
例如,給定這個
/etc/default/keyboard
,XKBMODEL="pc105" XKBLAYOUT="us" XKBVARIANT="" XKBOPTIONS="caps:swapescape,terminate:ctrl_alt_bksp"
您將恢復該預設狀態
setxkbmap -model 'pc105' -layout 'us' -option 'caps:escape,terminate:ctrl_alt_bksp'