É possível criar um atalho no Mountain Lion para um clique do mouse em uma área específica da tela?

2

Atualmente estou avaliando a qualidade de vários 10000s de arquivos contendo perfis de batimentos cardíacos de um gastrópode (sim!).

Para completar esta tarefa eu usei o R para programar uma interface que me permite plotar um arquivo, decidir se ele é bom ou ruim (há muitas coisas que dão errado ao capturar a batida do coração ...), clique em o botão apropriado (OK vs BAD) e prossiga com o gráfico do próximo arquivo.

Esta é a interface que eu tenho que usar (não há substituto para isso), e não há nenhum trabalho em torno da necessidade de clicar em qualquer um dos botões (nenhuma maneira de criar um atalho para esse botão). Eu poderia usar TAB para percorrer os botões, mas isso é totalmente impraticável, pois ele também percorre os botões da janela (ARQUIVO, EDITAR, etc.).

Dada a anterior, gostaria de saber se existe uma maneira de criar um atalho de teclado para simular um clique em um lugar específico na tela ... dessa maneira eu poderia configurar 2 atalhos para os lugares onde estão os botões, o que me permite pressionar, por exemplo, OPTION + G para arquivos bons e OPTION + B para arquivos ruins sem ter que guiar o mouse até o botão real (lembre que eu terei que fazer isso > 80000 vezes ...) Muito obrigado antecipadamente!

    
por ruisea 25.01.2013 / 01:21

3 respostas

0

Tente atribuir um atalho para um script como este:

tell application "System Events"
    tell (process 1 where frontmost is true)
        click at {60, 5}
    end tell
end tell

Ou clicando nos botões diretamente:

tell application "System Events"
    tell process "AppName"
        -- UI elements of window 1
        click button 2 of window 1
    end tell
end tell
    
por 25.01.2013 / 09:25
1

Acho que isso significa que eu deveria ter feito uma pesquisa ainda mais completa antes de postar a pergunta, mas acredito que isso também seja útil para outros usuários, por isso nem tudo está perdido.

Enquanto aguardava as respostas, e depois de me sentir pressionado pelo MaQleod a pesquisar um pouco mais sobre rotinas de automação que poderiam fazer o que eu precisava, encontrei uma solução.

Eu encontrei este pequeno aplicativo shell / terminal chamado "cliclick" (download do link ). Permite realizar comandos do mouse via Terminal com muita facilidade.

Em seguida, acionei o automator e criei o seguinte script de automação de serviço:

  • o serviço não recebe entrada
  • usou uma ação de 'executar shell script'
  • eu deletei a string 'cat' que aparece automaticamente
  • eu digitei 'cliclick-w 100 m: 970,870 c:'.
    • '- w 100' = aguarde 100 milissegundos após cada etapa
    • 'm: 970,870' = move o mouse para x = 970 ey = 870
    • 'c :.' = clique na posição atual

Eu tenho as coordenadas simplesmente usando o atalho COMMAND + SHIFT + 4, que imediatamente transforma o ponteiro do mouse em uma cruz que também exibe as coordenadas da tela ...

Com este pequeno script salvo como um serviço, eu tive que ir em Preferências do Sistema / Teclado / Atalhos de Teclado / Serviço, procurar por meus serviços de automação recém-salvos e definir um atalho de teclado, e voilá!

Espero que outra pessoa ache isso útil.

    
por 25.01.2013 / 10:41
0

Acho que você precisa usar xdotool

É unix, muito bem documentado, e desde que você é um programador, eu acho que você não terá nenhum problema em instalá-lo. Eu adoraria ouvir como funciona em um Mac.

    
por 25.01.2013 / 04:36