Attiva / disattiva "Usa tutto F1, F2 come tasti standard" tramite script

23

Attivo molto spesso l'impostazione "Usa tutti i tasti F1, F2 come tasti standard" e vorrei automatizzarla tramite uno script (o una scorciatoia da tastiera). È possibile? Ho provato a Google gli argomenti giusti per defaults write ... ma senza successo.

Aggiornamento:Hofinitopercreare link in base alle risposte qui.

Aggiornamento II: Ora c'è anche - link - una bell'app di menubar che ti permette di cambia automaticamente il comportamento dei tasti fn della tastiera a seconda dell'applicazione attiva.

    
posta Jakub 03.08.2012 - 01:09
fonte

6 risposte

24
tell application "System Preferences"
    reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"

Potresti anche utilizzare defaults write -g com.apple.keyboard.fnState -bool true , ma non conosco alcun modo per applicare le modifiche senza disconnettermi e tornare di nuovo.

    
risposta data 12.08.2012 - 16:42
fonte
9

Non conosco la sceneggiatura, ma con qualche utile reverse engineering e googlilingua, l'ho fatto perché non mi piaceva la roba AppleScript esistente che esisteva:

link

Compiled binary (Toss nel tuo PATH o se non sai che cos'è allora /usr/local/bin/ ): link

Chiamalo da qualsiasi cosa (ControlPlane, Automator, sh , ecc.) eseguendo fntoggle on o fntoggle off .

Questo script non richiede l'accessibilità alla GUI per essere attivata. Non richiede inoltre la disconnessione e il ritorno.

    
risposta data 06.02.2014 - 19:52
fonte
4

È possibile leggere lo stato corrente con quanto segue. (1 per i tasti F, 0 per media / luminosità ecc.)

defaults read "Apple Global Domain" "com.apple.keyboard.fnState"

Puoi scriverlo, tuttavia non cambierà fino al tuo riavvio. (Ho provato ad abbattere Dock e Finder invece, senza fortuna)

defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "1" ## F1 F2 etc
defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "0" ## Brightness/Media

Sospetto che qualcuno con più conoscenza su ciò che legge questo file plist possa scrivere uno script per uccidere e riavviare qualsiasi cosa legga questo plist, che dovrebbe far sì che riconosca il cambiamento.

    
risposta data 19.04.2014 - 05:32
fonte
1

In realtà, non è necessario eseguire alcuna app con spotlight o altro, il modo migliore secondo me è:

  1. Crea un nuovo servizio in Automator
  2. Trascina: "Esegui script Apple
  3. Nel "Servizio ricevuto selezionato": seleziona nessun input
  4. Incolla questo codice da questa altra risposta :

    tell application "System Preferences"
    reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
    end tell
    tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
    end tell
    quit application "System Preferences" 
    
  5. Salva come "yourname"

  6. Apri le Preferenze di Sistema → Tastiera → Scorciatoie
  7. Nel menu di sinistra, seleziona: "Servizi"
  8. A destra, scorri fino al generale e assegna al tuo servizio un tasto di scelta rapida unico, io scelgo cmd + maiusc + L

  9. Ecco fatto! Non è molto veloce o altro, ma non è necessario eseguire alcuna app o andare direttamente alle Preferenze.

Addendum: con EL Capitan questo funziona solo quando Automator è a fuoco, altrimenti (ad esempio se invochi lo script tramite una scorciatoia da tastiera) ottieni "L'azione" Esegui AppleScript "un messaggio di errore".

    
risposta data 10.12.2014 - 00:52
fonte
0

Alcuni AppleScript che potrebbero aiutare: Apice per alternare i tasti F1-F11 come tasti funzione - Forum MacRumors

    
risposta data 12.08.2012 - 16:25
fonte
0

Viste tutte le risposte ho applicato la seguente soluzione per Yosemite.

Usando Automator, ho creato un'app con il seguente codice:

tell application "System Preferences"
reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"

Salvalo, aggiungilo alle Applicazioni. Per evitare "l'Editor AppleScript non è consentito l'accesso assistivo", vai su Preferenze di Sistema- > Sicurezza e amp; Privacy > Privacy tocca > Accesso facilitato e aggiungi la tua app.

Se come me preferisci una scorciatoia, in Automator puoi creare un nuovo Apple Script con l'app di avvio e selezionare la tua app. Quindi torna a Preferenze di Sistema- > Tastiera- > Tabelle di scelta rapida- > voce Servizio e alla fine dell'elenco, assegna un collegamento al tuo script.

    
risposta data 23.08.2015 - 12:03
fonte

Leggi altre domande sui tag