So aktivieren Sie die automatische Wiederholung benutzerdefinierter Schlüsseltypen in xkb

So aktivieren Sie die automatische Wiederholung benutzerdefinierter Schlüsseltypen in xkb

Ich habe in meiner XKB-Konfigurationsdatei einen benutzerdefinierten Schlüsseltyp definiert, um einige Umleitungen durchzuführen (z. B. Umleitung Ctrl+ pzu Upusw.). Die automatische Wiederholung funktioniert für diesen benutzerdefinierten Typ jedoch nicht (weder der Originalschlüssel (z. B. p) noch die Umleitungsaktion (z. B. UpUmleitung von Ctrl+ p) verfügen über eine automatische Wiederholung).

Ich habe versucht, repeat=true,die keysymsKonfiguration entsprechend zu ergänzendies von der xfree86-Mailinglisteaber es funktioniert auch nicht.

Antwort1

Bitte lesen Sie man xsetdie rOptionen. Es ist möglich, die automatische Wiederholung für eine bestimmte Taste zu aktivieren, indem Sie dem xset rBefehl ihren Integer-Code zuweisen. Beispiel:

Ich habe

<SPCE> = 134;

in meiner benutzerdefinierten xkbcom-Keymap-Datei. Also, Eingabe:

xset r 134

im Terminal wird die automatische Wiederholung für meine neu zugeordnete Leertaste aktiviert.

Sie können diesen Befehl zu Ihrer ~/.xinitrcDatei hinzufügen. Sie müssen nicht an der xkb-Konfigurationsdatei selbst herumbasteln.

Antwort2

Ich bin im Chromium OS-Repository auf einen Patch gestoßen, der hier Abhilfe schaffen könnte. Er scheint entfernt worden zu sein, nachdem er tatsächlich in Chrome selbst gepatcht wurde. Ich bin mir nicht sicher, was mit der Qualitätssicherung für den Patch passiert ist oder ob er an den Upstream gesendet wurde oder nicht.

Links hier:X: Alt-Auf und Alt-Ab den Tasten Bild auf und Bild ab zuordnen

Der Patch lautet wie folgt:

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

Ich habe es selbst noch nicht probiert, werde es aber wahrscheinlich bald versuchen.

Antwort3

Ich hatte dasselbe Problem mit der Weiterleitung, SUPER + Hwas LEFTfunktionierte, sich aber nicht wiederholte.

Es hat funktioniert, als ich es autorepeat = yeszur Schlüsselsymboldefinition hinzugefügt habe.

Habe es hier gefunden:http://web.archive.org/web/20190320180541/http://pascal.tsu.ru/en/xkb/gram-symbols.html

verwandte Informationen