Sierra Automator KeyboardViewer App Shortcut

0

L'app KeyboardViewer viene salvata da questo AppleScript.

on run {input, parameters}
    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    else 
        activate application "KeyboardViewer"
    end if
    return input
end run

Attiva / disattiva il salvataggio. L'aggiunta di una scorciatoia sopra, richiede un po 'di lavoro ...

Errore di sintassi Impossibile impostare l'applicazione "KeyboardViewer" su qualche oggetto. Accesso non consentito.

tell application "System Events"
    set application "KeyboardViewer" to (keystroke "K" using control down)
end tell
    
posta mark stewart 25.10.2017 - 00:56
fonte

2 risposte

1

Grazie a tutti! process whose frontmost is true and visible is true ha congelato il Viewer della tastiera dietro una finestra del Finder che si è bloccata - 2 si blocca in 2 giorni. Seguendo sembra funzionare abbastanza bene, in macOS 10.13.2. Aggiungi semplicemente delay 1 .

    on run {input, parameters}
        if application "KeyboardViewer" is running then
            quit application "KeyboardViewer"
            delay 1
        else if application "KeyboardViewer" is not running then
            activate application "KeyboardViewer"
        end if
        return input
    end run
    
risposta data 16.12.2017 - 12:09
fonte
0

Se desideri assegnare una scorciatoia da tastiera a un'applicazione AppleScript , dovrai farlo come Servizio Automator . Tuttavia, uno dei problemi in cui ti imbatti, quando Keyboard Viewer è attivo, mangerà la scorciatoia da tastiera e non chiuderà Visualizzatore tastiera . Dovresti mettere a fuoco Keyboard Viewer in modo che Automator Service chiuda Keyboard Viewer .

Il seguente codice AppleScript lo fa, a patto che tu non abbia impostato lo stato attivo dopo l'apertura o resettato altrove se lo hai fatto.

on run
    tell application "System Events"
        set activeApp to name of first application process whose frontmost is true and visible is true
    end tell
    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    else
        activate application "KeyboardViewer"
    end if
    tell application activeApp to activate
end run

In Automator crea un nuovo servizio flusso di lavoro con la seguente impostazione:

  • Il servizio non riceve input in nessuna applicazione
  • Aggiungi a Esegui AppleScript azione .
    • Sostituisci il codice predefinito con il codice sopra.
    • Fai clic sul pulsante Compila (icona Hammer).
  • Salva come ad es .: Attiva / disattiva Visualizzatore tastiera
  • In Preferenze di sistema > Tastiera > Servizi > Scelte rapide > servizi
    • Trova ad es. Attiva / disattiva Visualizzatore tastiera e assegnagli un collegamento .
    • L'ho dato: ⌥⌘K

Nota: trovare una scorciatoia da tastiera che non è già stata presa da un'altra app può essere una sfida. In questo caso d'uso, qualsiasi applicazione che ha il focus quando ad es. ⌥⌘K viene premuto, andrà al comando assegnato dalla app prima di passare al servizio e.g .: Attiva / disattiva il visualizzatore della tastiera . Potresti dover accedere a un tasto della tastiera a quattro tasti, ad esempio ^ ⌥⌘K

    
risposta data 25.10.2017 - 02:05
fonte

Leggi altre domande sui tag