Pantalla desplegable de acceso directo del teclado

1

¿Cómo puedo crear un método abreviado de teclado que invierta mi pantalla al revés?

Sé cómo habilitar esta configuración en las Preferencias del sistema, pero quiero poder vincularla a un acceso directo.

¿Es posible hacer que el mismo método abreviado de teclado haga que la pantalla vuelva a su orientación normal?

    
pregunta theonlygusti 21.03.2018 - 20:53

2 respuestas

5

Lo siguiente se ha probado en macOS Sierra 10.12.5 y macOS High Sierra 10.13.3 , y funciona sin problemas en mi sistema.

Utilizando el ejemplo AppleScript código , de mi respuesta original, guardado como una aplicación AppleScript llamada Mostrar Flip 180 ° y agregada a Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad , para permitirle procesar el código , luego usé un Automator flujo de trabajo del servicio , también denominado Flip Display 180 ° , para abrir la AppleScript aplicación del mismo nombre, al tiempo que asigna el siguiente método abreviado de teclado : ⇧⌃⌘R

  • Tenga en cuenta que el método abreviado de teclado F , que funcionó en OS X 10.8.5 , entró en conflicto con un sistema predeterminado método abreviado de teclado en macOS 10.12.5 , macOS 10.13.3 y por qué lo cambié. Es posible que tenga que usar un método abreviado de teclado y, como de costumbre, tiene que elegir uno que no esté asignado en ninguna aplicación que tenga el enfoque cuando se presione para activar este Automator < em> flujo de trabajo del servicio .

  • También ejecuté el siguiente comando , en Terminal , para no mostrar el Dock Tile para el AppleScript application en el Dock :

    defaults write '/Applications/Flip Display 180°.app/Contents/Info.plist' LSUIElement -bool yes
    

Dicho esto, si la IU para Pantallas en Preferencias del sistema en macOS High Sierra en su sistema es diferente por alguna razón no revelada, el ejemplo AppleScript código deberá modificarse para adaptarse a las diferencias entre lo que funciona en mi sistema y el suyo. Si fuera necesario modificarlo, me imagino que no sería tan difícil descifrarlo.

Las siguientes imágenes muestran los detalles relevantes:

Preferencias del sistema > Pantallas > Mostrar , como se muestra en mi sistema:

AppleScriptaplicación,llamadaFlipDisplay180°:

Automatorflujodetrabajodelservicio,tambiéndenominadoFlipDisplay180°:

Código:open-a'FlipDisplay180°'

Preferenciasdelsistema>Seguridad&Privacidad>Privacidad>Accesibilidad:

Preferenciasdelsistema>Teclado>Accesosdirectos>Servicios>General>FlipDisplay180°

Porelmomento,estoydejandomirespuestaoriginalenlaparteinferiordeestarespuesta,yaquefuncionacomoseindicaenOSX10.8.6ypuedeserbeneficiosoparaotrosusuarios.

Respuestaoriginal:

SéqueestásusandomacOSHighSierrayquizáspuedasusarloquefuncionaparamíenOSX10.8.6.

ElsiguienteejemploAppleScriptcódigoutilizadoenunaEjecutarAppleScriptenunAutomatorflujodetrabajodelserviciovoltealaPantalla180°cuandopresiono:⇧⌃⌘F

ifrunningofapplication"System Preferences" then
    quit application "System Preferences"
    delay 1
end if

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
    delay 1
    tell application "System Events"
        tell pop up button "Rotation:" of tab group 1 of window 1 of application process "System Preferences"
            if (value) contains "Standard" then
                click
                click menu item "180°" of menu 1
                my clickConfirmButton()
            else
                click
                click menu item "Standard" of menu 1
            end if
        end tell
    end tell
    quit
end tell

on clickConfirmButton()
    set wasClicked to false
    repeat until wasClicked
        delay 0.5
        tell application "System Events"
            try
                click button "Confirm" of sheet 1 of window 1 of application process "System Preferences"
                set wasClicked to true
            end try
        end tell
    end repeat
end clickConfirmButton
  • Tenga en cuenta que es posible que deba ajustar el valor de los comandos delay para su sistema, y / o comandos adicionales delay Puede o no puede ser necesario. Ajuste valores de y / o agregue / elimine los comandos delay según corresponda.

Nota: El ejemplo AppleScript código es solo eso y no emplea ningún otro error manejando entonces lo que se muestra y está destinado solo a mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar / usar el manejo de errores según sea necesario / deseado.

Automator flujo de trabajo del servicio :

    
respondido por el user3439894 22.03.2018 - 00:19
0

Este script ha probado en macos 10.14 para los usuarios de chino .

Si está usando otro idioma, modifique el nombre del botón a su idioma.

En el script "LG Ultra HD" significa el nombre de su monitor, esto es útil si tiene más de 2 monitores, de lo contrario, puede reemplazar (first window whose name is "LG Ultra HD") por window 1

if running of application "System Preferences" then
    quit application "System Preferences"
    delay 1
end if

tell application "System Preferences"
    reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
    delay 1
    tell application "System Events"
        tell pop up button "旋转:" of tab group 1 of (first window whose name is "LG Ultra HD") of application process "System Preferences"
            if (value) contains "标准" then
                click
                click menu item "270°" of menu 1
                my clickConfirmButton()
            else
                click
                click menu item "标准" of menu 1
            end if
        end tell
    end tell
    quit
end tell

on clickConfirmButton()
    set wasClicked to false
    set i to 10
    repeat until wasClicked or i ≤ 0
        delay 0.5
        tell application "System Events"
            try
                click button "确认" of sheet 1 of (first window whose name is "LG Ultra HD") of application process "System Preferences"
                set wasClicked to true
            end try
        end tell
        set i to i - 1
    end repeat
end clickConfirmButton
    
respondido por el Vxider 21.08.2018 - 17:07

Lea otras preguntas en las etiquetas