Como posso programar as teclas de função no meu MacBook?

5

Gostaria de atribuir tarefas básicas às teclas de função (ou outras teclas, se for mais fácil) no meu MacBook. Por exemplo, eu gostaria que o seguinte acontecesse quando F1 (ou qualquer tecla) fosse pressionado:

  1. Iniciar o Safari
  2. Abrir uma nova janela
  3. Navegue até algum site especificado

Outro exemplo poderia ser:

  1. Iniciar o Xcode
  2. Abra um projeto específico

Eu experimentei o Automator para coisas como nomear novamente dezenas de arquivos em um diretório específico, mas não sei por onde começar os exemplos acima.

    
por user8662 19.11.2009 / 05:15

3 respostas

8

É muito fácil no OS X 10.6 Snow Leopard, criando um novo serviço. Isso não é suportado em versões anteriores do OS X. Por exemplo:

  • Iniciar aplicativos »Automator.
  • Selecione "Serviço" para o modelo do novo fluxo de trabalho do Automator.
  • Na parte superior do painel direito, selecione "O serviço recebe nenhuma entrada em qualquer aplicativo ".
  • Arraste a ação "Executar AppleScript" do painel esquerdo para o fluxo de trabalho no painel direito.
  • Substitua o padrão por:

    on run {input, parameters}
    tell application "Safari"
    activate
    open location "http://superuser.com/"
    end tell
    return input
    end run

  • Opcional:cliquenobotãoExecutarparatestar.

  • PressioneCmd-Sparasalvar.OnomequevocêdigitaseráonomenomenuServiços.Ofluxodetrabalhoserásalvoem~/Library/Services.

Ou,paraqueoaplicativopadrãoabraoarquivoouolocal:

  • Emvezdearrastaraação"Executar AppleScript" para o fluxo de trabalho, use "Executar Shell Script".
  • Deixe o Shell em seu padrão "/ bin / bash" e substitua o comando padrão cat por:
    open "http://superuser.com"
    ou
    open "/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj"


Para atribuir um atalho de teclado , em 10.6:

  • Abra as Preferências do Sistema »Painel» Teclado »Atalhos de Teclado.
  • Selecione "Serviços" no painel esquerdo.
  • Desça até Geral no painel direito.
  • Clique duas vezes à direita do fluxo de trabalho do Automator que você acabou de criar.
  • Pressione as teclas que você deseja usar (e, se aplicável, remova as associações existentes se receber um aviso "Atalho usado por outra ação") e alterne os painéis para garantir que o novo atalho seja salvo.

Infelizmente, parece que desta forma os Serviços não podem receber uma tecla de função (a tecla é exibida, mas permanece no "modo de edição" e, ao clicar em outro lugar, é perdida, diferente da atribuição teclas de função para coisas internas como Exposé, ou ao adicionar um atalho de aplicativo).

Para atribuir uma tecla de função, existem duas opções:

  1. Suponha que a maioria dos aplicativos tenha um menu Serviços e, portanto, encontre o nome que aparece lá. Portanto, se o serviço for denominado "Abrir Super Usuário", mapeie o item de menu Serviços »Abrir Super Usuário:

    • Abra as Preferências do Sistema »Painel» Teclado »Atalhos de Teclado.
    • Selecione "Atalhos de aplicativos" no painel esquerdo.
    • Selecione "Todos os aplicativos" no painel à direita.
    • Adicione uma entrada para o nome exato "Open Super User" e atribua alguma tecla de função.
  2. Ou use a linha de comando:

    • Encontre seu código de chave hexadecimal: F1 = \UF704 , F2 = \UF705 , ..., F6 = \UF709 , F7 = \UF70A , etc .
    • Prefixo isso com qualquer combinação de @ para Command, ^ para Ctrl, ~ para Option e $ para Shift.
    • Abra o Terminal. Se o nome do serviço for Open Super User , para mapear esse serviço para F1, execute:

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

      Ou para Command-Shift-F12:

        '{ "key_equivalent" = "@$\UF70F"; }'
      
    • Para tornar todos os aplicativos em execução conscientes da alteração que você fez usando o Terminal:

      • Feche as Preferências do sistema, se já estiverem sendo executadas.
      • Encontre seu novo serviço no painel Preferências do sistema »Teclado» Atalhos de teclado como descrito acima.
      • Desative e reative sua caixa de seleção para tornar todos os aplicativos conscientes da alteração.

Deve haver alguma versão do AppleScript disso também, mas eu não sou especialista ... Alguém?

    
por 19.01.2010 / 15:27
2

Você pode usar FastScripts para atribuir atalhos de teclado a ações do AppleScripts ou do Automator.

    
por 19.11.2009 / 14:36
1

Não acredito que haja uma maneira de fazer isso no Mac OS X sem recorrer a aplicativos de terceiros.

O

Quicksilver é um desses aplicativos de terceiros, e há um excelente tutorial sobre configurações triggers no Quicksilver . Com o Quicksilver, você pode configurá-lo para ativar qualquer programa que queira ativar e, ou mesmo, executar scripts externos que fazem coisas como scripts do Automator.

    
por 19.11.2009 / 05:36