xkb에서 사용자 정의 키 유형을 자동으로 반복하는 방법

xkb에서 사용자 정의 키 유형을 자동으로 반복하는 방법

Ctrl일부 리디렉션(예: 리디렉션 + p대상 등) 을 수행하기 위해 xkb 구성 파일에 사용자 정의 키 유형을 정의했습니다 Up. 그러나 이 사용자 정의 유형에 대해 자동 반복이 작동하도록 할 수 없습니다(원래 키(예: p) 또는 리디렉션 작업(예: + Up에서 리디렉션 )에 자동 반복이 있음).Ctrlp

repeat=true,다음을 기반으로 구성에 추가하려고했습니다.keysyms이것은 xfree86 메일링 리스트에서 가져온 것입니다.하지만 그것도 작동하지 않습니다.

답변1

man xset이 옵션을 읽어주세요 r. 명령에 정수 코드를 제공하여 특정 키의 자동 반복을 활성화할 수 있습니다 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

관련 정보