Tastatur über CLI sperren

Früher habe ich meine Tastatur mit kextloadund zum Entsperren/Sperren verwendet . kextunloadDie eigentliche Kernel-Erweiterung ändert sich jedoch zwischen MacBook-Modellen, und das kann zu unerwarteten Ergebnissen führen.

Wenn beispielsweise kext ist AppleUSBTCKeyboard, funktionieren sowohl das Entladen als auch das Laden einwandfrei. Wenn es sich jedoch um kext handelt AppleHIDKeyboard(z. B. MacBook Air), funktioniert das Entladen, aber das erneute Laden nicht. Dies bedeutet kextunload -bundle-id com.apple.driver.AppleHIDKeyboard, dass die Tastatur deaktiviert wird, aber dann kann sie nicht wieder aktiviert werden kextloadund der Computer muss neu gestartet werden.

Es gibt einige Apps, die das noch können, wie KeyboardCleanTool . Ich würde jedoch eine CLI-Methode bevorzugen. Verwenden Sie nach Möglichkeit (aber nicht wählerisch) nur Tools, die mit macOS oder einem Open-Source-Tool geliefert werden.

Bonuspunkte, wenn es auch eine Möglichkeit gibt, das Trackpad zu sperren, aber das ist weniger wichtig.

Um es klar zu sagen, Sie möchten nur Ihre Tastatur und / oder Ihr Trackpad sperren, während Sie Ihren Bildschirm eingeschaltet lassen. Richtig?
@Allan Ja, das ist richtig. Aber gibt es eine Möglichkeit, den Bildschirm (aber nicht die Maschine) auszuschalten oder sich abzumelden/zu sperren?
Nur aus Neugier ... wenn Sie die Tastatur deaktivieren, wie würden Sie sie wieder aktivieren, wenn Sie wieder bereit sind zu arbeiten? Immerhin wird die Tastatur deaktiviert.
Mit einem Timer, wie ich es früher gemacht habe: kextunload … && sleep 30 && kextload …. Ich brauche nur eine vorübergehende Sperre für die Tastaturreinigung. Man könnte es auch mit einem Skript zum Doppelklicken tun (wenn das Trackpad nicht gesperrt ist).
Wenn ich meine Tastatur (Apple BT-Tastatur) reinige, schalte ich sie einfach aus, reinige sie und schalte sie wieder ein. Wenn es ein USB ist, trenne ich es einfach, reinige es und schließe es wieder an. Ist das nicht eine praktikable Lösung?
@Allan Nein, weil ich auf einem MacBook bin. Die interne Tastatur ist diejenige, die ich deaktivieren möchte.

Antworten (1)

Eine Möglichkeit wäre ControllerMate zu verwenden .

Sie müssten eine Treiberkonfiguration erstellen und alle Schlüssel None zuordnen. Dann gibt es mehrere Möglichkeiten, die benutzerdefinierte Treiberkonfiguration zu aktivieren/deaktivieren, aber leider ist CLI derzeit keine Option.

Aber CM ist sehr anpassbar und ich bin sicher, dass Ihnen etwas einfallen könnte. Wenn Sie beispielsweise die Logikblöcke verwenden, können Sie sie deaktivieren, wenn Sie Z 2 Sekunden lang gedrückt halten, dann P gedrückt halten und mit der Maus klicken. Verwenden eines Verzögerungs-Timer-Blocks, um 30 Sekunden zu warten, aber dann nur wieder zu aktivieren, wenn Sie die linke Umschalttaste gedrückt halten und die Maus nach oben / unten scrollen.

Ein weiteres ähnliches Dienstprogramm, das funktionieren könnte, ist Karabiner-Elements . Es ist eine komplette Neufassung seiner wunderbaren Karabiner- App, die mit macOS Sierra brach. Es befindet sich noch in der frühen Entwicklungsphase, aber es könnte die Funktionalität haben, die Sie benötigen.

OP verfügt bereits über eine Nicht-CLI-Möglichkeit, KeyboardCleanTool, wie in der Frage angegeben.