Bagaimana cara menetapkan pintasan keyboard ke AppleScript yang saya tulis?

43

Bagaimana cara menetapkan pintasan keyboard ke AppleScript? Saya menemukan skrip untuk secara otomatis kembali ke kotak masuk di Office 2011.

Tom
sumber
1
Sebagaimana ditunjukkan oleh jawaban ini, shorcuts keyboard yang diberikan melalui layanan tidak selalu konsisten.
William

Jawaban:

48

Hal ini juga dimungkinkan tanpa aplikasi pihak ke-3 berbayar!
1. Buka Automator.
2. Buat Tindakan Cepat baru.
3. Pastikan ia menerima 'no input' di semua program.
4. Pilih Run Apple Script dan ketik kode Anda.
5. Simpan!

Sekarang pergi ke System Preferences> Keyboard> Shortcuts. Pilih Layanan dari bilah sisi dan temukan layanan Anda. Tambahkan pintasan dengan mengklik dua kali (none).

Terakhir pergi ke System Preferences> Security> Privacy> Accessibility dan tambahkan Automator dan aplikasi yang disukai untuk menjalankan pintasan.

MegaCookie
sumber
2
"Akhirnya" yang terakhir itu penting - lewatkan saja, dan Anda mendapatkan dialog "Tindakan [...] yang salah" yang membingungkan, hanya menawarkan Anda untuk Tampilkan Alur Kerja, kemungkinan tidak membuat Anda lebih bijak.
ecmanaut
Menemukan
William
5
Apa yang Anda maksud dengan aplikasi yang disukai?
William
Akan lebih baik jika ada cara untuk mengotomatiskan langkah "sekarang go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none).'Itu harus mungkin, tidak tahu bagaimana ...
Sancarn
3
@ William suka jika Anda menulis untuk AppleScript di Finder, cukup pilih Automator dan Finder di pengaturan Aksesibilitas.
MegaCookie
15

Singkatnya, Anda perlu menggunakan:

  • Automator untuk membuat layanan yang menjalankan Apple Script
  • System Preferences untuk menetapkan pintasan keyboard ke layanan

Di bawah ini adalah langkah-langkah yang terlibat untuk masing-masing.

1. Buat layanan menggunakan Automator

  1. Luncurkan Automator (biasanya ditemukan dalam folder Aplikasi Anda)
  2. Buka File> Baru
  3. Pilih Layanan dan klik Pilih
  4. Di bagian kanan atas jendela yang muncul, pastikan "Tidak ada input" dipilih dari Layanan menerima daftar turun bawah
  5. Pastikan Dalam daftar drop-down menunjukkan "Setiap aplikasi"
  6. Di kolom kedua yang berisi daftar panjang, cari "Jalankan AppleScript" dan klik dua kali di atasnya
  7. Ini akan menambahkan jendela Jalankan AppleScript di sebelah kanan
  8. Sekarang, ganti (* Skrip Anda ada di sini *) dengan skrip yang Anda inginkan
  9. Simpan layanan menggunakan nama yang bermakna (mis. GoToInbox).

Sekarang ke langkah selanjutnya.

2. Membuat pintasan Anda

  1. Pergi ke System Preferences> Keyboard> Shortcuts
  2. Pilih Layanan dari bilah sisi
  3. Temukan layanan Anda (itu akan ada dalam daftar di sisi kanan)
  4. Tambahkan pintasan dengan mengklik dua kali pada nama layanan
  5. Sekarang pergi ke System Preferences> Security & Privacy> Privacy
  6. Pilih Aksesibilitas di sidebar
  7. Klik pada tanda + (Anda mungkin perlu membuka gembok jika terkunci)
  8. Tambahkan Automator.
  9. Tambahkan Finder (untuk menemukan ini, Anda perlu menavigasi ke /System/Library/CoreServices/Finder.app ).
  10. Keluar dari Preferensi Sistem Anda.

Sekarang Anda harus dapat melakukan dua hal:

1. Jalankan layanan dari aplikasi apa pun dengan masuk ke daftar Layanan dalam menu Aplikasi apa pun (mis. Pencari> Layanan, Safari> Layanan, TextEdit> Layanan, dll.) Dan pilih layanan yang baru saja Anda buat.

2. Gunakan pintasan keyboard untuk menjalankan layanan.

CATATAN: Saya menyadari bahwa bagi sebagian pengguna pintasan keyboard sepertinya tidak berfungsi meskipun mereka telah ditugaskan untuk suatu layanan. Ini adalah topik lain, tetapi jika ini terjadi pada Anda, setidaknya Anda dapat menjalankan layanan dari dalam aplikasi apa pun yang Anda gunakan.

Biarkan saya tahu bagaimana Anda pergi.

Monomeeth
sumber
1
Mengapa saya harus menambahkan pencari secara manual dan aplikasi apa yang tidak bekerja secara umum? Sepertinya saya kadang-kadang harus menjalankan skrip di bawah layanan untuk mendapatkannya untuk mendaftar sebelum akan mendaftarkan shorcut keyboard yang memalukan.
William
2
Ya, masalah yang saya sebutkan di Catatan saya di bagian akhir sering dapat (tetapi tidak selalu) diperbaiki dengan terlebih dahulu menjalankan layanan (dan kadang-kadang hanya mengakses menu Layanan sudah cukup) sebelum pintasan keyboard akan dikenali. Ini adalah bug yang sangat menjengkelkan yang telah ada sejak lama dan saya sarankan Anda mengirim laporan bug ke Apple . Adapun mengapa Anda harus menambahkan Finder secara manual , hanya karena tidak ditambahkan secara default. Akhirnya, saya tidak mengerti apa yang Anda maksud dengan aplikasi apa yang tidak berfungsi secara umum ?
Monomeeth
Mengabaikan pertanyaan saya tentang aplikasi yang tidak berfungsi di beberapa aplikasi. Tampaknya menjalankan skrip sekali di bawah menu Layanan memperbaiki masalah ini dan penjelasan Anda menjelaskan masalah yang saya alami. Mengapa saya harus menambahkan Automator Finder di bawah daftar Daftar aksesibilitas yang sepertinya tidak membuat perbedaan ketika menjalankan perintah (Itu adalah pertanyaan dasar saya)?
William
Pertanyaan bagus! Jika Anda menemukan langkah 5 hingga 9 di atas untuk membuat pintasan tidak perlu bagi Anda, maka itu bagus. Namun, saya telah membantu banyak orang membuat pintasan keyboard untuk menjalankan skrip khusus dan telah menemukan bahwa dengan memasukkan langkah-langkah itu sering kali menghindari pesan kesalahan (jangan ingat apa itu sekarang atau dalam keadaan apa itu akan muncul). Mungkin saya seharusnya tidak memasukkan langkah-langkah tersebut secara default, tetapi itulah yang telah saya lakukan sekarang selama beberapa tahun (meskipun langkah-langkah yang tepat akan berbeda tergantung pada versi MacOS Anda - di atas saya memasukkan langkah-langkah untuk El Capitan sesuai dengan Anda karunia).
Monomeeth
Langkah 5 hingga 9 seharusnya sama sekali tidak perlu untuk menetapkan pintasan, meskipun mungkin diperlukan agar skrip yang dipicu berjalan lancar jika menggunakan fitur Otomasi UI (klik mouse dan penekanan tombol yang disimulasikan). Namun, kasus terakhir itu adalah masalah lain sepenuhnya; Anda tidak boleh mengacaukan dua masalah dengan memasukkan langkah-langkah ini dalam jawaban Anda.
kopischke
9

Anda tidak dapat menetapkan pintasan keyboard untuk AppleScripts di luar kotak. Namun, Anda dapat:

  1. gunakan peluncur yang mendukung pengaturan hot key global dan menjalankan AppleScripts ( Alfred , Keyboard Maestro , FastScripts - apa pun yang Anda suka), atau
  2. masukkan skrip ke dalam tindakan Run AppleScript di dalam layanan Automator . Catatan itu harus berupa layanan, bukan aplikasi atau alur kerja biasa: layanan dapat diberikan hotkey dalam pengaturan keyboard Preferensi Sistem.
kopischke
sumber
Cukup ikuti langkah-langkah dalam jawaban @ MegaCookie .
kopischke
Versi OS apa yang Anda miliki pada mac 10.6.5 saya sepertinya tidak memiliki opsi "Pilih Jalankan Apple Script dan ketik kode Anda"?
William
1
Itu bukan "Pilih Jalankan AppleScript", itu - seperti yang tercantum dalam jawaban saya - tindakan Jalankan AppleScript yang perlu Anda tambahkan ke layanan Automator Anda; cukup seret ke area tindakan dari pustaka, yang akan membuat Anda bidang teks dengan perancah fungsi Anda dapat menambahkan kode Anda. Juga, saya ragu pengaturan aksesibilitas di jawaban @ MegaCookie diperlukan - ini berkaitan dengan UI Automation.
kopischke
3

Catatan: Di macOS Mojave , namanya diubah dari "Layanan" menjadi "Tindakan Cepat" di Automator.

  1. cmd+ spacedan ketik "automator"
  2. Pilih: File> Baru
  3. Pilih "Tindakan Cepat"
  4. Cari di bagian atas bagian kiri untuk "applescript" atau "shellscript" atau "javascript"
  5. Seret tindakan yang diinginkan ke alur kerja sisi kanan
  6. File> Simpan dengan nama yang diinginkan

Untuk menambahkan keystroke ke alur kerja Anda:

  1. Buka Preferensi Sistem
  2. Pilih Keyboard> Pintasan
  3. Pilih Layanan di sebelah kiri
  4. Temukan layanan yang baru dibuat dan klik dua kali pada "tidak ada" untuk menambahkan pintasan keyboard
spencer.sm
sumber
Catatan: jika Anda tidak menjadikannya Tindakan Cepat (mis. Anda menjadikannya "Alur Kerja") maka daftar Pintasan tidak akan mendeteksinya.
Sridhar Sarnobat
-2

Anda dapat pergi ke System Preferences -> Keyboard -> Shortcuts -> tambahkan shortcut. Anda kemudian dapat memilih skrip Anda.

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

Arecibo
sumber
3
Itu tidak akan berhasil. Dokumen yang Anda tautkan untuk menjelaskan cara (kembali) menetapkan tombol pintas ke perintah menu aplikasi .
kopischke
Tautan rusak, apel telah lama menonaktifkan fungsi satu klik ini, menggantikannya dengan operasi 90 klik yang melibatkan aplikasi pihak ketiga.
Eric Leschinski