Come mostrare o nascondere Keyboard Viewer con una scorciatoia da tastiera?

14

Vorrei mostrare e nascondere il Visualizzatore tastiera usando una scorciatoia.

  • C'è un modo per visualizzare il Keyboard Viewer tramite una scorciatoia da tastiera?
  • C'è un modo per visualizzare automaticamente il Visualizzatore tastiera una volta che passo a una lingua specifica?
posta Render 07.08.2012 - 17:02
fonte

8 risposte

3

Ho trovato un modo attraverso BetterTouchTool per fare quanto segue:

  • Attiva Keyboard Viewer con un collegamento
  • Chiudi Keyboard Viewer con un altro collegamento
  • Attiva / disattiva il Visualizzatore tastiera con una scorciatoia (non è necessario per i due precedenti)
  • Ho anche caricato l'AppleScript per comodità

Piattaforma: rMBP Mountain Lion OSX 10.8

Attiva Keyboard Viewer con un collegamento

  • Avvia BetterTouchTool
  • Aggiungi scorciatoia da tastiera
  • Aggiungi azione predefinita > > Apri applicazione / file / script ...
  • Vai a Macintosh HD / Sistema / Libreria / Metodi di input /
  • Seleziona KeyboardViewer

Ora hai una scorciatoia da tastiera per attivare il visualizzatore senza uno script aggiuntivo.

TUTTAVIA, ho notato che premendo il pulsante X rosso non si esce effettivamente dall'applicazione, il che significa che il visualizzatore tastiera verrà attivato una volta sola. Quindi è necessario creare uno script per uscire dal programma.

Per risolvere questo problema:

Chiudi Keyboard Viewer con un'altra scorciatoia da tastiera

  • Apri Automator
  • Scegli l'applicazione come tipo di documento
  • Aggiungi RunAppleScript
  • Dove si dice (* Lo script va qui *), sostituirlo con quit application "KeyboardViewer"
  • Compilare e salvare come nei documenti o ovunque si desideri (l'ho spostato nella stessa posizione di KeyboardViewer)
  • Apri BetterTouchTool
  • Aggiungi scorciatoia da tastiera
  • Aggiungi azione predefinita > > Apri applicazione / file / script ...
  • Trova il file dell'applicazione che hai appena salvato

Ora hai un modo per uscire definitivamente dal visualizzatore KeyBoard una volta attivato. Usalo al posto del pulsante X rosso. Finché non capisco perché il visualizzatore tastiera non si chiude completamente quando si preme il pulsante X, questa dovrebbe essere la soluzione.

Modifica

Ho trovato un modo per TOGGLE il visualizzatore tastiera !!

TOGGLE KEYBOARD VIEWER con una scorciatoia da tastiera

stesso processo di prima ma il codice è cambiato:

  • Apri Automator
  • Scegli l'applicazione come tipo di documento
  • Aggiungi RunAppleScript
  • Dove dice (* Lo script va qui *), sostituirlo con
  if application "KeyboardViewer" is running then
      quit application "KeyboardViewer"
  else
      activate application "KeyboardViewer"
  end if
  • Compilare e salvare come nei documenti o ovunque si desideri (l'ho spostato nella stessa posizione di KeyboardViewer)
  • Apri BetterTouchTool
  • Aggiungi scorciatoia da tastiera
  • Aggiungi azione predefinita > > Apri applicazione / file / script ...
  • Trova il file dell'applicazione che hai appena salvato

Ora il Keyboard Viewer è attivato e non hai nemmeno bisogno di assegnare più scorciatoie!

Link per AppleScript

Ho caricato l'app online per un accesso più rapido piuttosto che per l'intera procedura di codifica descritta sopra (è sufficiente attivare questa app tramite BetterTouchTool) Tuttavia, poiché non sono un editore identificato, il tuo sistema operativo potrebbe bloccare l'esecuzione di questa app, a seconda delle tue preferenze di sicurezza. Quindi, se preferisci non eseguire app da editori non identificati, segui i passaggi precedenti per creare la tua app!

Link al file: link

Spero che aiuti chiunque come mi ha aiutato :)

    
risposta data 08.08.2012 - 11:56
fonte
13

Avvia Keyboard Viewer con un servizio (Migliorato)

È possibile avviare Keyboard Viewer con un collegamento utilizzando Automator e la funzionalità Servizi OS X.

Il programma Keyboard Viewer vive a /System/Library/Input Methods/KeyboardViewer.app (nelle versioni precedenti a Lion, potrebbe essere a /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app ). Lo apri con un tasto di scelta rapida utilizzando Automator per creare un semplice servizio di avvio.

  1. Apri Automator e seleziona Servizio come tipo del nuovo documento.
  2. Imposta le opzioni (nella parte superiore dell'area del flusso di lavoro) su "Il servizio riceve nessun input in qualsiasi applicazione ".
  3. Aggiungi l'azione Esegui AppleScript al tuo flusso di lavoro e sostituisci il testo con le seguenti righe:

    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    end if
    
    activate application "KeyboardViewer"
    
    -- wait until the window has been closed, then end the KeyboardViewer process
    set numberOfWindows to 1
    repeat until numberOfWindows = 0
        delay 5
        tell application "System Events"
            tell process "KeyboardViewer"
                set numberOfWindows to count windows
            end tell
        end tell
    end repeat
    quit application "KeyboardViewer"
    
  4. Salva con un nome come "Apri Visualizzatore tastiera", quindi apri Preferenze tastiera alla scheda Tasti di scelta rapida . Seleziona Servizi nel riquadro di sinistra e scorri verso il basso, dove dovresti vedere il nome del tuo servizio nella sezione Generale.
  5. Assicurati che la casella sia selezionata per attivarla, quindi selezionala e fai clic su aggiungi collegamento per impostare un tasto di scelta rapida.
  6. Dopo aver impostato il tasto di scelta rapida, apri il menu Servizi in qualsiasi applicazione (ad esempio Finder > Servizi), quindi chiudilo. Per qualche motivo il mio tasto di scelta rapida non ha funzionato fino a quando non l'ho fatto.

Un paio di note:

  • Lo script richiede di selezionare la casella Abilita accesso per i dispositivi ausiliari nel riquadro delle preferenze Accesso universale .
  • Chiudere la finestra di Keyboard Viewer in realtà non chiude l'applicazione e, come sottolinea Lri, può essere un po 'un maiale di risorse, quindi il ciclo repeat controlla ogni 5 secondi se Keyboard Viewer ha finestre aperte, e se no, chiude il processo.
  • Se stai utilizzando un sistema operativo pre-Lion, potresti dovrai sostituire le istanze di KeyboardViewer con KeyboardViewerServer . Non ho a disposizione nulla di pre-Lion per testarlo (se qualcun altro potrebbe riportarlo nei commenti, sarebbe fantastico.
  • Poiché lo script scorre fino a quando non viene chiuso il Visualizzatore tastiera, l'icona della ruota dentata Automator viene visualizzata nella barra dei menu fino a quando non si chiude.
risposta data 30.08.2012 - 19:31
fonte
4

Il Plugin Script aggiuntivi di Quicksilver offre questa funzionalità fornendo Mostra Keyboard Viewer.scpt .

Inoltre, quando crei un trigger Quicksilver per Mostra Keyboard Viewer.scpt con l'azione Esegui , otterrai il tasto di scelta rapida globale di Keyboard Viewer.

Ecco la fonte dello script:

property theApplication : "KeyboardViewer"
property thePath : "/System/Library/Input Methods/KeyboardViewer.app"

set HFSPath to ((POSIX file thePath) as string)
tell application "System Events" to ¬
    set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then
    tell application HFSPath to quit
else
    ignoring application responses
        tell application HFSPath to activate
    end ignoring
end if

Se KeyboardViewer viene aperto con un AppleScript o con open e la finestra principale è chiusa, il processo Keyboard Viewer rimane aperto e continua a utilizzare circa il 0-20% della CPU.

    
risposta data 30.08.2012 - 19:05
fonte
4

Sono contento di aver trovato questo thread. In base alle risposte sopra, ho creato uno script di estensione Alfred che attiva Keyboard Viewer.

link

Fornisce una parola chiave alfred "kv" che attiva e disattiva il Visualizzatore tastiera, eseguendo il seguente applescript:

-- adapted from http://apple.stackexchange.com/a/62532
if application "KeyboardViewer" is running then
    quit application "KeyboardViewer"
else
    activate application "KeyboardViewer"
end if

(*
-- adapted from http://apple.stackexchange.com/a/59986
tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 where description is "text input") of menu bar 1
        click
        click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
    end tell
end tell
*)
-- icon ripped from osx /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

Ho lasciato l'implementazione alternativa commentata, nel caso avessi problemi di prestazioni che si pensava di evitare.

    
risposta data 14.12.2012 - 19:07
fonte
3

Funzionerebbe anche dopo che la finestra principale è stata chiusa facendo clic sul pulsante di chiusura:

if application "KeyboardViewer" is running then
    tell application "System Events" to number of windows of process "KeyboardViewer"
    if result is 0 then
        quit application "KeyboardViewer"
        delay 0.1
        launch application "KeyboardViewer"
    else
        quit application "KeyboardViewer"
    end if
else
    launch application "KeyboardViewer"
end if

Se Keyboard Viewer viene aperto con AppleScript o open -a KeyboardViewer e la finestra principale è chiusa, il processo rimane aperto e continua a utilizzare circa il 0-15% della CPU. Non accade quando si seleziona Mostra Visualizzatore tastiera dal menu di input. Quindi un'opzione migliore potrebbe essere quella di fare clic sulla voce di menu:

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 where description is "text input") of menu bar 1
        click
        click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
    end tell
end tell

Entrambi gli script richiedono l'accesso per abilitare i dispositivi di assistenza nel riquadro delle preferenze di accessibilità.

    
risposta data 07.08.2012 - 18:40
fonte
2

Non è una scorciatoia a colpo unico, ma una soluzione "non-mouse" è Fn + Ctrl + F8 per mettere a fuoco le icone " Menu Stato " sul lato destro della barra dei menu. ( Sezione 4 )

Lefreccetiguiderannoversol'iconaPreferenzetastieraeleopzioniMostra/Nascondi.QuandoinserisciFn+Ctrl+F8l'iconaall'estremitàsinistrapiùlontanadelleiconedel"Menu stato" che si trovano nella metà destra di la barra dei menu verrà evidenziata. Una volta selezionato, usa la Freccia destra → per navigare verso quello che vuoi. Usa la freccia giù ↓ per aprire il menu e selezionare l'opzione desiderata. Nota che il tasto Opzione renderà disponibili diverse opzioni di menu in alcuni dei "menu di stato".

Dinota,Fn+Ctrl+F2attiveràl'iconadelmenuApplesullatosinistro.DalìlaFrecciadestra→tidaràaccessoalmenuApplicazione.QuesteopzionisonodisponibiliinPreferenzediSistema>>Tastiera>>Scorciatoie::tastiera:

Asecondadicomesonoconfiguratiitastifunzione,Fnèfacoltativo.

InmacOSSierrapuoiancheusareSiriperaiutarti.RichiamaSiriconqualsiasiscorciatoiadatastierachesceglitraPreferenzediSistema>>Siri::Sceltarapidadatastiera,adesempioOpzione+Barraspaziatrice

...quindipronuncia"Attiva il Visualizzatore tastiera"

...evoilà:

Sfortunatamente, Siri non chiuderà il Keyboard Viewer, né Command⌘ + w

    
risposta data 05.02.2017 - 18:42
fonte
0

puoi fare tutto da Automator:

  1. apri Automator e seleziona "Applicazione"
  2. nella parte superiore della libreria trova "Avvia applicazione", fai doppio clic su di esso
  3. scegli "altro" e vai al file KeyboardViewer in / Sistema / Libreria / Metodi di input
  4. Salva con un nome come "avvia tastiera". testalo.

la prossima parte è chiudere la tastiera:

  1. apri Automator e seleziona "Applicazione"
  2. nella parte superiore della libreria trova "Esci dall'applicazione", fai doppio clic su di esso
  3. scegli "altro" e vai al file KeyboardViewer in / Sistema / Libreria / Metodi di input

  4. Salva con un nome come "chiudi tastiera". provalo.

ora avrai due file uno per aprire, uno per chiudere.

tutto ciò di cui hai bisogno è associare i pulsanti del mouse per avviare questi due file!

per esempio, sto usando Microsoft Bluetooth Notebook Mouse 5000 e questo

funziona perfettamente per me in 10.9.1

    
risposta data 13.02.2014 - 19:37
fonte
0

Monitoraggio attività, KeyboardViewer.app si avvia da

Posizione del Finder: / Sistema / Libreria / Metodi di input / KeyboardViewer.app .

Uso normale: aperto da Barra dei menu , vicino al passaggio del mouse per visualizzare i pulsanti della finestra in cui è possibile fare clic sul pulsante (x) close . Per abilitare il pannello Barra menu , Preferenze di sistema , Tastiera , Tastiera , seleziona Mostra tastiera ed Emoji Visualizzatori nella barra dei menu .

L'applet KeyboardViewer mostra comportamenti restrittivi.

  1. La finestra dell'applet non risponde a ⌘-Q , ⌘-W .
  2. Stranamente, quando viene aperto dalla cartella Metodi di input , Activity Monitor mostra che l'applet rimane in esecuzione dopo che la sua finestra è stata chiusa.
  3. Automator AppleScript mostrato sotto funziona lentamente in background, i servizi della tastiera impiegano pochi secondi per registrare le azioni aperte e chiuse in Activity Monitor.
  4. Lo script di scelta rapida della tastiera mostrato di seguito viene eseguito senza errori, ma il sistema sembra ignorare.
  5. L'applicazione Esci Quit di Sierra Automator non chiude KeyboardViewer.app

Il seguente script Automator può essere salvato come applicazione per open-close KeyboardViewer.app con un singolo click (Activity Monitor mostra anche questa attività open-close), e funziona bene quando inserito nel Dock.

Automator: Nuovo , Applicazione , Esegui AppleScript , salva questo script

-- see above post, Render
    on run {input, parameters}
        if application "KeyboardViewer" is running then
            quit application "KeyboardViewer"
        else 
            activate application "KeyboardViewer"
        end if
        return input
    end run
-- icon /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

Sfortunatamente, questo non aggiunge una scorciatoia da tastiera. Tuttavia, offre una soluzione alternativa con un clic. Potrebbe esserci un modo per aggiungere una scorciatoia da tastiera usando Automator. Uno script di collegamento generale ha un aspetto simile a questo (ma non è sicuro di come incorporarlo).

tell application "System Events"
    set application "KeyboardViewer" to keystroke "K" using control down
end tell

(macOS Sierra 10.12.6 su MP 6,1)

    
risposta data 24.10.2017 - 16:57
fonte

Leggi altre domande sui tag