Posso mostrare automaticamente il visualizzatore della tastiera su determinati layout?

3

Lavoro solo con alfabeti non ASCII come l'ebraico e il greco, quindi ho i layout di tastiera appropriati disponibili nella lingua e nel menu di testo nel pannello superiore. Tuttavia, non conosco ancora tutti i caratteri, quindi devo visualizzare il visualizzatore della tastiera quando voglio digitare in quelle lingue in modo da poter cercare i personaggi che voglio. C'è un modo per far apparire automaticamente il visualizzatore della tastiera quando vengono selezionati determinati layout di tastiera e quindi farlo andare via quando torno alla normalità?

    
posta zpletan 02.11.2011 - 01:33
fonte

1 risposta

1

OK, a partire da un post su SuperUser , ecco qui:

È possibile creare AppleScript per passare alle varie lingue. Se crei servizi che non accettano nulla e chiamano solo questo script, vivranno tutti felici nel menu Servizi quando li desideri. Altrimenti, usa il metodo di attivazione di AppleScript.

Per passare a, diciamo, in greco e visualizzare il visualizzatore tastiera quando lo fai, esegui questo script:

 tell application "System Events"
     if exists process "Keyboard Viewer" then
         display alert "running"
         try
             tell application "KeyboardViewer" to quit
         end try
     end if
 end tell
 tell application "Finder"
     open item "System:Library:Input Methods:KeyboardViewer.app" of the startup disk
 end tell
 changeKeyboardLayout("Greek")

 on changeKeyboardLayout(layoutName)
     tell application "System Events" to tell process "SystemUIServer"
         tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
     end tell
 end changeKeyboardLayout

Per tornare al layout degli Stati Uniti, uccidi il visualizzatore quando lo fai, usa questo:

 tell application "System Events"
     if exists process "Keyboard Viewer" then
         display alert "running"
         try
             tell application "KeyboardViewer" to quit
         end try
     end if
 end tell
 changeKeyboardLayout("U.S.")

 on changeKeyboardLayout(layoutName)
     tell application "System Events" to tell process "SystemUIServer"
         tell (1st menu bar item of menu bar 1 whose description is "text input") to {click, click (menu 1's menu item layoutName)}
     end tell
 end changeKeyboardLayout

Sostituisci i nomi dei layout di tastiera che desideri nel comando changeKeyboardLayout("layout name") .

    
risposta data 16.12.2011 - 03:16
fonte

Leggi altre domande sui tag