Como atribuir um atalho de teclado a um AppleScript que escrevi?

43

Como atribuir um atalho de teclado a um AppleScript? Encontrei um script para voltar automaticamente à caixa de entrada no Office 2011.

Tom
fonte
11
Conforme indicado por esta resposta, os atalhos de teclado atribuídos por meio de serviços nem sempre são consistentes.
William William

Respostas:

48

Também é possível sem aplicativos pagos de terceiros!
1. Abra o Automator.
2. Faça uma nova ação rápida.
3. Verifique se ele recebe 'nenhuma entrada' em todos os programas.
4. Selecione Executar Apple Script e digite seu código.
5. Salve!

Agora vá para Preferências do Sistema> Teclado> Atalhos. Selecione Serviços na barra lateral e encontre seu serviço. Adicione um atalho clicando duas vezes (none).

Por fim, vá para Preferências do sistema> Segurança> Privacidade> Acessibilidade e adicione o Automator e o aplicativo preferido para executar o atalho.

MegaCookie
fonte
2
Esse último "Finalmente" é importante - perca, e você terá uma caixa de diálogo "A ação [...] encontrou um erro" confusa, apenas oferecendo a você Mostrar o Fluxo de Trabalho, provavelmente não o tornando mais sábio.
ecmanaut
Descobri o problema, o último passo é diferente no meu sistema operacional mizage.com/help/accessibility.html#10.7
William
5
O que você quer dizer com aplicativo preferido?
William William
Seria bom se houvesse uma maneira de automatizar o passo "agora go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none)." Deve ser possível, nenhuma idéia de como embora ...
Sancarn
3
@ William como se você tivesse escrito um AppleScript no Finder, basta selecionar o Automator e o Finder nas configurações de Acessibilidade.
MegaCookie
15

Em resumo, você precisará usar:

  • Automator para criar um serviço que executa um Apple Script
  • Preferências do Sistema para atribuir um atalho de teclado ao serviço

Abaixo estão as etapas envolvidas para cada um.

1. Crie um serviço usando o Automator

  1. Inicie o Automator (geralmente encontrado na pasta Aplicativos)
  2. Vá para Arquivo> Novo
  3. Selecione Serviço e clique em Escolher
  4. No canto superior direito da janela exibida, verifique se "Nenhuma entrada" está selecionada na lista suspensa Serviço recebe
  5. Verifique se a lista suspensa In está mostrando "Qualquer aplicativo"
  6. Na segunda coluna que contém a lista longa, localize "Executar AppleScript" e clique duas vezes nela
  7. Isso adicionará a janela Executar AppleScript à direita
  8. Agora, substitua o (* Seu script vai aqui *) pelo script que você deseja
  9. Salve o serviço usando um nome significativo (por exemplo, GoToInbox).

Agora para o próximo passo.

2. Criando seu atalho

  1. Vá para Preferências do Sistema> Teclado> Atalhos
  2. Selecione Serviços na barra lateral
  3. Encontre seu serviço (ele estará na lista do lado direito)
  4. Adicione um atalho clicando duas vezes no nome do serviço
  5. Agora vá para Preferências do sistema> Segurança e privacidade> Privacidade
  6. Selecione Acessibilidade na barra lateral
  7. Clique no sinal + (pode ser necessário desbloquear o cadeado, se estiver bloqueado)
  8. Adicione o Automator.
  9. Adicionar localizador (para encontrar isso, você precisará navegar para /System/Library/CoreServices/Finder.app ).
  10. Saia das preferências do sistema.

Agora você deve conseguir fazer duas coisas:

1. Execute o serviço a partir de qualquer aplicativo, acessando a lista Serviços em qualquer menu Aplicativo (por exemplo, Localizador> Serviços, Safari> Serviços, Editor de texto> Serviços, etc.) e selecione o serviço que você acabou de criar.

2. Use o atalho do teclado para executar o serviço.

NOTA: Estou ciente de que, para alguns usuários, os atalhos de teclado parecem não funcionar, mesmo que tenham sido atribuídos a um serviço. Esse é outro tópico, mas se isso acontecer no seu caso, pelo menos você poderá executar o serviço a partir de qualquer aplicativo que estiver usando.

Deixe-me saber como você vai.

Monomeeth
fonte
11
Por que devo adicionar o localizador manualmente e em quais aplicativos isso geralmente não funciona? Parece que às vezes tenho que executar o script em serviços para que ele seja registrado antes que ele registre o atalho do teclado, o que é uma pena.
William
2
Sim, o problema que referi na minha nota no final pode frequentemente (mas nem sempre) ser corrigido executando um serviço primeiro (e às vezes basta acessar o menu Serviços) antes que o atalho do teclado seja reconhecido. Este é um bug extremamente irritante que existe há muito tempo e eu certamente recomendo que você envie um relatório de bug para a Apple . Por que você precisa adicionar o Finder manualmente , simplesmente porque não é adicionado por padrão. Por fim, não entendi o que você quis dizer com quais aplicativos isso geralmente não funciona .
Monomeeth
Ignorando minha pergunta sobre o aplicativo não funcionar em alguns aplicativos. Parece que executar o script uma vez no menu Serviço corrige esse problema e sua explicação explica o problema que eu estava tendo. Por que devo adicionar o Automator Finder na lista Acessibilidade, parece que não faz diferença ao executar comandos (essa foi minha pergunta básica)?
William
Boa pergunta! Se você não encontrar as etapas 5 a 9 acima para criar um atalho, isso é ótimo. No entanto, ajudei muitas pessoas a criar atalhos de teclado para executar scripts personalizados e constatei que a inclusão dessas etapas geralmente evita uma mensagem de erro (não se lembre do que é agora ou sob quais circunstâncias ela apareceria). Talvez eu não deva incluir essas etapas por padrão, mas é o que eu faço agora há alguns anos (embora as etapas exatas sejam diferentes, dependendo da sua versão do macOS - acima, incluí as etapas do El Capitan conforme sua recompensa).
Monomeeth
As etapas 5 a 9 devem ser perfeitamente desnecessárias para atribuir um atalho, embora possam ser necessários para que o script acionado seja executado sem problemas se ele usar os recursos de automação da interface do usuário (cliques simulados do mouse e pressionamentos de tecla). No entanto, esse último caso é outra questão inteiramente; você não deve confundir dois problemas, incluindo essas etapas na sua resposta.
Kopischke
9

Você não pode atribuir atalhos de teclado ao AppleScripts imediatamente. No entanto, você pode:

  1. use um iniciador que suporte a configuração de teclas de atalho globais e a execução de AppleScripts ( Alfred , Keyboard Maestro , FastScripts - o que você quiser) ou
  2. coloque o script em uma ação Executar AppleScript dentro de um serviço Automator . Observe que deve ser um serviço, não um aplicativo ou um fluxo de trabalho comum: os serviços podem ser atribuídos com teclas de atalho nas configurações do teclado em Preferências do sistema.
kopischke
fonte
Basta seguir os passos na resposta do @ MegaCookie .
precisa saber é o seguinte
Qual versão do sistema operacional você possui? O mac 10.6.5 parece não ter a opção "Selecione Executar o Apple Script e digite seu código"?
William William
11
Não é "Selecionar Executar AppleScript", é - como observado na minha resposta - a ação Executar AppleScript que você precisa adicionar ao seu serviço Automator; basta arrastá-lo para a área de ação da biblioteca, para obter um campo de texto com um andaime de função ao qual você pode adicionar seu código. Além disso, duvido que as configurações de acessibilidade na resposta do @ MegaCookie sejam necessárias - elas pertencem à automação da interface do usuário.
precisa saber é o seguinte
3

Nota: No macOS Mojave, ele foi renomeado de "Serviço" para "Ação rápida" no Automator.

  1. cmd+ spacee digite "automator"
  2. Selecione: Arquivo> Novo
  3. Selecione "Ações rápidas"
  4. Pesquise no topo da seção esquerda por "applescript" ou "shellscript" ou "javascript"
  5. Arraste a ação desejada para o fluxo de trabalho do lado direito
  6. Arquivo> Salvar com o nome desejado

Para adicionar pressionamento de tecla ao seu fluxo de trabalho:

  1. Abra Preferências do Sistema
  2. Selecione Teclado> Atalhos
  3. Selecione Serviços à esquerda
  4. Encontre o serviço recém-criado e clique duas vezes em "nenhum" para adicionar um atalho de teclado
spencer.sm
fonte
Nota: se você não fizer uma Ação Rápida (por exemplo, um "Fluxo de Trabalho"), a lista de Atalhos não a detectará.
Sridhar Sarnobat 13/11
-2

Você pode ir para Preferências do sistema -> Teclado -> Atalhos -> adicionar um novo atalho. Você pode então selecionar seu script.

https://support.apple.com/kb/PH18418?locale=en_US

Arecibo
fonte
3
Isso não vai funcionar. O documento ao qual você está vinculando descreve como (re) atribuir uma tecla de atalho ao comando de menu de um aplicativo .
Kopischke
Com um link quebrado, a Apple há muito tempo desativou essa funcionalidade de um clique, substituindo-a por uma operação de 90 cliques envolvendo aplicativos de terceiros.
Eric Leschinski