Acceso directo de aplicación Sierra Automator KeyboardViewer

0

La aplicación KeyboardViewer se guarda desde este AppleScript.

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

Dock toggle save. Agregar un atajo a lo anterior, necesita algo de trabajo ...

Error de sintaxis No se puede configurar la aplicación "KeyboardViewer" para algún objeto. Acceso no permitido.

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

2 respuestas

0

Si desea asignar un método abreviado de teclado a una AppleScript aplicación , deberá hacerlo como un Servicio Automator . Sin embargo, uno de los problemas con los que se encontrará, cuando Keyboard Viewer tiene el foco es, se comerá el método abreviado de teclado y no se cerrará Keyboard Viewer . Tendría que alejarse del Visor del teclado para que el Servicio de automatización cierre Visor del teclado .

El siguiente AppleScript código lo hace, siempre que no lo hayas enfocado después de que se abra o lo reinicies en otro lugar si lo hiciste.

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

En Automator cree un nuevo Servicio flujo de trabajo con la siguiente configuración:

  • El servicio no recibe ninguna entrada en ninguna aplicación
  • Agregar una Ejecutar AppleScript acción .
    • Reemplace el código predeterminado con el código anterior.
    • Haz clic en el botón Compilar (icono de Hammer).
  • Guárdalo como, por ejemplo, Alternar visor de teclado
  • En Preferencias del sistema > Teclado > Servicios > Accesos directos > Servicios
    • Buscar , por ejemplo, Alternar el Visor del teclado y asignarle un acceso directo .
    • Lo di: ⌥⌘K

Nota: Encontrar un método abreviado de teclado que no haya sido utilizado por otra aplicación puede ser un desafío. En este caso de uso, cualquier aplicación que tenga foco cuando, por ejemplo, Se presiona ⌥⌘K , irá al comando asignado a la aplicación antes de que vaya al servicio, por ejemplo: Alternar visor de teclado . Es posible que deba ir a un atajo de teclado de cuatro teclas, por ejemplo: ^⌥⌘K

    
respondido por el user3439894 25.10.2017 - 02:05
0

Gracias a todos! process whose frontmost is true and visible is true froze Visor de teclado detrás de una ventana del Finder que también se congeló: 2 bloqueos en 2 días. Lo siguiente parece funcionar bastante bien, en macOS 10.13.2. Simplemente agregue el 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
    
respondido por el mark stewart 16.12.2017 - 12:09

Lea otras preguntas en las etiquetas