Klavye kısayoluyla Klavye Görüntüleyicisi nasıl gösterilir veya gizlenir?


19

Bir kısayol kullanarak Klavye Görüntüleyicisi'ni görüntülemek ve gizlemek istiyorum.

  • Klavye Görüntüleyicisini klavye kısayoluyla görüntülemenin bir yolu var mı?
  • Belirli bir dile geçtikten sonra Klavye Görüntüleyiciyi otomatik olarak görüntülemenin bir yolu var mı?

İdeal çözüm, Klavyeyi gösteren bir Apple Script'e klavye kısayolu atamak olacaktır.
duci9y

Yanıtlar:


15

Klavye Görüntüleyiciyi Hizmetle Başlatma (Geliştirilmiş)

Klavye Görüntüleyiciyi, Automator ve OS X Services işlevini kullanarak bir kısayolla başlatabilirsiniz.

Klavye Görüntüleyici programı yaşıyor /System/Library/Input Methods/KeyboardViewer.app(Lion'dan önceki sürümlerde olabilir /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app). Basit bir başlatıcı hizmeti oluşturmak için Automator'ı kullanarak bir kısayol tuşuyla açarsınız.

  1. Automator'ı açın ve yeni belgenizin türü olarak Service'i seçin .
  2. "Servis aldığı için (iş akışı alanının üst kısmında) seçeneklerini ayarlayın hiçbir girdi içinde herhangi bir uygulama ".
  3. Ekle Run AppleScript sizin iş akışı için harekete ve aşağıdaki hatları ile yazılmış metni:

    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. Kaydet "Açık Klavye Görüntüleyici", daha sonra açık gibi bir isim ile Klavye Tercihler için Klavye Kısayolları sekmesini. Sol bölmede Hizmetler'i seçin ve Genel Bölüm altında Hizmetinizin adını görmeniz gereken en alta kaydırın.
  5. Kutuyu etkinleştirmek için işaretli olduğundan emin olun, ardından seçin ve kısayol tuşu ayarlamak için kısayol ekle'yi tıklayın .
  6. Kısayol tuşunu ayarladıktan sonra, herhangi bir uygulamada (ör. Finder> Hizmetler) Hizmetler menüsünü açın, ardından kapatın. Herhangi bir nedenle kısayol tuşu bunu yapana kadar çalışmadı.

Birkaç not:

  • Komut dosyası , Evrensel Erişim tercih bölmesindeki Yardımcı aygıtlar için erişimi etkinleştir kutusunu işaretlemenizi gerektirir .
  • Klavye Görüntüleyicisi penceresinin kapatılması aslında uygulamadan çıkmaz ve Lri'nin işaret ettiği gibi, bir miktar kaynak domuzu olabilir, bu nedenle repeatKlavye Görüntüleyicisi'nde açık pencereler varsa döngü her 5 saniyede bir kontrol eder ve süreci.
  • Önceden Lion OS çalıştıran ediyorsanız, olabilecek örneklerini değiştirmeniz gerekiyor KeyboardViewerile KeyboardViewerServer. Ben aslan test etmek için kullanışlı bir şey yok (başka birisi yorumlarda geri rapor olabilir, bu harika olurdu.
  • Komut dosyası, Klavye Görüntüleyicisi kapanana kadar döngüye girdiğinden, Automator dönen dişli simgesi kapanana kadar menü çubuğunda gösterilir.

EVET! Bu tam olarak aradığım şey için. Ben automator ve kabuk-script biliyorum, sadece bir ipucu gerekiyordu. Çok teşekkür ederim ... :)
jm666

Pencerenin kapatılıp kapatılmadığını görmek için bir denetim çalıştıran bir Applescript kullanarak bunu güncelledim ve eğer öyleyse, performans kaybını önlemek için işlemden çıkar. Eski bash tabanlı sürümle ilgilenen herkes bu revizyonu burada bulabilir .
robmathers

Minimal değişiklik ile bu komut değiştirir izleyiciyi. "İf if" ifadesini "else" ile değiştirin ve "else if" ifadesini sonuna kadar taşıyın.
AdamAL

Harika bir çözüm. Ancak, "Klavye Görüntüleyicisini Göster" menü öğesi klavye görüntüleyicinin çalıştığının farkında değil mi? Her ikisini de kullanırsanız, bu tür menü öğesini kırar.
Matt Sephton

/System/Library/Input Methods/KeyboardViewer.appCatalina'da yok. Tüm uygulamaları açtım /System/Library/Input Methodsve hiçbiri klavye görüntüleyicisini açmadı. Herhangi bir fikir?
Indiana Kernick

4

Plugin Ekstra Scripts ait Quicksilver sağlayarak bu işlevselliği sunuyor göster Klavye Viewer.scpt .

Eğer bir Quicksilver Tetikleyici oluşturmak Ayrıca, göster Klavye Viewer.scpt eylem ile çalıştırın , daha sonra küresel Klavye Görüntüleyici kısayol olsun.

İşte betiğin kaynağı:

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

KeyboardViewer bir AppleScript ile veya openana pencere kapalıysa, Klavye Görüntüleyici işlemi açık kalır ve yaklaşık% 0-20 CPU kullanmaya devam eder.


Genellikle basit komut dosyaları için 3. taraf uygulamalar yüklemekten hoşlanmam, ancak bu bir istisnadır . :) Çok teşekkür ederim, bir cazibe gibi çalışıyor. ;)
jm666

3. taraf yazılımlardan kaçınmak istiyorsanız, yerleşik yazılımla aynı şeyi yapacak bir cevap gönderdim.
robmathers

sry mach, @CanuckSkier daha çok sevdiğim bir cevap gönderdi, bu yüzden cevabını kabul etti. QuickSilver için yine de +1. ;)
jm666

4

Bu konuyu bulduğuma sevindim. Yukarıdaki cevaplara dayanarak, Keyboard Viewer'ı değiştiren bir Alfred uzantı komut dosyası yaptım.

https://dl.dropbox.com/u/29440342/linkedFiles/Keyboard%20Viewer.alfredextension

Aşağıdaki applecript'i çalıştırarak Klavye Görüntüleyiciyi açıp kapatan alfred "kv" anahtar sözcüğünü sağlar:

-- 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

Kaçınılması gereken performans sorunları yaşama ihtimalim varsa, alternatif bir uygulamayı açıkladım.


1
Bozuk bağlantı. Tekrar göndermek için çok nazik misiniz? Bu kullanacağım bir Alfred İş Akışı.
ddaa

İşte başlıyoruz, yeniden uyguladım (ve ayrıca Cmd + Alt + Ctrl + Shift + K klavye kısayolu ekledim): packal.org/workflow/toggle-keyboard-viewer-0
Matt Sephton 16:18

3

BetterTouchTool ile aşağıdakileri yapmak için bir yol buldum:

  • Klavye Görüntüleyiciyi bir kısayol ile etkinleştirme
  • Klavye Görüntüleyiciyi başka bir kısayol ile kapatma
  • Klavye Görüntüleyiciyi bir kısayol ile aç / kapat (önceki ikisine gerek yok)
  • Kolaylık sağlamak için AppleScript'i de yükledim

Platform: rMBP Mountain Lion OSX 10.8


Klavye Görüntüleyiciyi bir kısayol ile etkinleştirme

  • BetterTouchTool'u başlat
  • Klavye kısayolu ekle
  • Önceden tanımlı eylem ekle >> Uygulamayı / Dosya / Betiği Aç ...
  • Macintosh HD / Sistem / Kütüphane / Giriş Yöntemleri /
  • KeyboardViewer'ı seçin

Artık ek bir komut dosyası olmadan görüntüleyiciyi etkinleştirmek için bir klavye kısayolunuz var.

Ancak, kırmızı X düğmesine basmanın uygulamadan gerçekten çıkmadığını fark ettim, bu da klavye görüntüleyicinin yalnızca bir kez etkinleştirileceği anlamına gelir. Bu yüzden programdan çıkmak için bir komut dosyası oluşturmanız gerekir.

Bu sorunu gidermek için:


Klavye Görüntüleyiciyi başka bir klavye kısayoluyla kapatın

  • Automator'u Aç
  • Belge türü olarak Uygulamayı seçin
  • RunAppleScript Ekle
  • Nerede (* Betiğiniz buraya gelir *), yerine quit application "KeyboardViewer"
  • Belgelerde veya istediğiniz herhangi bir yerde derleyin ve kaydedin (KeyboardViewer ile aynı konuma taşıdım)
  • BetterTouchTool'u açın
  • Klavye kısayolu ekle
  • Önceden tanımlı eylem ekle >> Uygulamayı / Dosya / Betiği Aç ...
  • Yeni kaydettiğiniz uygulama dosyasını bulun

Artık etkinleştirildikten sonra KeyBoard görüntüleyiciden çıkmanın bir yolu var. Kırmızı X düğmesi yerine kullanın. X düğmesine bastığınızda klavye görüntüleyicinin neden tamamen çıkmadığını anlayana kadar, bu sizin çözümünüz olmalıdır.

DÜZENLE

Ben klavye görüntüleyiciyi TOGGLE için bir yol bulduk !!


Bir klavye kısayoluyla TOGGLE KLAVYE GÖRÜNTÜLEYİCİ

önceki işlemle aynıdır ancak kod değiştirilmiştir:

  • Automator'u Aç
  • Belge türü olarak Uygulamayı seçin
  • RunAppleScript Ekle
  • Nerede (* Betiğiniz buraya gelir *), yerine
  if application "KeyboardViewer" is running then
      quit application "KeyboardViewer"
  else
      activate application "KeyboardViewer"
  end if
  • Belgelerde veya istediğiniz herhangi bir yerde derleyin ve kaydedin (KeyboardViewer ile aynı konuma taşıdım)
  • BetterTouchTool'u açın
  • Klavye kısayolu ekle
  • Önceden tanımlı eylem ekle >> Uygulamayı / Dosya / Betiği Aç ...
  • Yeni kaydettiğiniz uygulama dosyasını bulun

Şimdi Klavye Görüntüleyicisi değiştirildi ve birden fazla kısayol atamanıza bile gerek yok!


AppleScript bağlantısı

Yukarıdaki tüm kodlama adımlarını yapmak yerine uygulamayı daha hızlı erişim için çevrimiçi yükledim (sadece bu uygulamayı BetterTouchTool ile etkinleştirin) Ancak, tanımlanmış bir yayıncı olmadığımdan, işletim sisteminiz güvenlik tercihlerinize bağlı olarak bu uygulamayı çalıştırmayı engelleyebilir. Dolayısıyla, kimliği belirsiz yayıncılardan uygulama çalıştırmamayı tercih ederseniz, kendi uygulamanızı oluşturmak için yukarıdaki adımları uygulamanız yeterlidir!

Dosya bağlantısı: https://www.box.com/s/e2461c91e30e0af025e7


Umarım bana yardım ettiği gibi herkese yardımcı olur :)


fantastik!! KeyboardViewer uygulamasını doğrudan başlatma çubuğu dizinime eklemenin benim amacım için iyi bir alternatif olacağını düşündüm, ancak çalıştıktan sonra kbv'yi kapatma seçeneği yok! yani, ikinci kez çağıramazsın - garip. neyse senaryonuz bir tedavi çalışıyor! (Bir senaryo olarak kaydetmek zorunda kaldım / sadece benim için çalışabilmesi için.) Tx!
ptim

Sevindim @memeLab o :) sizin için çalışmış
Render

3

Bu, ana pencere kapatıldıktan sonra kapat düğmesini tıklatarak da işe yarar:

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

Klavye Görüntüleyicisi AppleScript ile açılırsa open -a KeyboardViewerve ana pencere kapatılırsa, işlem açık kalır ve yaklaşık% 0-15 CPU kullanmaya devam eder. Giriş menüsünden Klavye Görüntüleyicisini Göster seçildiğinde gerçekleşmez. Bu yüzden menü öğesini tıklamak daha iyi bir seçenek olabilir:

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

Her iki komut dosyasının da erişilebilirlik tercihi bölmesinde yardımcı cihazların etkinleştirilmesi gerekir.


2

Tek vuruşlu bir kısayol değil, ancak menü çubuğunun sağ tarafındaki " Durum menüsü " simgelerine odaklanmak için " mouse olmayan" bir çözüm Fn+ Ctrl+ . ( Bölüm 4 )F8

resim açıklamasını buraya girin

Oklar sizi Klavye Tercihleri ​​simgesine ve Göster / Gizle seçeneklerine götürür. Girdiğin zamanFnMenü çubuğunun sağ yarısında bulunan "Durum menüsü" simgelerinin en solundaki + Ctrl+ F8simgesini vurgulanır. Seçildikten sonra, Right Arrow →istediğiniz birine gitmek için düğmesini kullanın . Down Arrow ↓Menüyü açmak için tuşunu kullanın ve istediğiniz seçeneği seçin. OptionTuşun, bazı "durum menüleri" nde farklı menü seçeneklerini sunacağını unutmayın .

resim açıklamasını buraya girin

Unutmayın ki, Fn+ Ctrl+ F2sol taraftaki Elma menüsü simgesini  aktive edecek. Oradan Right Arrow →Uygulama menüsüne erişmenizi sağlayacaktır. Bu seçenekler Sistem Tercihleri ​​>> Klavye >> Kısayollar :: Klavye'de mevcuttur:

resim açıklamasını buraya girin

İşlev tuşlarınızı nasıl yapılandırdığınıza Fnbağlı olarak, isteğe bağlıdır.

resim açıklamasını buraya girin

MacOS Sierra'da buna yardımcı olması için Siri'yi de kullanabilirsiniz. Siri'yi Sistem Tercihleri ​​>> Siri :: Klavye Kısayolundan seçtiğiniz klavye kısayoluyla çağırın, örneğin Option+Spacebar

resim açıklamasını buraya girin

... sonra "Klavye Görüntüleyiciyi Aç" deyin

resim açıklamasını buraya girin

... ve işte:

resim açıklamasını buraya girin

Ne yazık ki, Siri Klavye Görüntüleyiciyi kapatmayacak ve Command⌘+w


0

Automator ile her şeyi yapabilirsiniz:

  1. Automator'ı açın ve "Uygulama" yı seçin
  2. Kitaplığın üst kısmında "Uygulamayı başlat" ı bulun, çift tıklayın
  3. "diğer" öğesini seçin ve / Sistem / Kütüphane / Giriş Yöntemleri içindeki KeyboardViewer dosyasına gidin
  4. "Klavyeyi başlat" gibi bir adla kaydedin. Dene.

sonraki bölüm klavyeyi kapatmaktır:

  1. Automator'ı açın ve "Uygulama" yı seçin
  2. Kitaplığın üst kısmında "Uygulamadan çık" ı bulun, çift tıklayın
  3. "diğer" öğesini seçin ve / Sistem / Kütüphane / Giriş Yöntemleri içindeki KeyboardViewer dosyasına gidin

  4. "Klavye bırak" gibi bir adla kaydedin. Dene.

şimdi biri açık, biri yakın olmak üzere iki dosyaya sahip olacaksınız.

tek ihtiyacınız bu iki dosyayı başlatmak için fare düğmelerini ilişkilendirmek!

örneğin, Microsoft Bluetooth Notebook Mouse 5000 kullanıyorum ve

10.9.1'de benim için harika çalışıyor


0

Etkinlik İzleyicisi, KeyboardViewer.app,

Bulucu konumu: / Sistem / Kütüphane / Giriş Yöntemleri / KeyboardViewer.app .

Normal kullanım: Menü Çubuğundan aç, (x) kapat düğmesinin tıklanabileceği pencere düğmelerini görüntülemek için fareyle üzerine gelindiğinde kapatın . Menü Çubuğu panelini, Sistem Tercihleri , Klavye , Klavye sekmesini etkinleştirmek için menü çubuğunda Klavye ve Emoji Görüntüleyicilerini Göster'i seçin .

KeyboardViewer uygulaması kısıtlayıcı davranışlar gösterir.

  1. Uygulama penceresi ⌘-Q , ⌘-W öğesine yanıt vermiyor .
  2. Garip bir şekilde, Giriş Yöntemleri klasöründen açıldığında , Etkinlik Monitörü, pencerenin kapatılmasından sonra uygulamanın çalışmaya devam ettiğini gösterir.
  3. Aşağıda gösterilen Automator AppleScript arka planda yavaş çalışır, klavye hizmetlerinin Etkinlik Monitörüne açma ve kapatma eylemlerini kaydetmesi birkaç saniye alır.
  4. Aşağıda gösterilen klavye kısayol komut dosyası hatasız çalışıyor ancak sistem yok sayılıyor.
  5. Sierra Automator's Quit Uygulaması KeyboardViewer.app uygulamasını kapatmayacak

Aşağıdaki Automator betiği, KeyboardViewer.app uygulamasını tek bir tıklama ile açmak veya kapatmak için bir uygulama olarak kaydedilebilir (Etkinlik Monitörü de bu açma-kapama etkinliğini gösterir) ve Dock'a yerleştirildiğinde iyi çalışır.

Automator: Yeni , Uygulama , AppleScript'i çalıştırın , bu komut dosyasını kaydedin

-- 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

Ne yazık ki, bu bir klavye kısayolu eklemez. Ancak, tek tıklamayla bir geçici çözüm sunar. Automator'ı kullanarak klavye kısayolu eklemenin bir yolu olabilir. Genel bir kısayol komut dosyası şuna benzer (ancak nasıl dahil edileceğinden emin değilim).

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

(MP 6,1'de macOS Sierra 10.12.6)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.