Wie ordne ich einen Terminalbefehl einer Funktionstaste zu?

Ich habe einen Terminalbefehl, der die Helligkeit meines externen Displays steuern kann. Ich versuche, diesen Befehl einer Taste auf der Tastatur zuzuordnen, damit er wie eine Taste "Helligkeit auf" und "Helligkeit ab" funktioniert.

Karabiner sieht nicht so aus, als ob es die Zuordnung von Schlüsseln zu Terminalbefehlen unterstützt

Antworten (2)

Ich würde Automator verwenden, um ein Shell-Skript auszuführen, und dann eine Tastenkombination hinzufügen, um das auszuführen.

Um dies zu tun:

  1. Automator öffnen
  2. Drücken Sie commandN(oder gehen Sie zu Datei > Neu)
  3. Wählen Sie die Option Service und klicken Sie auf die ChooseSchaltfläche
  4. Stellen Sie sicher, dass es in keiner Anwendung so eingestellt ist, dass es keine Eingaben empfängt
  5. Wählen Sie im linken Bereich die Option Bibliothek > Dienstprogramme aus
  6. Doppelklicken Sie im mittleren Bereich auf die Aktion Shell-Skript ausführen
  7. Geben Sie nun den Terminalbefehl im Fenster Run Shell Script im rechten Bereich ein
  8. Drücken Sie commandS(oder gehen Sie zu Datei > Speichern ...)
  9. Geben Sie dem Dienst einen geeigneten Namen
  10. Klicken Sie auf die SaveSchaltfläche
  11. Gehen Sie nun zu Apple > Systemeinstellungen ... > Tastatur
  12. Wählen Sie die Registerkarte Verknüpfungen
  13. Wählen Sie im linken Bereich Dienste aus
  14. Suchen und wählen Sie den Service, den Sie gerade erstellt haben, in der Liste auf der rechten Seite aus
  15. Klicken Sie auf die Add ShortcutSchaltfläche und drücken Sie die Tastenkombination, die Sie verwenden möchten

HINWEIS: Sie müssen sicherstellen, dass es sich nicht um eine Verknüpfung handelt, die bereits von macOS verwendet wird.

Karabiner Elements macht dasselbe mit viel weniger Kraftaufwand. S.th. like {"shell_command": "open -a 'Alfred 3.app'"} ist wirklich einfach, das Definieren einer Verknüpfung ist im Handumdrehen erledigt.

Ich verwende Karabiner-Elemente, um genau dies auf einem Dell-Monitor zu tun. Sie können Tastendrücke an Shell-Befehle binden:

{
"title": "F5 to dim, F6 to bright",
"rules": [
    {
        "manipulators": [
            {
              "description": "dim",
              "type": "basic",
              "from": {
                "key_code": "f5"
              },
              "to": [
                {
                    "shell_command": "/usr/local/bin/ddcctl -d 1 -b 1"
                }
              ]
            },
            {
                "description": "bright",
                "type": "basic",
                "from": {
                  "key_code": "f6"
                },
                "to": [
                  {
                      "shell_command": "/usr/local/bin/ddcctl -d 1 -b 100"
                  }
                ]
              }
          ]
    }
]

}

(Ich habe ddctl installiert, mit dem Sie die Helligkeit steuern können, indem Sie einen Prozentwert übergeben - https://github.com/kfix/ddcctl )

Sie können die Dokumentation zum Schreiben Ihrer komplexen Modifikationen wie diese überprüfen: https://pqrs.org/osx/karabiner/json.html

Du bist erstaunlich 🥳 wusste nicht, dass ich ihm den vollständigen Pfad zur Binärdatei geben musste, weil es wahrscheinlich nicht die in PATH hat 😅 🚀