更改 Awesome WM 中的 Mod 鍵

更改 Awesome WM 中的 Mod 鍵

我嘗試將 Awesome 中的 mod 鍵從 windows 鍵更改為 Pause、Scroll Lock 和 Escape。

對於所有鍵,我嘗試更改配置文件中的條目rc.lua;我嘗試使用 xmodmap 清除鎖並add mod4 = ...

然而,似乎無論我做什麼,按鍵都會變得「黏滯」(有時以一種奇怪的不一致方式),即如果我一旦按下它們,計算機就會表現得好像它們被不斷按下一樣。

有沒有合理的方法來改變這種行為?

答案1

我家裡有一個包含這兩行的文件:

clear lock 
keysym Caps_Lock = Super_L

它是從我的呼叫的rc.lua像這樣:

awful.util.spawn("xmodmap /home/username/your_xmodmap.file")

答案2

晚了,但供其他人參考:

問題似乎是 xmodmap 沒有識別您列為修飾鍵的任何鍵。因此 AwesomeWM 不允許將它們用作修飾鍵。

您可以嘗試新增要用作 Mod3 的金鑰(在我見過的大多數系統上似乎沒有用於任何操作),然後您的 rc.lua 可以將 modkey 列為“Mod3”。

新增為修飾鍵

您可以使用 來檢視您的修飾鍵xmodmap。預設情況下你可能會得到這樣的結果:

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

xev可以看到運行時按下的任何鍵的名稱,對於 Scroll Lock 我的顯示為:

KeyPress event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23086947, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2200001,
    root 0x225, subw 0x0, time 23087091, (433,729), root:(470,783),
    state 0x0, keycode 78 (keysym 0xff14, Scroll_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

您會注意到鍵符的名稱是Scroll_Lock

要新增到 Mod3,您需要建立或新增到~/.Xmodmap.新增此行將 Mod3 設定為僅 Scroll_Lock 鍵:

add Mod3 = Scroll_Lock

若要測試您的變更並查看 .Xmodmap 檔案中的任何錯誤,請執行

xmodmap ~/.Xmodmap

更新rc.lua

正如您已經清楚知道的那樣,在 rc.lua 檔案的頂部(通常位於~/.config/awesome/rc.lua),有一行modkey = "Mod4"。將其更改為modkey = "Mod3".

警告

Esc 鍵用於 AwesomeWM 的許多鍵映射。我建議嘗試使用滾動鎖定或暫停,因為它不太可能產生廣泛的衝突。事實上,AwesomeWM 似乎假設 Esc 是為取消當前操作而保留的。

Scroll Lock 似乎被神奇地視為鎖定鍵,就像 Caps Lock 一樣。不同之處在於,大寫鎖定的鎖定行為相對容易停用,而據我所知,滾動鎖定無法停用此行為。

我建議使用數字鍵盤 0 鍵或通常不設計為狀態鎖定鍵的鍵來嘗試此操作,確認其有效,然後嘗試切換到您想要的按鍵。

答案3

我知道我遲到了三年,但如果這對任何人有幫助,請切換

modkey = "Mod4"

modkey = "Mod1"

相關內容