Wie kann ich die Funktionstasten auf meinem MacBook programmieren?

6407
user8662

Ich möchte den Funktionstasten (oder anderen Tasten, falls es einfacher ist) auf meinem MacBook grundlegende Aufgaben zuweisen. Zum Beispiel möchte ich Folgendes, wenn F1 (oder eine andere Taste) gedrückt wird:

  1. Starten Sie Safari
  2. Öffnet ein neues Fenster
  3. Navigieren Sie zu einer bestimmten Site

Ein anderes Beispiel könnte sein:

  1. Starten Sie Xcode
  2. Öffnen Sie ein bestimmtes Projekt

Ich habe mit dem Automator experimentiert, um beispielsweise Dutzende von Dateien in einem bestimmten Verzeichnis umzubenennen, aber ich weiß nicht, wo ich für die obigen Beispiele anfangen soll.

5

3 Antworten auf die Frage

8
Arjan

In OS X 10.6 Snow Leopard ist das Erstellen eines neuen Dienstes ziemlich einfach. Dies wird in früheren Versionen von OS X nicht unterstützt. Beispiel:

  • Starten Sie Anwendungen »Automator.
  • Wählen Sie "Service" für die Vorlage des neuen Automator-Workflows.
  • Im oberen Bereich der rechten Seite, wählen Sie „Service empfängt keine Eingabe in einer beliebigen Anwendung “.
  • Ziehen Sie die Aktion "AppleScript ausführen" aus dem linken Bereich in den Workflow im rechten Bereich.
  • Ersetzen Sie den Standard durch:

    bei lauf  Anwendung "Safari" mitteilen aktivieren Sie offener Standort "http://superuser.com/" ende sagen Eingabe zurückgeben Endlauf

    enter image description here

  • Optional: Klicken Sie zum Testen auf die Schaltfläche Ausführen.

  • Drücken Sie zum Speichern auf Cmd-S. Der Name, den Sie eingeben, ist der Name im Menü Dienste. Der Workflow wird in gespeichert ~/Library/Services.

Oder, damit die Standardanwendung die Datei oder den Speicherort öffnet :

  • Statt die Aktion "AppleScript ausführen" in den Workflow zu ziehen, verwenden Sie "Shell-Skript ausführen".
  • Behalten Sie die Standardeinstellung "/ bin / bash" bei Shell und ersetzen Sie den Standardbefehl catdurch:
    Öffnen Sie "http://superuser.com"
    oder
    öffnen "/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj"


So weisen Sie in 10.6 eine Tastenkombination zu :

  • Öffnen Sie im Bereich Systemeinstellungen »Tastatur» Tastaturbefehle.
  • Wählen Sie "Dienste" im linken Bereich.
  • Scrollen Sie im rechten Bereich nach unten zu Allgemein.
  • Doppelklicken Sie rechts neben dem soeben erstellten Automator-Workflow.
  • Drücken Sie die Tasten, die Sie verwenden möchten (und entfernen Sie ggf. vorhandene Verknüpfungen, wenn Sie die Warnung erhalten "Verknüpfung durch eine andere Aktion verwendet"). Wechseln Sie zwischen den Bereichen, um sicherzustellen, dass die neue Verknüpfung gespeichert wird.

Leider scheint es so zu sein, dass Services keine Funktionstaste zugewiesen werden können (die Taste wird angezeigt, verbleibt jedoch im "Bearbeitungsmodus"). Wenn Sie anderswo klicken, geht sie verloren. oder beim Hinzufügen einer Anwendungsverknüpfung).

Um eine Funktionstaste zuzuweisen, gibt es zwei Möglichkeiten:

  1. Angenommen, die meisten Anwendungen verfügen über ein Menü Dienste und finden daher den Namen so, wie er dort angezeigt wird. Wenn der Dienst "Open Super User" heißt, ordnen Sie dann den Menüpunkt Dienste »Open Super User zu:

    • Öffnen Sie im Bereich Systemeinstellungen »Tastatur» Tastaturbefehle.
    • Wählen Sie "Anwendungsverknüpfungen" im linken Bereich.
    • Wählen Sie im rechten Fensterbereich "Alle Anwendungen".
    • Fügen Sie für den genauen Namen "Open Super User" einen Eintrag hinzu und vergeben Sie eine Funktionstaste.
  2. Oder verwenden Sie die Befehlszeile:

    • Findet den hexadezimalen Schlüsselcode: F1 = \UF704F2 = \UF705, ..., F6 = \UF709, F7 = \UF70A, etc .
    • Stellen Sie das einer beliebigen Kombination von @für Befehl, ^für Strg, ~für Option und $für Shift voran.
    • Terminal öffnen. Wenn der Name des Dienstes lautet Open Super User, führen Sie den folgenden Befehl aus, um diesen Dienst F1 zuzuordnen:

      defaults write pbs NSServicesStatus -dict-add \ '"(null) - Open Super User - runWorkflowAsService"' \ '{ "key_equivalent" = "\UF704"; }' 

      Oder für Command-Shift-F12:

       '{ "key_equivalent" = "@$\UF70F"; }' 
    • Um alle laufenden Anwendungen über die mit Terminal vorgenommenen Änderungen zu informieren:

      • Schließen Sie die Systemeinstellungen, falls dies bereits ausgeführt wurde.
      • Finden Sie Ihren neuen Dienst in den Systemeinstellungen »Tastatur», wie oben beschrieben.
      • Deaktivieren Sie das Kontrollkästchen und aktivieren Sie es erneut, um jede Anwendung auf die Änderung aufmerksam zu machen.

Davon muss es auch eine AppleScript-Version geben, aber ich bin kein Experte.

AppleScript zum Öffnen von URLs: `Offener Speicherort" http://superuser.com ". Das gleiche gilt für Dateipfade, aber Präfix mit `file: //`, z. B. `open location 'file: /// Users / danielbeck / Desktop'`. Dieser Befehl ist Teil von * StandardAdditions * in der AppleScript Editor-Bibliothek. Sowohl dies als auch * System Events * sind voll nützlicher Informationen. Daniel Beck vor 13 Jahren 1
2
ashcatch

Sie können FastScripts verwenden, um AppleScripts- oder Automator-Aktionen Tastenkombinationen zuzuweisen.

1
X-Istence

Ich glaube nicht, dass es in Mac OS X einen Weg gibt, ohne auf Anwendungen von Drittanbietern zurückzugreifen.

Quicksilver ist eine dieser Anwendungen von Drittanbietern, und es gibt ein hervorragendes Tutorial zum Einrichten von Trigger in Quicksilver . Mit Quicksilver können Sie es dann so einrichten, dass es das zu aktivierende Programm aktiviert oder sogar externe Skripts ausführt, die dann beispielsweise Automator-Skripts ausführen.