मैंने अपने द्वारा लिखे गए AppleScript में एक कीबोर्ड शॉर्टकट कैसे असाइन किया?


43

मैं AppleScript में कीबोर्ड शॉर्टकट कैसे असाइन करूं? मुझे Office 2011 में स्वतः इनबॉक्स में वापस जाने के लिए एक स्क्रिप्ट मिली।


1
जैसा कि इस उत्तर द्वारा इंगित किया गया है कि सेवाओं के माध्यम से सौंपे गए कीबोर्ड शॉर्टकट हमेशा संगत नहीं होते हैं।
विलियम

जवाबों:


48

यह पेड 3 पार्टी ऐप्स के बिना भी संभव है!
1. ओपन ऑटोमेटर।
2. एक नई त्वरित कार्रवाई करें।
3. सुनिश्चित करें कि यह सभी कार्यक्रमों में 'कोई इनपुट नहीं' प्राप्त करता है।
4. Run Apple स्क्रिप्ट चुनें और अपने कोड में टाइप करें।
5. बचाओ!

अब सिस्टम वरीयताएँ> कीबोर्ड> शॉर्टकट पर जाएं। साइडबार से सेवाओं का चयन करें और अपनी सेवा खोजें। डबल क्लिक करके एक शॉर्टकट जोड़ें (none)

अंत में सिस्टम वरीयताएँ> सुरक्षा> गोपनीयता> पहुंच पर जाएं और शॉर्टकट चलाने के लिए ऑटोमेटर और पसंदीदा ऐप जोड़ें।


2
वह अंतिम "अंत में" महत्वपूर्ण है - इसे याद करें, और आपको एक भ्रमित करने वाली "कार्रवाई [...] एक त्रुटि मिली" संवाद, बस आपको वर्कफ़्लो दिखाने की पेशकश करते हुए, संभवत: आपको कोई समझदार नहीं बना सकता है।
इकोमानोट

समस्या का पता लगाना मेरे ओएस mizage.com/help/accessibility.html#10.7
विलियम

5
पसंदीदा ऐप से आपका क्या मतलब है?
विलियम

यह अच्छा होगा अगर कदम को स्वचालित करने का एक तरीका था "अब go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none).'यह संभव होना चाहिए, कोई विचार नहीं है हालांकि ...
Sancarn

3
@William जैसे अगर आपने फाइंडर में AppleScript लिखा है, तो एक्सेसिबिलिटी सेटिंग्स में ऑटोमेकर और फाइंडर दोनों को चुनें।
मेगाकॉपी

15

सारांश में आपको उपयोग करने की आवश्यकता होगी:

  • एक ऐप्पल स्क्रिप्ट चलाने वाली सेवा बनाने के लिए ऑटोमेटर
  • सिस्टम वरीयताएँ सेवा को एक कीबोर्ड शॉर्टकट सौंपने के लिए

नीचे प्रत्येक के लिए चरण शामिल हैं।

1. ऑटोमेटर का उपयोग करके एक सेवा बनाएं

  1. स्वचालित लॉन्च करें (आमतौर पर आपके एप्लिकेशन फ़ोल्डर में पाया जाता है)
  2. फ़ाइल> नए पर जाएं
  3. सेवा का चयन करें और चुनें पर क्लिक करें
  4. दिखाई देने वाली खिड़की के शीर्ष दाहिने हाथ में, सुनिश्चित करें कि "कोई इनपुट नहीं" का चयन सेवा से ड्रॉप-डाउन सूची प्राप्त करता है
  5. सुनिश्चित करें में ड्रॉप-डाउन सूची दिखा रहा है "कोई भी आवेदन"
  6. लंबी सूची वाले दूसरे कॉलम में, "रन AppleScript" ढूंढें और उस पर डबल-क्लिक करें
  7. यह दाईं ओर Run AppleScript विंडो को जोड़ेगा
  8. अब, (* आपकी स्क्रिप्ट यहाँ जाती है *) को उस स्क्रिप्ट से बदलें जो आप चाहते हैं
  9. सार्थक नाम (जैसे GoToInbox) का उपयोग करके सेवा सहेजें।

अब अगले स्टेप पर।

2. अपना शॉर्टकट बनाना

  1. सिस्टम वरीयताएँ> कीबोर्ड> शॉर्टकट पर जाएं
  2. साइडबार से सेवाओं का चयन करें
  3. अपनी सेवा खोजें (यह दाईं ओर की सूची में होगा)
  4. सेवा के नाम पर डबल क्लिक करके एक शॉर्टकट जोड़ें
  5. अब System Preferences> Security & Privacy> Privacy पर जाएं
  6. साइडबार में पहुँच क्षमता का चयन करें
  7. + चिन्ह पर क्लिक करें (ताला बंद होने पर आपको ताला खोलने की आवश्यकता हो सकती है)
  8. स्वचालित जोड़ें।
  9. खोजक जोड़ें (इसे खोजने के लिए आपको /System/Library/CoreServices/Finder.app पर नेविगेट करना होगा )।
  10. अपने सिस्टम वरीयताएँ से बाहर निकलें।

अब आपको दो काम करने में सक्षम होना चाहिए:

1. किसी भी एप्लिकेशन मेनू (जैसे Finder> Services, Safari> Services, TextEdit> Services, आदि) के भीतर सेवाओं की सूची में जाकर किसी भी एप्लिकेशन से सेवा चलाएँ और आपके द्वारा बनाई गई सेवा का चयन करें।

2. सेवा को चलाने के लिए कीबोर्ड शॉर्टकट का उपयोग करें।

नोट: मुझे पता है कि कुछ उपयोगकर्ताओं के लिए कीबोर्ड शॉर्टकट काम करने के लिए प्रतीत नहीं होते हैं, भले ही वे एक सेवा को सौंपे गए हों। यह एक पूरी तरह से अन्य विषय है, लेकिन यदि आपके मामले में ऐसा होता है, तो कम से कम आप किसी भी एप्लिकेशन के भीतर से सेवा चला सकते हैं।

मुझे बताओ आप कैसे जाओगे।


1
मुझे मैन्युअल रूप से खोजक क्यों जोड़ना चाहिए और सामान्य रूप से यह क्या काम नहीं करता है? ऐसा लगता है कि मुझे कभी-कभी स्क्रिप्ट को चलाने के लिए सेवाओं के तहत इसे पंजीकृत करना पड़ता है इससे पहले कि वह कीबोर्ड शोरक को पंजीकृत कर ले जो एक शर्म की बात है।
विलियम

2
हां, मैंने अपने नोट में अंत में जिस मुद्दे को संदर्भित किया है , वह अक्सर कीबोर्ड शॉर्टकट को पहचाने जाने से पहले (या कभी-कभी केवल सेवा मेनू तक पहुंचना पर्याप्त होता है) सेवा को चलाने के द्वारा ठीक किया जा सकता है। यह एक बहुत कष्टप्रद बग है जो लंबे समय से है और मैं निश्चित रूप से आपको Apple को बग रिपोर्ट भेजने की सलाह देता हूं । क्यों के लिए आपको खोजक को मैन्युअल रूप से जोड़ना होगा , केवल इसलिए कि यह डिफ़ॉल्ट रूप से नहीं जोड़ा गया है। अंत में, मुझे समझ में नहीं आया कि आपके लिए क्या मतलब है जो सामान्य रूप से काम नहीं करता है ?
Monomeeth

कुछ ऐप में काम नहीं करने वाले ऐप के बारे में मेरे सवाल को अनदेखा करना। यह दिखाई देता है कि एक बार सेवा मेनू के तहत स्क्रिप्ट इस मुद्दे को सुधारती है और आपका स्पष्टीकरण उस मुद्दे की व्याख्या करता है जो मैं कर रहा था। मुझे सूची में पहुँच योग्य सूची के तहत ऑटोमेटर फ़ाइंडर को क्यों जोड़ना चाहिए कमांड चलाने पर यह फर्क नहीं पड़ता है (यह मेरा मूल प्रश्न था)
विलियम

अच्छा प्रश्न! यदि आप शॉर्टकट बनाने के लिए 5 से 9 कदम ऊपर पाते हैं, तो आपके लिए यह आवश्यक नहीं है, तो यह बहुत अच्छा है। हालांकि, मैंने बहुत से लोगों को कस्टम स्क्रिप्ट चलाने के लिए कीबोर्ड शॉर्टकट बनाने में मदद की है और पाया है कि उन चरणों सहित अक्सर एक त्रुटि संदेश से बचा जाता है (यह याद नहीं है कि यह अब क्या है या किन परिस्थितियों में प्रकट होगा)। शायद मुझे उन चरणों को डिफ़ॉल्ट रूप से शामिल नहीं करना चाहिए , लेकिन यही मैं अब काफी सालों से कर रहा हूं (हालांकि सटीक चरण आपके macOS के संस्करण के आधार पर अलग-अलग होंगे - ऊपर मैंने आपके अनुसार El Capitan के लिए चरण शामिल किए हैं इनाम)।
Monomeeth

शॉर्टकट को असाइन करने के लिए चरण 5 से 9 पूरी तरह से अनावश्यक होना चाहिए, हालांकि उन्हें यूआई ऑटोमेशन सुविधाओं (सिम्युलेटेड माउस क्लिक और कुंजी प्रेस) का उपयोग करने पर ट्रिगर स्क्रिप्ट को सुचारू रूप से चलाने की आवश्यकता हो सकती है । हालाँकि, वह अंतिम मामला पूरी तरह से एक और मुद्दा है; आपको अपने उत्तर में इन चरणों को शामिल करके दो मुद्दों को भ्रमित नहीं करना चाहिए।
kopischke

9

आप बॉक्स से बाहर AppleScripts को कीबोर्ड शॉर्टकट असाइन नहीं कर सकते। हालाँकि, आप कर सकते हैं:

  1. एक लॉन्चर का उपयोग करें जो वैश्विक गर्म कुंजियों को स्थापित करने और AppleScripts को क्रियान्वित करने का समर्थन करता है ( अल्फ्रेड , कीबोर्ड मेस्ट्रो , FastScripts - जो भी आपके फैंसी लेता है), या
  2. एक स्वचालक सेवा के अंदर एक रन AppleScript कार्रवाई में स्क्रिप्ट रखो । ध्यान दें कि यह एक सेवा होना है, न कि एप्लिकेशन या एक साधारण वर्कफ़्लो: सेवाओं को सिस्टम प्राथमिकताएँ कीबोर्ड सेटिंग्स में हॉटकीज़ को सौंपा जा सकता है।

बस @ MegaCookie के उत्तर में दिए गए चरणों का पालन करें ।
कोप्सिएके

क्या OS संस्करण आप मेरे 10.6.5 मैक के मालिक हैं "विकल्प का चयन करें भागो Apple स्क्रिप्ट और अपने कोड में टाइप करें" प्रतीत नहीं होता है?
विलियम

1
यह "Run AppleScript का चयन करें" नहीं है, यह है - जैसा कि मेरे जवाब में कहा गया है - आप अपने ऑटोटेकर सेवा में जोड़ने की आवश्यकता है AppleScript को चलाएं ; बस इसे लाइब्रेरी से एक्शन एरिया में खींचें, इससे आपको एक टेक्स्ट फील्ड मिलेगी जिसमें एक फंक्शन स्कैफोल्ड होगा जिसमें आप अपना कोड जोड़ सकते हैं। इसके अलावा, मुझे संदेह है कि @ MegaCookie के जवाब में एक्सेसिबिलिटी सेटिंग्स की जरूरत है - ये यूआई ऑटोमेशन से संबंधित हैं।
kopischke

3

नोट: macOS Mojave में इसका नाम "सेवा" से ऑटोमेटर में "त्वरित कार्रवाई" में बदल दिया गया था।

  1. cmd+ spaceऔर "ऑटोमेकर" टाइप करें
  2. चुनें: फ़ाइल> नया
  3. "त्वरित कार्रवाई" का चयन करें
  4. "एप्लास्क्रिप्ट" या "शेलस्क्रिप्ट" या "जावास्क्रिप्ट" के लिए बाएं खंड के शीर्ष पर खोजें
  5. वांछित कार्रवाई को दाईं ओर वर्कफ़्लो पर खींचें
  6. फ़ाइल> वांछित नाम के साथ सहेजें

अपने वर्कफ़्लो में कीस्ट्रोक जोड़ने के लिए:

  1. सिस्टम वरीयताएँ खोलें
  2. कीबोर्ड> शॉर्टकट चुनें
  3. बाईं ओर सेवाओं का चयन करें
  4. कीबोर्ड शॉर्टकट जोड़ने के लिए नई बनाई गई सेवा और "कोई नहीं" पर डबल-क्लिक करें

नोट: यदि आप इसे क्विक एक्शन नहीं बनाते हैं (जैसे कि आप इसे "वर्कफ़्लो" बनाते हैं) तो शॉर्टकट सूची इसका पता नहीं लगाएगी।
श्रीधर सरनोबत

-2

आप सिस्टम वरीयताएँ -> कीबोर्ड -> शॉर्टकट -> में एक नया शॉर्टकट जोड़ सकते हैं। फिर आप अपनी स्क्रिप्ट का चयन कर सकते हैं।

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


3
यह काम नहीं करेगा। जिस दस्तावेज़ को आप लिंक करने के लिए लिंक (पुन:) किसी एप्लिकेशन के मेनू कमांड पर हॉटकी असाइन करने के लिए लिंक कर रहे हैं ।
kopischke

टूटी हुई कड़ी, ऐप्पल ने लंबे समय से इस एक-क्लिक की कार्यक्षमता को अक्षम कर दिया है, इसे 3-पार्टी ऐप्स से जुड़े 90-क्लिक ऑपरेशन के साथ बदल दिया है।
एरिक लेसचिंस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.