Yazdığım bir AppleScript'e klavye kısayolunu nasıl atayabilirim?


43

Bir AppleScript'e klavye kısayolunu nasıl atayabilirim? Office 2011'deki gelen kutusuna otomatik olarak geri dönmek için bir komut dosyası buldum.


1
Bu cevabın işaret ettiği gibi , servisler aracılığıyla atanan klavye kısayolları her zaman tutarlı değildir.
William,

Yanıtlar:


48

Ücretli 3. parti uygulamalar olmadan da mümkündür!
1. Automator'ı açın.
2. Yeni bir Hızlı Eylem yapın.
3. Tüm programlarda 'giriş yok' aldığından emin olun.
4. Apple Script'i Çalıştır'ı seçin ve kodunuzu yazın.
5. Kaydet!

Şimdi Sistem Tercihleri> Klavye> Kısayollar'a gidin. Kenar çubuğundan Servisler'i seçin ve servisinizi bulun. Çift tıklayarak kısayol ekleyin (none).

Son olarak Sistem Tercihleri> Güvenlik> Gizlilik> Erişilebilirlik bölümüne gidin ve kısayolu çalıştırmak için Automator ve tercih edilen uygulamayı ekleyin.


2
Bu son "Nihayet" önemlidir - kaçırmayın ve kafa karıştırıcı bir durumla karşılaşıyorsunuz: "[…] eylemi bir hatayla karşılaştı" iletişim kutusu, sadece sizi daha fazla akıllı hale getirmedi.
ecmanaut

Sorunu çözdüm
William

5
Tercih edilen uygulama ile ne demek istiyorsunuz?
William

"Şimdi go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none)." adımını otomatikleştirmenin bir yolu olsaydı iyi olurdu , bu mümkün olmalı, nasıl olsa bile ...
Sancarn

3
@ Finder'da bir AppleScript yazdıysanız, Erişilebilirlik ayarlarında hem Automator hem de Finder'ı seçmeniz yeterli.
MegaCookie

15

Özet olarak kullanmanız gerekecek:

  • Bir Apple Komut Dosyası çalıştıran bir hizmet oluşturmak için otomat
  • Servise klavye kısayolu atamak için Sistem Tercihleri

Aşağıda her biri için uygulanan adımlar vardır.

1. Automator kullanarak bir servis oluşturun.

  1. Otomatikleştiriciyi Başlat (genellikle Uygulamalar klasörünüzde bulunur)
  2. Dosyaya Git> Yeni
  3. Servis seçip Seç'e tıklayın.
  4. Açılan pencerenin sağ üst köşesinde, Servis açılır listesinden "Giriş yok" seçili olduğundan emin olun
  5. Emin olarak açılan listeden "Herhangi bir uygulama" gösteriyor
  6. Uzun listeyi içeren ikinci sütunda, "AppleScript Çalıştır" ı bulun ve üzerine çift tıklayın.
  7. Bu, sağ AppleScript Çalıştır penceresini ekleyecektir
  8. Şimdi, yerine istediğiniz komut dosyası ile (* Senaryonuz burada * gider)
  9. Hizmeti anlamlı bir ad kullanarak kaydedin (örn. GoToInbox).

Şimdi bir sonraki adıma geçin.

2. Kısayolunuzu oluşturma

  1. Sistem Tercihleri> Klavye> Kısayollar'a gidin.
  2. Kenar çubuğundan Hizmetler'i seçin
  3. Hizmetinizi bulun (sağ taraftaki listede olacaktır)
  4. Servis adına çift tıklayarak bir kısayol ekleyin.
  5. Şimdi Sistem Tercihleri> Güvenlik ve Gizlilik> Gizlilik’e gidin.
  6. Kenar çubuğundan Erişilebilirlik'i seçin
  7. + İşaretini tıklayın (kilitliyse asma kilit kilidini açmanız gerekebilir)
  8. Otomatikleştirici ekleyin.
  9. Bulucu ekle (bunu bulmak için /System/Library/CoreServices/Finder.app adresine gitmeniz gerekir ).
  10. Sistem Tercihlerinizden çıkın.

Şimdi iki şeyi yapabilmelisin:

1. Run servis herhangi herhangi Uygulama menü içinde Hizmetler listesine giderek uygulama (örn Bulucu> Hizmetler, Safari> Hizmetler, TextEdit> Hizmetler, vs) ve oluşturduğunuz hizmeti seçin.

2. Hizmeti çalıştırmak için klavye kısayolunu kullanın.

NOT: Ben farkındayım bazı kullanıcılar klavye kısayolları onlar bir hizmete atandım halde çalışmaya görünmüyor. Bu tamamen başka bir konudur, ancak bu sizin durumunuzda gerçekleşirse, en azından hizmeti kullandığınız herhangi bir uygulamanın içinden çalıştırabilirsiniz.

Nasıl gittiğini bilmeme izin ver.


1
Neden bulucuyu manuel olarak eklemeliyim ve bu genelde hangi uygulamalarda çalışmaz? Bazen, bir utanç olan klavye kısayolunu kaydetmeden önce kayıt yaptırması için komut dosyasını hizmetler altında çalıştırmam gerekiyor gibi görünüyor.
William

2
Evet, benim de değinilen konu Note sonunda genellikle (ama her zaman değil) öncelikle bir hizmetini çalıştıran (ve bazen sadece Hizmetler menüsü yeterlidir erişme) tanınacak klavye kısayolu önce düzeltilmesi olabilir. Bu, uzun süredir var olan son derece sinir bozucu bir hatadır ve kesinlikle Apple'a bir hata raporu göndermenizi öneriyorum . Neden varsayılan olarak eklenmemiş olduğu için Finder'ı manuel olarak eklemek zorunda kalmanıza gelince . Son olarak, sana neyi kastettiğini anlamadım apps genel olarak bu değil işi ne ?
Monomeeth

Bazı uygulamalarda çalışmayan uygulama hakkındaki sorumu görmezden gelme. Servis menüsü altındaki betiği çalıştırıyor görünmektedir bu sorunu giderir ve açıklamanız benim sahip olduğum konuyu açıklar. Neden Automator Finder'ı Erişilebilirlik listesinin altına eklemeliyim ki komutları çalıştırırken bir fark yaratmıyor gibi görünüyor (Bu benim temel sorumdu).
William,

İyi soru! Kısayol oluşturmak için yukarıda 5'ten 9'a kadar olan adımları bulursanız, sizin için gerekli değildir, o zaman bu harika. Ancak, birçok kişinin özel komut dosyalarını çalıştırmak için klavye kısayolları oluşturmasına yardımcı oldum ve bu adımların dahil edilmesinin genellikle bir hata iletisinden kaçındığını gördüm (şu anda ne olduğunu veya hangi koşullarda görüneceğini hatırlamayın). Belki de olmamalıdır varsayılan olarak bu adımları içerir, ancak kesin adımlar MacOS sürümüne göre farklılık gösterir rağmen o (Epeyce yıldır yapıyorum ne - Ben gereğince El Capitan için adımlar dahil yukarıda senin prim).
Monomeeth

5 ila 9 arasındaki adımlar, bir kısayol atamak için tamamen gereksiz olmalıdır, ancak UI Automation özelliklerini kullanıyorsa (fare tıklatmaları ve tuşa basmaları) , tetiklenen komut dosyasının düzgün çalışmasını sağlamak gerekebilir . Ancak, bu son dava tamamen başka bir konudur; Cevabınıza bu adımları ekleyerek iki konuyu birbirine karıştırmamalısınız.
kopischke

9

AppleScripts'e klavye kısayollarını kutudan atayamazsınız. Ancak şunları yapabilirsiniz:

  1. Genel kısayol tuşlarını ayarlamayı ve AppleScripts ( Alfred , Keyboard Maestro , FastScripts - ne istersen alır)) çalıştırılmasını destekleyen bir başlatıcı kullan veya
  2. betiği bir Automator hizmetinde bir AppleScript Çalıştır eylemine yerleştirin . Bir uygulama veya normal bir iş akışı değil, bir servis olması gerektiğini unutmayın: servislere Sistem Tercihleri ​​klavye ayarlarında kısayol tuşları atanabilir.

Sadece @ MegaCookie'nin cevabındaki adımları izleyin .
kopischke

Hangi işletim sistemi sürümüne sahipseniz 10.6.5 mac'umun "Run Apple Script'i çalıştır ve kodunuzu yazın" seçeneği görünmüyor mu?
William

1
“Select AppleScript” değil, cevabımda da belirtildiği gibi - Automator hizmetinize eklemeniz gereken AppleScript Çalıştır eylemi; kütüphaneden eylem alanına sürüklemeniz yeterlidir; bu, size kodunuzu ekleyebileceğiniz bir fonksiyon iskelesi içeren bir metin alanı verir. Ayrıca, @ MegaCookie'nin cevabındaki erişilebilirlik ayarlarının gerekli olduğundan şüpheliyim - bunlar UI Otomasyonu ile ilgili.
kopischke

3

Not: MacOS Mojave'de , Automator'da "Servis" den "Hızlı İşlem" olarak değiştirildi.

  1. cmd+ spaceve "automator" yazın
  2. Seçin: Dosya> Yeni
  3. "Hızlı Eylemler" i seçin
  4. Sol kısımda "applescript" veya "shellscript" veya "javascript" için arama yapın
  5. İstediğiniz eylemi sağ taraf iş akışına sürükleyin
  6. Dosya> İstediğiniz adla kaydedin

İş akışınıza tuş vuruşu eklemek için:

  1. Sistem Tercihlerini Aç
  2. Klavye> Kısayollar'ı seçin.
  3. Soldaki Servisleri Seçin
  4. Yeni oluşturulan servisi bulun ve klavye kısayolu eklemek için "hiçbiri" üzerine çift tıklayın.

Not: Hızlı İşlem yapmazsanız (örneğin "İş Akışı" yaparsanız) Kısayollar listesi bunu algılamaz.
Sridhar Sarnobat

-2

Sistem Tercihleri ​​-> Klavye -> Kısayollar -> yeni bir kısayol ekleyebilirsiniz. Daha sonra komut dosyanızı seçebilirsiniz.

https://support.apple.com/kb/PH18418?locale=en_US


3
Bu işe yaramaz. Bağlandığınız belge , bir uygulamanın menü komutuna nasıl kısayol tuşu (yeniden) atanacağını açıklar .
kopischke

Bozuk link, apple uzun zamandan beri bu tek tıklamayla işlevselliği devre dışı bıraktı, 3. parti uygulamaları içeren 90 tıklamayla bir işlemle değiştirdi.
Eric Leschinski,
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.