Xorg

自定義 xkb 佈局,其中一鍵創建兩個 unicode 程式碼點

  • July 26, 2020

我正在為 Xorg 編寫一個新的自定義鍵盤佈局,但是有一個特殊的字形在 Unicode 中不存在。但是,使用標準字母加上組合變音符號很容易創建它。

例如,如果我想要v下面帶有長音符號的字母,則序列U0073+U0331會創建我想要的字元。

在我的 xkb 佈局定義中,我可以指定一個 Unicode 點(這裡altgr+d綁定到 ḏ 和altgr+shift+dḎ):

key <AC03>  { [         d,          D,        U1E0F,        U1E0E ] }; // d with macron below

但我似乎無法為單個鍵指定“組合”Unicode 字形:

key <AB04>  { [         v,          V,  U0076+U0331,  U0056+U0331 ] }; // v with macron below

是否可以像這樣創建系統範圍的 xkb 定義?

編輯:

仍然在嘗試…

測試表明,鍵盤映射將只在每個位置使用一個鍵。

但是,如果您在鍵映射定義中使用稀有/從未使用過的鍵符號,則使用全域 Xmodmap 使該鍵符號輸出您需要的各種 unicode 字元,這將起作用。

在鍵盤映射中:

key <AB04>  { [ v, V, XF86LaunchA, XF86LaunchB ] };

在全域 Xmodmap 中:(可能從 /etc/profile.d 載入?)

keysym XF86LaunchA = U0056 U0331
keysym XF86LaunchB = U0076 U0331

有很多未使用/特殊用途的鍵符,我選擇了 LaunchA/B 作為範例。

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