Schermata di scorciatoie da tastiera

2

Come posso creare una scorciatoia da tastiera che capovolge il mio schermo?

So come abilitare questa impostazione in Preferenze di Sistema, ma voglio essere in grado di collegarlo a un collegamento.

È possibile fare la stessa scorciatoia da tastiera per riportare il display all'orientamento normale?

    
posta theonlygusti 21.03.2018 - 20:53
fonte

2 risposte

5

Quanto segue è stato testato in macOS Sierra 10.12.5 e macOS High Sierra 10.13.3 e funziona senza alcun problema sul mio sistema.

Uso del esempio AppleScript codice , dalla mia risposta originale, salvato come applicazione AppleScript denominato Mostra flip 180 ° e aggiunto a Preferenze di sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità , in modo da consentirgli di elaborare il codice , ho quindi utilizzato un Automator flusso di lavoro del servizio , anch'esso denominato Mostra flip 180 ° , per aprire l'applicazione AppleScript con lo stesso nome, assegnando la seguente scorciatoia da tastiera : ⇧^⌘R

  • Tieni presente che la scelta rapida da tastiera ⇧^⌘F , che ha funzionato in OS X 10.8.5 , è in conflitto con un sistema default scorciatoia da tastiera sotto macOS 10.12.5 , macOS 10.13.3 e perché l'ho cambiato. Potrebbe essere necessario utilizzare una scorciatoia da tastiera diversa e come al solito devi sceglierne una che non è già stata assegnata in nessuna applicazione che ha lo stato attivo quando viene premuto per attivare questo Automator < em> flusso di lavoro del servizio .

  • Ho anche eseguito il seguente comando , in Terminale , in modo da non mostrare il riquadro del dock per AppleScript applicazione sul Dock :

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

Detto questo, se l'interfaccia utente per Display in Preferenze di sistema in macOS High Sierra sul tuo sistema è diversa per qualche motivo non rivelato, il codice codice AppleScript dovrà essere modificato per adattarsi alle differenze tra ciò che funziona sul mio sistema e il tuo. Se ha bisogno di essere modificato, immagino che non sarebbe così difficile da capire.

Le seguenti immagini mostrano i dettagli rilevanti:

Preferenze di sistema > Display > Visualizza , come mostrato sul mio sistema:

AppleScriptapplicazione,denominataFlipDisplay180°:

Automatorflussodilavorodelservizio,anchedenominatoVisualizzazioneavirgolamobile180°:

Codice:open-a'FlipDisplay180°'

Preferenzedisistema>Sicurezzaeamp;Privacy>Privacy>Accessibilità:

Preferenzedisistema>Tastiera>Scelterapide>Servizi>Generale>Riflettivisualizzazione180°

PerilmomentostolasciandolamiarispostaoriginalenellaparteinferiorediquestarispostainquantofunzionacomeindicatoinOSX10.8.6epotrebbeessereutileperaltriutenti.

Rispostaoriginale:

SochestaiusandomacOSHighSierraeforsepuoiusareciòchefunzionapermeinOSX10.8.6.

IlseguenteesempiocodiceAppleScriptutilizzatoinun'azioneEseguiAppleScriptinunAutomatorflussodilavorodelserviziocapovolgeildisplaydi180°quandopremo:⇧^⌘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
  • Tieni presente che il valore dei delay comandi potrebbe dover essere regolato per il tuo sistema, o ulteriori delay comandi può o non può essere necessario. Regola i valori di e o aggiungi / rimuovi i comandi delay come appropriato.

Nota: il esempio codice AppleScript è proprio questo e non impiega nessun altro errore gestendo quindi cosa viene mostrato e si intende solo per mostrare uno dei molti modi per realizzare un compito. L'onere è sempre sull'utente di aggiungere / utilizzare la gestione degli errori appropriata come necessario / voluto.

Automator flusso di lavoro del servizio :

    
risposta data 22.03.2018 - 00:19
fonte
1

Questo script è stato testato su macos 10.14 per gli utenti cinesi .

Se utilizzi un'altra lingua, modifica il nome del pulsante nella tua lingua.

Nello script "LG Ultra HD" indica il nome del tuo monitor, questo è utile se hai più di 2 monitor, altrimenti puoi sostituire (first window whose name is "LG Ultra HD") di 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
    
risposta data 21.08.2018 - 17:07
fonte

Leggi altre domande sui tag