Linux auf Mac-Hardware: So entfernen Sie die Verzögerung der Feststelltaste auf der Apple MacBook Pro-Aluminiumtastatur, wenn Sie unter Linux booten

Apples MacBook Pro hat eine leichte Verzögerung bei der Feststelltaste . Das heißt, die Feststelltaste muss etwas länger als normal gedrückt werden, um den zum Aktivieren der Feststelltaste erforderlichen Tastendruck zu registrieren.

Das ist super nervig. Weiß jemand, wie man das verhindern kann?

(Oben von Stackoverflow übernommen , da es dort als "Off-Topic" geschlossen wurde.)

Um es weiter auszuführen: Apple betrachtet dies als eine Funktion, und ihr Knowledge Base-Artikel offenbart nicht, wie diese Verzögerung deaktiviert werden kann.

Ich habe jedoch Grund zu der Annahme, dass dies möglich ist.

Insbesondere habe ich festgestellt, dass, zumindest meiner Erfahrung nach, die Verzögerung verschwindet , wenn Sie die Feststelltaste unter Mac OS X neu zuordnen (in den Systemeinstellungen .. Tastatur .. Modifikatortasten) und sie z. B. der Steuerung zuordnen während ich bei Mac OS X angemeldet bin.

Mein Problem ist, dass die Verzögerung bestehen bleibt, wenn ich in Ubuntu Linux boote, und in diesem Zusammenhang ist die Verzögerung immer noch vorhanden, selbst wenn ich die Feststelltaste der Steuerung neu zuweise.

Die Frage ist also: Wie deaktiviert Apple die Verzögerung, und was noch wichtiger ist, wie kann man diese Aktion im Kontext einer Linux-Installation auf dem Laptop replizieren?

Update: Es gibt einen Thread zu Superuser , der Problemumgehungen bieten kann. Ich habe die dortigen Vorschläge noch nicht ausprobiert (nämlich: (1) Umschalten von CapsLock-NoAction aus / ein und (2) ein Firmware-Upgrade). Ich kann aus dem Kontext dieses Threads nicht erkennen, ob die Problemumgehungen auf einer Ubuntu-Installation getestet wurden.

Mir ist das noch nie aufgefallen, aber ich habe mit meinem gespielt und ich kann verstehen, was du meinst. Wenn Sie die Feststelltaste zu schnell drücken, passiert nichts. Ich habe es noch nie als Problem empfunden, aber ich habe gerade versucht, den Trick mit der Feststelltaste zu deaktivieren / wieder zu aktivieren, und es hat sofort funktioniert! Jetzt egal schnell drücke ich die Taste, es schaltet immer die Feststelltaste um. Sehr eigenartig!
Dachte immer, ich drehe durch :p Ich kann den Nutzen sehen, aber in manchen Situationen nervt es mich wirklich. Wäre gut zu wissen, ob es möglich ist!
In der Tat scheint der Trick zum Deaktivieren / erneuten Aktivieren der Feststelltaste (auf der Seite von Mac OS X) das Problem zu beseitigen, sobald man anschließend Linux neu startet. Aber es ist mir nicht klar, ob der Effekt dauerhaft ist – ich habe meinen Rechner für einige Zeit (Wochen oder vielleicht sogar mehr als einen Monat) ausgeschaltet gelassen, und als ich ihn heute Morgen direkt mit Linux hochgefahren habe, schien es so Verzögerung war zurückgekehrt. Für mich immer noch ziemlich mysteriös.
Also nur um zu überprüfen, es scheint keine Lösung für Linux für dieses Problem zu geben?
Ich habe noch keinen gefunden. Ich habe in letzter Zeit nicht nach einer Lösung gesucht, aber ich werde versuchen, Linux jetzt häufiger nativ auszuführen (anstatt in einer VM, wo das Problem nicht auftritt), damit ich es rrzum Debuggen verwenden kann, und vielleicht werde ich Ich werde noch einmal versuchen, eine Lösung zu finden.
Hier ist ein Fix, der für macOS funktioniert und unter macOS ausgeführt werden kann.
Ich wäre nicht überrascht, wenn 99 % der Opfer dieses „Features“ nicht einmal wüssten, dass es passiert. Die ersten 10 Male, die dies passierte, dachte ich, es sei meine Schuld, bis ich anfing, mit dem Tippen auf die Schaltfläche zu experimentieren. Das ist das Schlimmste an diesem "Feature"; es lässt die Leute buchstäblich glauben, dass sie schlecht tippen können.

Antworten (9)

Ich habe herausgefunden, wie man das macht. Kurz gesagt, Sie müssen als Root einen "Feature Report" bestehend aus den Bytes 0x9, 0x0, 0x0, 0x0an das entsprechende Hidraw-Gerät senden.

Mit diesem Befehl finden Sie das richtige Hidraw-Gerät:

dmesg | grep Apple | grep Keyboard | grep input0 | tail -1 | sed -e 's/.*hidraw\([[:digit:]]\+\).*/\/dev\/hidraw\1/'

Der Code zum Senden des magischen Steuerpakets ist unten. Kompiliert mit gcc, nimmt das Hidraw-Gerät als Parameter. Der gesamte Ablauf lautet also:

  1. Speichern Sie den folgenden Code alsdisable-capslock-delay.c
  2. gcc -o disable-capslock-delay disable-capslock-delay.c
  3. HIDDEVICE=$(dmesg | grep Apple | grep Keyboard | grep input0 | tail -1 | sed -e 's/.*hidraw\([[:digit:]]\+\).*/\/dev\/hidraw\1/')
  4. sudo ./disable-capslock-delay $HIDDEVICE

Die Schritte 3 und 4 müssen bei jedem Neustart durchgeführt werden (oder die Tastatur abziehen und wieder anschließen); Sie können sie in /etc/rc.local(oder das Äquivalent Ihrer Distribution) einfügen, um sie beim Booten auszuführen (Sie brauchen es sudoin diesem Fall nicht; und Sie möchten vielleicht die kompilierte Binärdatei in /usr/local/sbin/oder so verschieben).

Ich habe einige Sicherheitsprüfungen für Anbieter-ID, Geräte-ID und Berichtsdeskriptorlänge vorgenommen. Möglicherweise müssen Sie die beiden letzteren ändern, wenn sich Ihr Modell von meinem unterscheidet.


#include <linux/hidraw.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv) {
  if (argc != 2 || strcmp(argv[1], "-h") == 0) {
    printf("Pass a hidraw device as the first and only parameter!\n");
    printf("You may find the right device with:\n");
    printf("  dmesg | grep Apple | grep Keyboard | grep input0 | tail -1 | "
           "sed -e 's/.hidraw\([[:digit:]]\+\)./\/dev\/hidraw\1/'\n");
    return 1;
  }
  int fd, i, res, desc_size = 0;
  char buf[256];
  struct hidraw_devinfo info;
  char *device = argv[1];
  fd = open(device, O_RDWR | O_NONBLOCK);
  if (fd < 0) {
    perror("Unable to open device");
    return 1;
  }
  memset(&info, 0, sizeof(info));
  memset(buf, 0, sizeof(buf));
  // Get Report Descriptor Size
  res = ioctl(fd, HIDIOCGRDESCSIZE, &desc_size);
  if (res < 0) {
    perror("HIDIOCGRDESCSIZE");
  }
  if (desc_size != 75) {
    printf("Error: unexpected descriptor size %d; you've probably got "
           "the wrong hidraw device!\n", desc_size);
    return 1;
  }
  // Get Raw Info
  res = ioctl(fd, HIDIOCGRAWINFO, &info);
  if (res < 0) {
    perror("HIDIOCGRAWINFO");
  } else {
    if (info.vendor != 0x05ac) {
      printf("Error: Wrong vendor ID, make sure you got the right "
             "hidraw device!\n");
      return 1;
    }
    if (info.product != 0x0250) {
      printf("Warning: Unknown product ID 0x%x!\n", info.product);
    }
  }
  // Get Feature
  buf[0] = 0x09;  // Report Number
  res = ioctl(fd, HIDIOCGFEATURE(256), buf);
  if (res < 0) {
    perror("HIDIOCGFEATURE");
  } else {
    printf("HID Feature Report (before change):\n\t");
    for (i = 0; i < res; i++) printf("%hhx ", buf[i]);
    puts("\n");
  }
  // Set Feature
  buf[0] = 0x09;  // Report Number
  buf[1] = 0x00;  // Report data
  buf[2] = 0x00;  // padding
  buf[3] = 0x00;  // padding
  res = ioctl(fd, HIDIOCSFEATURE(4), buf);
  if (res < 0) {
    perror("HIDIOCSFEATURE");
  } else {
    printf("Caps lock delay disabled.\n");
  }
  // Get Feature
  buf[0] = 0x09;  // Report Number
  res = ioctl(fd, HIDIOCGFEATURE(256), buf);
  if (res < 0) {
    perror("HIDIOCGFEATURE");
  } else {
    printf("HID Feature Report (after change):\n\t");
    for (i = 0; i < res; i++) printf("%hhx ", buf[i]);
    puts("\n");
  }
  close(fd);
  return 0;
}

Das sieht toll aus, danke! Aus Interesse, wie haben Sie das gefunden (die magischen Bytes, die gesendet werden müssen)?
@MikeH-R: Ich habe einen Tag damit verbracht, zu lernen, wie das HID-Protokoll funktioniert: Im Wesentlichen beschreiben Geräte, welche Datenpakete ("Berichte") sie verstehen. Leider erwähnt die Apple-Tastatur den fraglichen Bericht nicht in ihren HID-Deskriptoren. Ich habe jedoch einen Dump der HID-Deskriptoren der internen Tastatur eines MacBook gefunden, den jemand gepostet hatte und der die richtige Berichtsbeschreibung enthielt, und ich habe das einfach ausprobiert und festgestellt, dass es auch für die externe kabelgebundene Tastatur funktioniert.
Oh wow das muss ich unbedingt ausprobieren!
(Ich scheine zumindest unterschiedliche Deskriptorgrößen zu bekommen. Trotzdem werde ich sie anpassen und sehen, wie es funktioniert.)
Ich werde diese Antwort akzeptieren, weil sie der tatsächlichen Anerkennung des beschriebenen Problems und der Bereitstellung einer glaubwürdigen Lösung am nächsten kommt (obwohl in meinem eigenen Fall die Deskriptorgrößen unterschiedlich sind).
Wow. Auch ein Buh für dich, Apple!
[Hier][1] ist Ihr auf macOS portierter Fixcode. [1]: apple.stackexchange.com/questions/284899/…

Hier ist der Fix für macOS Sierra.

Gehen Sie zu Systemeinstellungen > Barrierefreiheit

Wenn das Barrierefreiheitsfenster geöffnet ist – im linken Teil des Fensters – klicken Sie auf Tastatur

Dann gibt es die 2 Optionen – für Sticky Keys und für Slow Keys – klicken Sie auf das Kästchen neben Slow Keys, um es zu aktivieren – dann klicken Sie auf die Options...Schaltfläche – ein neues Fenster wird mit einem Schieberegler angezeigt, um die Akzeptanzverzögerung zu ändern – standardmäßig das ist in der mitte. Schieben Sie den Knopf ganz nach links, so dass es die kürzest mögliche Zeit ist.

Jetzt sollte es behoben sein. Ich habe nicht experimentiert, um zu sehen, ob der Fix beim Neustart erhalten bleibt, aber ich bin zuversichtlich, dass dies der Fall sein wird.

Ich war eine Sekunde lang aufgeregt, aber als ich hier nachschaute, waren langsame Tasten nicht aktiviert, also funktioniert es nur für Leute, die langsame Tasten verwenden :( Eines Tages werde ich meine wertvolle Feststelltaste zurück haben!
Dies reduziert es ein wenig, aber es ist immer noch langsamer, die Feststelltaste einzuschalten als auszuschalten. Auch die Tastenwiederholrate verlangsamt sich auf ein Schneckentempo, obwohl die Einstellung am schnellsten ist. (Sierra 10.12.6)
Dies ist keine richtige Lösung für das vorliegende Problem, da es die Tastenwiederholung verlangsamt und Sie nicht mehr richtig löschen können, wenn Sie die Rücktaste gedrückt halten.
Auf Monterey funktioniert das

BEARBEITEN: Dies scheint eine beliebte Landungsfrage für Benutzer zu sein, die die Verzögerung der Feststelltaste in OS X entfernen möchten. Ab OS X Mojave

Gehen Sie zu den Systemeinstellungen; Barrierefreiheit; Klaviatur; Aktivieren Sie Slow Keys und gehen Sie in die Optionen; Drehen Sie die Verzögerung auf das Minimum. Der einzige unerwünschte Nebeneffekt, der mir bisher aufgefallen ist, ist eine langsame Rücktaste, wenn Sie sie gedrückt halten. Im Allgemeinen verwende ich sowieso CMD+A / CMD+SHIFT+L/R / CMD+SHIFT+CTRL+L/R, also ist es kein großes Problem.

Ab El Capitan und früher,

Die Lösung ist ziemlich schwer fassbar, und Sie würden nicht wirklich wissen, dass Sie sie entfernt haben, es sei denn, Sie wollten sie überhaupt erst loswerden. Die Art und Weise, die ich Ihnen zeigen werde, gilt nur für die (aktuelle) neueste Version von OSX, Yosemite. Sie können diese Methode jedoch unbedingt auf frühere und zukünftige Versionen anwenden.

Die Lösung ist einfach. Wenn Sie in den Systemeinstellungen über das Apple-Logo in der oberen linken Ecke zu Tastatur navigieren, gelangen Sie zu diesem Bildschirm

Geben Sie hier die Bildbeschreibung ein

Wenn Sie auf die Schaltfläche Zusatztasten klicken, können Sie die Funktion jeder der programmierbaren Tasten ändern. Alles, was Sie tun müssen, ist, die Feststelltaste auf keine Aktion zu stellen und OK zu drücken, um zum Tastaturmenü zurückzukehren. Wenn Sie fertig sind, gehen Sie zurück zu den Modifikatortasten und ändern Sie die Feststelltaste wieder auf Feststelltaste. Dadurch wird die Verzögerung beseitigt! Beachten Sie, dass dieser Fix bestehen bleibt, bis Sie das Gerät in den Ruhezustand versetzen, neu starten oder ausschalten. An diesem Punkt wird die Verzögerung wieder eingesetzt.

Es sind seltsame Korrekturen, und es stellt sich die Frage, warum sie keine Option zum Entfernen der Verzögerung bieten, wenn diese Korrektur rein softwarebasiert ist. Aber hey, zumindest gibt es einen Weg!

Fröhliches Kappen.

Wie löst dies mein Problem unter Linux?
Um es klarer zu sagen: Die ursprüngliche Frage lautete: "... die Verzögerung verschwindet, während ich bei Mac OS X angemeldet bin. Mein Problem ist, dass die Verzögerung bestehen bleibt, wenn ich Ubuntu Linux starte, und in diesem Zusammenhang auch dann, wenn ich das neu zuordne Feststelltaste auf Steuerung, die Verzögerung ist immer noch vorhanden."
Ah! Ich verstehe, ich denke, ich sollte OP-Fragen sorgfältiger lesen. Ich habe unter OSX festgestellt, dass das vollständige Lösen der Feststelltaste und das erneute Binden das Problem gelöst haben. Vielleicht bleibt die Verzögerung bestehen, weil Sie stattdessen an die Kontrolle gebunden sind? Es lohnt sich, alles auszuprobieren, wenn Sie noch keine Lösung haben :)
Diese Vorgehensweise hat bei mir keine Wirkung gezeigt. (Sierra 10.12.6)

Ausarbeitung der @jmrk-Antwort. Sein Code funktioniert gut für die sogenannte „Aluminium“-Tastatur, aber Apple hat auch drahtlose Tastaturen unter dem Namen „Magic Keyboard“ mit der Produkt-ID 0x022d herausgebracht. (Sie haben auch ein Aluminiumgehäuse, und ich denke, dass mein Modell aus dem Jahr 2008 oder so stammt.) Dieses Produkt hat das gleiche Problem mit der Feststelltaste, und fast der gleiche Code kann es beheben. Neben der Änderung der Produkt-ID beträgt die Deskriptorgröße 218 und die zu sendenden Daten sind nicht 0x00, sondern 0x01:

buf[0] = 0x09;  // Report Number
buf[1] = 0x01;  // Report data

Ich habe das heute gefunden und wollte meine Antwort hier aufzeichnen, falls es jemandem hilft, einschließlich meinem zukünftigen Ich.

Hier ist ein vollständiges Programm, das das Problem auf beiden Arten von Geräten behebt. Sie können zusätzliche versteckte Geräte übergeben, dies gilt nur für bekannte. Sie können es also einfach so nennen./a.out /dev/hidraw*

#include <linux/hidraw.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char **argv) {
  printf("Pass all devices to configure. For example, like this: %s /dev/hidraw*\n", argv[0]);
  int expected_desc_size;
  char data_to_set;
  for (int argnum=1;argnum<argc;argnum++) {
    printf("Trying to configure %s...\n", argv[argnum]);
    
    int fd, i, res, desc_size = 0;
    char buf[256];
    struct hidraw_devinfo info;
    char *device = argv[argnum];
    fd = open(device, O_RDWR | O_NONBLOCK);
    if (fd < 0) {
      perror("Unable to open device");
      return 1;
    }
    memset(&info, 0, sizeof(info));
    memset(buf, 0, sizeof(buf));
    
    // Get Raw Info
    res = ioctl(fd, HIDIOCGRAWINFO, &info);
    if (res < 0) {
      perror("HIDIOCGRAWINFO");
      return 1;
    }
    if (info.vendor == 0x05ac) {
      printf("Apple device found!\n");
    } else {
      printf("Not an apple device.\n");
      continue;
    }
    if (info.product == 0x022d) {
      printf("We have a 'magic' keyboard\n");
      expected_desc_size = 218;
      data_to_set = 1;
    } else if (info.product == 0x0250) {
      printf("We have an 'aluminium' keyboard\n");
      expected_desc_size = 75;
      data_to_set = 0;
    }
    else {
      printf("Warning: Unknown product ID 0x%x!\n", info.product);
      continue;
    }
    // Get Report Descriptor Size
    res = ioctl(fd, HIDIOCGRDESCSIZE, &desc_size);
    if (res < 0) {
      perror("HIDIOCGRDESCSIZE");
      return 1;
    }
    if (desc_size != expected_desc_size) {
      printf("Error: unexpected descriptor size %d; panic'ing", desc_size);
      return 1;
    }
    // Get Feature
    buf[0] = 0x09;  // Report Number
    res = ioctl(fd, HIDIOCGFEATURE(256), buf);
    if (res < 0) {
      perror("HIDIOCGFEATURE");
    } else {
      printf("HID Feature Report (before change):\n\t");
      for (i = 0; i < res; i++) printf("%hhx ", buf[i]);
      puts("\n");
    }
      
    // Set Feature
    buf[0] = 0x09;  // Report Number
    buf[1] = data_to_set;  // Report data
    buf[2] = 0x00;  // padding
    buf[3] = 0x00;  // padding
    res = ioctl(fd, HIDIOCSFEATURE(4), buf);
    if (res < 0) {
      perror("HIDIOCSFEATURE");
    } else {
      printf("Caps lock delay disabled.\n");
    }
    // Get Feature
    buf[0] = 0x09;  // Report Number
    res = ioctl(fd, HIDIOCGFEATURE(256), buf);
    if (res < 0) {
      perror("HIDIOCGFEATURE");
      return 1;
    } 
    printf("HID Feature Report (after change):\n\t");
    for (i = 0; i < res; i++) printf("%hhx ", buf[i]);
    puts("\n");
    close(fd);
    }
  return 0;
}
Ich danke dir sehr! Wenn Sie das am Ende der akzeptierten Antwort oder besser bearbeiten möchten - im Ablauf, um die beiden Codes für verschiedene Geräte aufzurufen, würde ich diese Bearbeitung genehmigen.
@bmike Ich habe das Programm aktualisiert, um flexibler zu sein, was zu vielen Änderungen im Original führen würde. Also habe ich einfach meine Antwort bearbeitet, um den Code hinzuzufügen. Sobald wir sicher sind, dass dies für mehr Menschen gut funktioniert, ist es immer noch an der Zeit, die Top-Antwort zu verbessern.
Ich würde wieder +1 geben, aber ich bekomme nur eine Stimme - gut gemacht - das kann jetzt viel besser alleine stehen.
Als ich nach einer Möglichkeit suchte, diese lästige Verzögerung zu deaktivieren, erwartete ich einiges an manueller Arbeit. Ich hatte nicht erwartet, dass mir jemand einen bequemen Code auf einem Silbertablett überreicht!

Ich weiß mit Sicherheit, dass die Verzögerung der Feststelltaste eine Funktion der Firmware auf der Tastatur selbst ist - Sie können also sicher sein, dass das Verzögerungstiming unabhängig vom Betriebssystem, das die Tastatur gerade verwendet, auftritt.

Ich weiß auch, dass Apple keinen Weg anbietet, die Firmware auf eine niedrigere Ebene zu flashen, also müssen wir alle warten, bis jemand mit genügend Hardware-Erfahrung die Tools und Schritte bloggt, die er durchgeführt hat, um die Hardware dazu zu bringen, die ältere Firmware zu laden (oder bereitzustellen was wie eine neuere Firmware aussieht, die die Verzögerung ohne Verzögerung auf die vorherige Funktion zurückführt.)

Ich entschuldige mich für die Nichtantwort, aber der Weg, dies zu erreichen, ist gut beleuchtet und kann anderen helfen, in der Zwischenzeit Maßnahmen zu ergreifen (Auswahl einer älteren Tastatur - oder Verzicht auf ein Upgrade der Firmware), während wir auf eine echte Lösung warten ein kurzer oder kein Timer auf der Feststelltaste.

Ein Detail, über das ich in Ihrer Antwort verwirrt bin: Wollen Sie damit sagen, dass es falsch ist, dass die Verzögerung verschwindet, wenn man die Feststelltaste in Mac OS X neu zuordnet? (Ich weiß nicht, wie ich Ihre Aussage sonst interpretieren soll: "Das Verzögerungstiming tritt auf, egal welches Betriebssystem die Tastatur gerade ansteuert"; aber das widerspricht meiner direkten Erfahrung - es sei denn, Apple verwendet eine undokumentierte API für die Firmware, um die zeitliche Koordinierung?)
Ich habe meine auf ESC umgestellt und der etwas längere Halt ist immer noch notwendig. Ich habe dies jedoch mit einer Drittanbieter-App namens Seil getan und nicht über eine in OSX integrierte Funktionalität. Ärgerlich, um sicher zu sein – verwenden ihre Entwickler nicht Vim? Meine Güte.

Gehen Sie zu Systemeinstellungen > Barrierefreiheit > Tastatur > Langsame Tasten aktivieren > Annahmeverzögerung ganz nach links (kurz) ändern! Das hat bei mir funktioniert.

Beschreiben Sie einen Schritt in Mac OS X? Wie löst dies das Problem in Ubuntu Linux, wie in der Frage beschrieben?
Ja richtig. Ubuntu Linux kenne ich nicht, tut mir leid. Ich denke, ich löse den Haupttitel "So entfernen Sie die Verzögerung der Feststelltaste auf der Apple MacBook Pro-Aluminiumtastatur*" und vielleicht die Frage "Wie deaktiviert Apple die Verzögerung". :-) Mit freundlichen Grüßen Thomas, Schweden *Diese Frage ist der Grund, warum ich diesen Tread gefunden und gelesen habe und nichts geholfen hat, also habe ich es selbst gelöst :P
Laut Michelles Antwort: Dies reduziert es ein wenig, aber es ist immer noch langsamer, die Feststelltaste einzuschalten als auszuschalten. Auch die Tastenwiederholrate verlangsamt sich auf ein Schneckentempo, obwohl die Einstellung am schnellsten ist. (Sierra 10.12.6)

Die Lösung "CapsLock-NoAction aus-/einschalten", auf die sich das OP bezieht, funktioniert sowohl auf meiner kabelgebundenen Mac-Tastatur als auch auf meiner MacBookPro-Tastatur. Bradley sagt, dass dies nur auf Yosemite funktioniert, aber ich habe es erfolgreich auf Snow Leopard (10.6.8) und Mavericks (10.9.5) verwendet. Ich habe dies auch in einer Kubuntu-VM getestet und Caps Lock funktionierte weiterhin korrekt in der VM.

  • Öffnen Sie die Systemeinstellung Tastatur und klicken Sie auf Modifier Keys...:

Geben Sie hier die Bildbeschreibung ein

  • Setzen Sie die Feststelltaste auf No Actionund klicken Sie auf OK:

                    Geben Sie hier die Bildbeschreibung ein

  • Klicken Sie Modifier Keys...erneut auf und stellen Sie die Feststelltaste auf Caps Lock, und klicken Sie auf OK:

                    Geben Sie hier die Bildbeschreibung ein

Dies gilt nur bis zum nächsten Neustart.

Bei mir hatte dies keine Wirkung. (Sierra 10.12.6, Mac USB-Tastatur und intern auf MBPro)
So sehen die Dialoge zumindest ab Big Sur 11.5.2 auf einem 2019er MBP nicht mehr aus. Die Feststelltaste wird nicht als Zusatztaste aufgeführt und kann daher nicht neu zugeordnet werden. Außerdem bemerke ich keine Verzögerung und im Gegensatz zu der fraglichen Frage :) Ich verwende kein Linux und wünschte, ich könnte die Verzögerung zurückbringen!
  1. Laden Sie die folgende Software herunter und installieren Sie sie
  • Karabiner
  • Hammerlöffel
  1. Verwenden Sie Karabiner, um die CapsLock-Taste auf F19 abzubilden.
  2. Bearbeiten Sie init.luaunter dem Pfad ~/.hammerspoon, fügen Sie den folgenden Code ein.
pressedF19 = function()
    hs.hid.capslock.toggle()
end

hs.hotkey.bind({}, 'F19', pressedF19, nil)

Laden Sie dann die Hammerspoon-Konfiguration neu, damit die Änderungen wirksam werden.

Siehe meinen Blog hier http://hellohtml5.com/2019/04/25/best-way-to-disable-capslock-delay-on-mac/

Hallo, willkommen bei Ask Different. Vielen Dank für Ihren Beitrag, aber beachten Sie, dass es sich bei der Frage um Linux handelt, das OP hat das Problem bereits unter macOS gelöst.
(Offtopic, da es unter MacOS funktioniert, nicht unter Linux) Derzeit reicht es aus, Karabiner nur zu installieren, es wird (seit 13.3.0, siehe hier - karabiner-elements.pqrs.org/docs/help/how-to/… ) automatisch deaktiviert CapsLock-Verzögerung ohne manuelles Eingreifen.

Ich habe ein sehr leichtes Open-Source-Tool geschrieben, um genau das zu beheben:

https://github.com/gkpln3/CapsLockNoDelay