web-dev-qa-db-ja.com

xkbでカスタムキータイプを自動リピートする方法

Xkb構成ファイルでカスタムキータイプを定義して、リダイレクト(リダイレクトなど)を実行しました Ctrl+p に Up など)ただし、このカスタムタイプの自動リピート作業を取得できません(元のキー(例: p)またはリダイレクトアクション(例: Up からリダイレクト Ctrl+p)自動リピートあり)。

xfree86メーリングリストから に従ってrepeat=true,keysyms構成に追加しようとしましたが、どちらも機能しません。

5
yuyichao

これに役立つ可能性のあるパッチがChromiumOSリポジトリ内にありました。実際にChrome自体にパッチを適用した後、削除されたようです。パッチのQAで何が起こったのか、またはアップストリームに送信されたかどうかはわかりません。

ここのリンク: X:Alt-UpとAlt-DownをPageUpとPageDownにマップする

パッチは次のとおりです。

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)&&

私はまだそれを自分で試していませんが、おそらく少しでそれを試してみるでしょう。

2
damianb

リダイレクトしたときに同じ問題が発生しました SUPER + H に LEFT これは機能しましたが、繰り返されませんでした。

キーシンボル定義にautorepeat = yesを追加すると機能しました。

ここで見つけました: http://Pascal.tsu.ru/en/xkb/gram-symbols.html

0
Quoc An Ha