如何在xkb中使自訂按鍵類型自動重複

如何在xkb中使自訂按鍵類型自動重複

我在 xkb 設定檔中定義了一個自訂金鑰類型來執行一些重定向(例如重定向Ctrl+p到等)Upp定向操作(例如UpCtrl+重定向p)具有自動重複)。

我嘗試根據以下內容添加repeat=true,到配置keysyms這來自 xfree86 郵件列表但它也不起作用。

答案1

請閱讀man xsetr選項。透過向命令提供整數程式碼,可以啟用特定鍵的自動重複xset r。例如:

我有

<SPCE> = 134;

在我的自訂 xkbcom 鍵盤映射檔案中。因此,發出:

xset r 134

在終端機中,將為我重新映射的空白鍵啟用自動重複。

您可以將此命令新增到您的~/.xinitrc文件中。無需修改 xkb 設定檔本身。

答案2

我在 Chromium OS 存儲庫中偶然發現了一個補丁,可能會對此有所幫助;在他們將其實際修補到 Chrome 本身後,它似乎已被刪除。不確定補丁的 QA 發生了什麼情況,或是否已向上游發送。

連結在這裡:X:將 Alt-Up 和 Alt-Down 對應為 Page Up 和 Page Down

補丁如下:

This is a probably-wrong fix for an issue where autorepeat
is disabled for keys assigned by XKB.  As far as I can tell,
XKB has the correct autorepeat settings for the keys before
a completely-empty autorepeat array from X is copied over
it; then the XKB array is copied back to X.  This makes us
skip the first copy.

diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
index 75e243c..bceb55c 100644
--- a/xkb/xkbUtils.c
+++ b/xkb/xkbUtils.c
@@ -342,9 +342,6 @@ CARD8 *         repeat;
     xkb= xkbi->desc;
     repeat= xkb->ctrls->per_key_repeat;

-    if (pXDev->kbdfeed)
-   memcpy(repeat,pXDev->kbdfeed->ctrl.autoRepeats,32);
-
     XkbUpdateDescActions(xkb,first,num,changes);

     if ((pXDev->kbdfeed)&&

我自己還沒有嘗試過,但可能會嘗試。

答案3

我遇到了同樣的問題,我重定向SUPER + H到了LEFT有效的方法,但沒有重複。

當我添加autorepeat = yes到關鍵符號定義時它起作用了。

在這裡找到它:http://web.archive.org/web/20190320180541/http://pascal.tsu.ru/en/xkb/gram-symbols.html

相關內容