Keyboard-Layout

在 xkb 中重新映射 Caps Lock 和 Shift+Caps Lock

  • June 30, 2014

我正在嘗試配置 xkb,以便將 Caps Lock 映射到 Compose 鍵,並且 Shift+Caps Lock 的功能與傳統的 Caps Lock 一樣。我將以下內容放在一個名為的新文件中/usr/share/X11/xkb/symbols/gdwatson

partial modifier keys
xkb_symbols "compose" {
   key <CAPS> {
       type[Group1] = "TWO_LEVEL",
       symbols[Group1] = [ Multi_key, Caps_Lock ]
   };
};

然後我跑了setxkbmap -symbols 'pc+us+gdwatson(compose)',成功完成。Caps Lock 用作 Compose,但 Shift+Caps Lock 用作 Compose 而不是 Caps Lock。 xkbcomp :0.0揭示以下內容:

key <CAPS> {
   type= "TWO_LEVEL",
   symbols[Group1]= [       Multi_key,       Multi_key ]
};

由於某種原因,第二級符號映射複製了第一個,而不是我試圖給它的單獨值。有沒有人有足夠強大的 xkb-fu 來告訴我我做錯了什麼或如何解決它?

這似乎完成了你正在尋找的東西。

partial modifier_keys
xkb_symbols "compose" {
   key <CAPS> {
       type[Group1] = "TWO_LEVEL",
       symbols[Group1] = [ Multi_key, Caps_Lock ],
       actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
   };
};

在處理 XKB 時,以下資源是非常寶貴的(我已連結到 WayBack Machine 的這些頁面的鏡像以供將來驗證):

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