Belirli bir giriş kaynağına geçin


23

Mac OS X'te, aktif giriş kaynakları arasında geçiş yapmak için bir klavye kısayolu vardır .

alt metin

Bu geçişi mümkün mü için belirli bir dil? Eğer 3 giriş yönteminiz varsa, 3 kısayol olabilir: Ctrl-1İngilizce, Ctrl-2İspanyolca ve Ctrl-3Rusça.


Klavye düzeni ve arayüz dili bağımsızdır. Arabirim dili yalnızca bir programı yeniden başlattıktan sonra geçerli olduğundan, kısayol ile elde ettiğiniz herhangi bir şey, uygulamaları yine de yeniden başlatma zorunluluğu tarafından reddedilir.
Daniel Beck

Arayüz dillerini değiştirmekle ilgilenmiyorum. Sadece giriş dilleri ilgi çekicidir.
Nikem

Sorunuzu kolaylaştırdım ve açıklığa kavuşturdum. Yanlış bir şey yaptığımı düşünüyorsanız lütfen geri dönün (bunu yaparken yeniyim).
Daniel Beck

Yanıtlar:


7

Size mümkün olan en çirkin "çözüm" ü sunuyorum:

  • Sistem Tercihleri ​​»Universal Access'te yardımcı cihazlar için desteği etkinleştirin ,
  • ve Giriş Tercihleri menüsünün, Sistem Tercihleri ​​»Dil ve Metin içindeki menü çubuğunda gösterilmesi .
  • Sistem Tercihleri ​​»Klavye» Klavye Kısayolları »Klavye ve Metin Girişi bölümündeki Odağı durum menülerine taşımakCtrl-F8 için kısayolun tanımlandığından emin olun .
  • Giriş Kaynakları menüsünün, basılı tutarken sürükleyerek hareket ettirilebilecek en sol menü maddesi olduğundan emin olun Cmd.

AppleScript EditorHer biri aşağıdaki kodla üç komut dosyası kullanın ve yazın:

tell application "System Events"
    key code 100 using control down # press Ctrl-F8
    delay 0.5 # wait a bit, UI might be slow
    key code 125 # press down to open the menu
    keystroke "german" # name of your desired language, in my case tested using German
    key code 36 # press enter
end tell

Dilin adını değiştirerek her dil için bir kez tasarruf edin. Farklı anahtarlar veya atama şey farklı basın istiyorsanız Ctrl-F8anahtar kodları ile, yerine burada . Ayrıca Giriş Kaynakları menüsünü, en sağdaki konumundan bir kaç sağ ok tuşuna basarak da hareket ettirebilirsiniz .

İstediğiniz komut dosyalarını çağırın, örneğin uygulama başlatıcınızı kullanın (Quicksilver, Launchbar vb.) Ya da onları Automator kullanarak Servisler'e sarın ve Sistem Tercihleri ​​»Klavye» Klavye Kısayolları »Servisler'de klavye kısayollarını atayın .


1
@Nikem İşe yaradı mı?
Daniel Beck

1
Evet, işe yaradı.
Nikem,

1
Anda, Daniel, başka bir çözüm seçmiş
olmama

@Nikem Rica ederim. Lütfen bu cevabı yararlı bulursanız, yanındaki "yukarı ok üçgeni" ni tıklayarak cevabımı oylayın. Ayrıca, yanındaki onay işaretini tıklatarak bir yanıtı (en çok sevdiğiniz cevap olduğunu belirterek ve sorunun çözülmüş olduğunu düşünerek) kabul edebilirsiniz. Bu arada, ActionScript Adobe, bu AppleScript.
Daniel Beck

@Daniel Aslında, hangi cevabı önereceğimi bilmiyorum. Benimkini seçtim, ama seninki daha yaygın olarak kullanılabilir ...
Nikem

12

Geçmek istediğiniz Klavye Düzeninin adını bildiğiniz için AppleScript'te biraz daha güzel bir çözüm buldum. Bunun gibi bir işlev oluşturun:

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

ve sonra arayarak

 changeKeyboardLayout("English")
 changeKeyboardLayout("German")

Klavye Düzenlerinin adlarının yerelleştirildiğini, yani bir alman sistemde yukarıdaki örneğin "Englisch" ve "Deutsch" demeleri gerektiğini unutmayın.


Kesinlikle benimkinden daha güzel. AppleScript'imi gerçekten doğru öğrenmeliyim.
Daniel Beck

Bu, uzun yıllar boyunca mükemmel çalıştı ama Catalina ile "giriş metni" menü çubuğunda artık erişilebilir değil gibi görünüyor
Frank Mittelbach

6

Bir seçenek changeInput indirmek ve gibi kabuk komutları için kısayollar atamak olacaktırchangeInput U.S. .

KeyRemap4MacBook'u da kullanabilirsiniz:

<?xml version="1.0"?>
<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>change_inputsources</name>
    <identifier>change_inputsources</identifier>
    <autogen>__KeyToKey__ KeyCode::E, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_ENGLISH</autogen>
    <autogen>__KeyToKey__ KeyCode::H, VK_OPTION | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

Private.xml belgelerine bakın .

VK_CHANGE_INPUTSOURCE_ENGLISH tanımlanır vkchangeinputsourcedef.xml . EventViewer.app'den giriş kaynaklarının kimliklerini görebilirsiniz. Without | ModifierFlag::NONEörneğin ilk ayar ayrıca opsiyon-komuta-E için de geçerli olacak. Anahtar kod değerleri ve önceden tanımlanmış ayarlar için kaynağa bakın .


4

Bunun eski bir soru olduğunu biliyorum. Ancak 2016'nın sonunda bile, basit ve hoş bir çözüm bulamadım. Bu yüzden IMEShortcuts'ı yaptım, Sierra'da çalışıyor. Herhangi bir belirli giriş yöntemi için özelleştirilmiş bir kısayol atayabilirsiniz. Lütfen bir şans ver. Ve siz herhangi bir böcek bulursanız, yardım etmekten memnuniyet duyarım.

Ayrıca, Karabiner (KeyRemap4MacBook olarak bilinir) Mac için harika bir klavye özelleştiricisidir. Fakat bu biraz karmaşık ve şu anda Sierra'dan ayrıldı. Yosemite veya El Capitan kullanıyorsanız, başka bir iyi seçim olacaktır.


IMEShortcuts için teşekkürler! Bu çok hoş. Aktif dili göstermek için menü çubuğuna simgeler eklerseniz (bu yüzden menü çubuğumda yer alan BOTH IMEshortcuts ve uygulama simgesine sahip olmam gerekmeyecek) memnuniyetle 5 $ ya da öderim. Ayrıca, kullanılan simgeyi özelleştirebilmeyi de istiyorum - örneğin, Kanada Fransızcası girişini kullanmak istiyorum, çünkü ABD QWERTY'sine daha yakın, ancak bir Kanada bayrağı için "Fransız" ı sembolize etmediği için bir Fransız bayrağı görmek istiyorum. ben mi. Bu şeyler onu harika yapar!
iconoclast

Uyarı: Geçmişte IMEShortcuts'u daha önce indirmediyseniz (etki alanı kaydı sona ermeden ve krom uzantısı kötü amaçlı yazılım içeren bir çömelme sayfasının yerini almadan önce), adreslenene kadar rockcell.com'dan hiçbir şey almayın.
ecmanaut

1

Beni en çok tatmin eden başka bir çözümüm var. KeyRemap4MacBook klavye düğmelerinizi yeniden eşleştirmenize izin veren bir uygulamadır. Diğer şeylerin yanı sıra, bazıları için ayrıntılı değil, dil değişimine destek veriyor. Bu yüzden bazı özel yapılandırma istediğimi yapar.

Eksileri: - üçüncü taraf uygulaması - şimdilik yalnızca sınırlı dil desteği

Artıları: - Kavramsal olarak biraz UI çalışan komut dosyası daha güzel


Web sitesinde girdi kaynaklarının esnek kullanımı ile ilgili hiçbir şey bulamadım, sadece rusça / ingilizce ile ilgili bazı kodlanmış eylemler gördüm. Ayrıntılı olabilir misiniz?
Daniel Beck

Esnek değil. Sadece ihtiyaç duyduğum diller olan ingilizce ve rusça (ve şimdi estonyanca) geçişini destekliyor. Ayrıca, isteğe bağlı tuş kombinasyonlarını bu işlemlerle eşleştirmenize olanak tanır. Benim durumumda dile geçmek.
Nikem,

Bunu Karabiner ile nasıl kuracağımı bulmakta zorlanıyorum.
Ivan Balashov

1

AppleScript'te sadece cmd + "boşluk" (ya da klavye kaynağını değiştirdiğiniz başka bir şey) kullanmanız gerekir.

Ve ihtiyacınız olan her şey:

    key code 49 using command down

49 - AppleScript için ASCII'de 'boşluk' düğmesinin kodu.

Not: Sistem Tercihleri'nde size AppleScript yardımcı programına erişmeyi unutmayın.


1

Kawa Bulundu - tam olarak ihtiyaçlarınızı karşılamak için oldukça basit bir uygulama. Doğrudan gerekli giriş kaynağına geçmek için kısayolları ayarlayın.


1
Süper Kullanana Hoşgeldiniz. Lütfen Yazılımın Nasıl Tavsiye Edileceğini okuyun ve ardından cevabınızı en azından gerekli minimum bilgileri ( kalın harflerle yazılmış ) içerecek şekilde düzenleyin . Bu bilgiyi içermeyen yayınlar silinebilir. Katkınız için teşekkürler.
Bence Monica

0

Bu bağlantının nasıl yapılacağı ile ilgili bir video var. Zaten "command + space" olan bir hotcake var, ancak spotlight kısayol tuşu da "command + space". Spotlight kısayol tuşu over-overers, böylece dil anahtarı oluşmaz. Bağlantıdaki video kısayol tuşunu nasıl değiştireceğinizi gösterir, böylece kısayol tuşunu değiştirebilirsiniz.

İyi şanslar,


1
Diller arasında nasıl geçiş yapılacağını zaten biliyor , muhtemelen 2'den fazla aktive edildiğinden belirli bir şeye geçmek istiyor .
Daniel Beck

Evet, tam olarak Daniel’in söylediği gibi. 3 giriş dilim var ve belirli bir tane seçmem gerekiyor.
Nikem,

Üzgünüm ... soruyu yanlış anlamış olmalıyım. Kısayol tuşu ile diller arasında geçiş yapmanın bir yolunu bulmaya çalıştığını sanıyordum.
David,
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.