Keyboard-Shortcuts

如何使用 Wayland 自定義鍵盤映射

  • April 5, 2022

我在帶有 UK/GB 鍵盤的 Macbook 上使用 Linux,並自定義了鍵盤映射以解決 Apple 奇怪的鍵盤佈局導致的一些問題。我xmodmap用來做這個。我想嘗試Wayland,但xmodmap不起作用。如何在 Wayland 中獲得類似的結果?我使用的.Xmodmap文件包含以下內容:

keycode  12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock

第 1 行:在英國鍵盤上Shift-3是 £,因此 # 通常在 附近有自己的鍵Return。但是在 Mac # 上是用Altgr-獲得的3。作為一名程序員,我使用 # 遠遠超過 £ 所以這一行將它們互換了。選擇 US 佈局也可以實現這一點,但在 Linux 中這樣做也會交換一些其他常用鍵,而在 OS X 中,這些其他鍵不受 US/UK 影響。

第 2-5 行:使右鍵Cmd充當 Right- Ctrl,因為此鍵盤沒有物理右鍵Ctrl

第 6 行:CapsLock僅當您按下它時才起作用Shift。不是特定於 Mac 的,這應該是所有作業系統和鍵盤的標準選項。

不幸的是,修改系統 XKB 數據庫/usr/share/X11/xkb是唯一的方法;從您的另一個問題來看,您似乎已經完成了該部分的工作。

限制主要是由於 Wayland 的不成熟和 XKB 的設計疏忽。

  • 類似setxkbmap和的工具xkbcomp提供了一個-I選項來添加使用者定義的數據庫進行搜尋(例如~/.xkb~/.config/xkb,文件和子目錄的佈局類似於系統數據庫)。這些工具與 X 伺服器互動,因此它們可能有助於配置Xwayland兼容層以在 Wayland 下執行 X 應用程序。但他們目前不會說 Wayland 協議。
  • Wayland 協議仍在成熟中。目前看來和協議是最相關的,並且兩者都不穩定。都沒有提到任何關於改變定義的鍵盤映射的事情;這些細節留給合成器。input-methodtext-input
  • GNOME 和 KDE 都提供了應該處理系統 XKB 選項的鍵盤處理設置守護程序,包括動態更改。據我所知,沒有辦法告訴任何使用者自定義。據我所知,Weston 和其他合成器在啟動時依賴配置文件或環境變數來設置 XKB 選項,並且除了退出和重新啟動之外無法更改它們。
  • 即使在 XKB 本身中,也不完全支持這一點。您的自定義符號文件可以是include其他系統符號文件。但是目前 XKB 規則文件沒有include功能,所以即使你有一個可以與 Wayland 合成器對話並查找你的個人定制的工具,你也必須手動包含你想要使用的所有規則(即複製rules/evdev*從系統 XKB 並修改它)。libxkbcommon在這個主題上有一個未解決的問題和一個相關的錯誤

我一直在使用Interception Tools for Linux 並取得了成功,並且知道人們也為他們的自定義映射製作了其他外掛caps2esc是我每天使用的第一個概念驗證外掛,可在 X 和 Wayland 上執行。該工具比通常的映射軟體低一點,但非常靈活,我對下一個外掛的計劃是通用的和弦映射工具。

免責聲明:我是作者。

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