web-dev-qa-db-ja.com

MacBookでファンクションキーをプログラムするにはどうすればよいですか?

MacBookのファンクションキー(または簡単な場合は他のキー)に基本的なタスクを割り当てたいのですが。たとえば、F1(または任意のキー)が押されたときに次のことが発生するようにします。

  1. Safariを起動します
  2. 新しいウィンドウを開く
  3. 指定されたサイトに移動します

別の例は次のとおりです。

  1. Xcodeを起動します
  2. 特定のプロジェクトを開く

特定のディレクトリにある数十のファイルの名前を変更するなどの方法でAutomatorを試しましたが、上記の例のどこから始めればよいのかわかりません。

5
user8662

OS X 10.6 Snow Leopardでは、新しいサービスを作成することで非常に簡単です。これは、以前のバージョンのOS Xではサポートされていません。例:

  • アプリケーションの起動"Automator。
  • 新しいAutomatorワークフローのテンプレートとして「サービス」を選択します。
  • 右側のペインの上部で、[サービスは任意のアプリケーション入力なしを受信します]を選択します。
  • アクション「RunAppleScript」を左側のペインから右側のペインのワークフローにドラッグします。
  • デフォルトを次のように置き換えます。

    実行時に{input、parameters} 
    アプリケーション "Safari" 
     activate 
     open location "http://superuser.com/"
    end tell 
     return input 
     end run

    enter image description here

  • オプション:[実行]ボタンをクリックしてテストします。

  • Cmd-Sを押して保存します。入力する名前は、[サービス]メニューの名前になります。ワークフローは~/Library/Servicesに保存されます。

または、デフォルトのアプリケーションでファイルまたは場所を開くようにするには

  • アクション「RunAppleScript」をワークフローにドラッグする代わりに、「RunShellScript」を使用します。
  • Shellをデフォルトの「/ bin/bash」のままにして、デフォルトのコマンドcatを:に置き換えます。
    「http://superuser.com」を開きます
    または
    「/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj」を開きます


割り当てるには キーボードショートカット 、10.6では:

  • [システム環境設定]"[キーボード]"[ペイン] [キーボードショートカット]を開きます。
  • 左側のペインで[サービス]を選択します。
  • 右ペインの[一般]まで下にスクロールします。
  • 作成したAutomatorワークフローの右側をダブルクリックします。
  • 使用するキーを押し(該当する場合は、「別のアクションで使用されたショートカット」という警告が表示された場合は既存の関連付けを削除します)、ペインを切り替えて新しいショートカットが保存されていることを確認します。

残念ながら、この方法ではサービスにファンクションキーを割り当てることができないようです(キーは表示されますが「編集モード」のままであり、他の場所をクリックすると失われます。これは異なります。 Exposéなどの組み込みのものへのファンクションキーの割り当てから、またはアプリケーションショートカットの追加時)。

ファンクションキーを割り当てるには、次の2つのオプションがあります。

  1. ほとんどのアプリケーションには[サービス]メニューがあると想定しているため、そこに表示されているような名前が見つかります。したがって、サービスの名前が「Open Super User」の場合は、メニュー項目Services"Open SuperUserをマップします。

    • [システム環境設定]"[キーボード]"[ペイン] [キーボードショートカット]を開きます。
    • 左側のペインで[アプリケーションのショートカット]を選択します。
    • 右ペインで「すべてのアプリケーション」を選択します。
    • 正確な名前「OpenSuperUser」のエントリを追加し、いくつかのファンクションキーを割り当てます。
  2. または、コマンドラインを使用します。

    • 16進キーコードを見つけます:F1 = \UF704、F2 = \UF705、...、F6 = \UF709、F7 = \UF70Aetc
    • コマンドの場合は@、Ctrlの場合は^、オプションの場合は~、Shiftの場合は$の任意の組み合わせでプレフィックスを付けます。
    • ターミナルを開きます。サービスの名前がOpen Super Userの場合、そのサービスをF1にマップするには、次のコマンドを実行します。

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

      またはCommand-Shift-F12の場合:

        '{ "key_equivalent" = "@$\UF70F"; }'
      
    • 実行中のすべてのアプリケーションに、ターミナルを使用して行った変更を認識させるには:

      • システム環境設定がすでに実行されている場合は、閉じます。
      • 上記のようなシステム環境設定"キーボード"ペインのキーボードショートカットで新しいサービスを見つけます。
      • チェックボックスを無効にしてから再度有効にして、すべてのアプリケーションに変更を認識させます。

これにもAppleScriptバージョンがいくつかあるはずですが、私は専門家ではありません...誰か?

8
Arjan

FastScripts を使用して、キーボードショートカットをAppleScriptまたはAutomatorアクションに割り当てることができます。

2
ashcatch

サードパーティのアプリケーションに頼らずにMacOSXでそうする方法はないと思います。

Quicksilver はこれらのサードパーティアプリケーションの1つであり、セットアップに関する優れたチュートリアルがあります Quicksilverのトリガー 。 Quicksilverを使用すると、アクティブ化するプログラムをアクティブ化するように設定したり、Automatorスクリプトなどを実行する外部スクリプトを実行したりすることもできます。

1
X-Istence