AppleScript: कर्सर स्थान पर डबल-क्लिक और राइट-क्लिक कैसे करें?


3

मैं डबल-लेफ्ट-क्लिक करने में सक्षम होना चाहता हूं, फिर AppleScript का उपयोग करके तुरंत राइट-क्लिक करें।

क्लिक का स्थान वह स्थान है जहाँ मेरा कर्सर उस समय स्थित होता है जब AppleScript ट्रिगर होता है।

Appleस्क्रिप्ट को कीबोर्ड शॉर्टकट के माध्यम से FastScripts द्वारा ट्रिगर किया जाएगा । मैं स्क्रिप्ट को सभी अनुप्रयोगों में काम करना चाहूंगा।

मैंने क्लिक्लिक स्थापित किया । जब मैं cliclick -hटर्मिनल में टाइप करता हूं , तो मैं देखता हूं कि यह डबल-क्लिक कर सकता है, लेकिन राइट-क्लिक का कोई उल्लेख नहीं है।

जवाबों:


4

चूँकि आप पहले से ही जानते हैं कि किस तरह से डबल-क्लिक करना है cliclick, इसलिए मेरा उत्तर राइट-क्लिक पर केंद्रित है और परंपरागत रूप से मैक पर एक कंट्रोल-क्लिक के माध्यम से राइट-क्लिक करने के लिए उपयोग किया जाता है , और जैसे कि आपको उपयोग करते समय समान काम करने की आवश्यकता होती है ।cliclick

एक उदाहरण के रूप cliclickमें, टर्मिनल में उपयोग करते हुए, इसके लिए मैनुअल पेज खोलने का प्रयास किया जाएगा cliclick। मैंने कहा कि खोलने के लिए प्रयास क्योंकि cliclickएक मैनुअल पेज नहीं है लेकिन कुछ कार्रवाई कि पहिले कमांड लाइन का उपयोग करेगा पर कंट्रोल-क्लिक ( राइट क्लिक ) को लाने के लिए संदर्भ मेनू करने के लिए, माउस ले जाएँ क्लिक करें ओपन आदमी पेज मैं के रूप में cliclickकमांड लाइन enterको निष्पादित करने के लिए दबाने से पहले कमांड लाइन में चुना गया है ।

नीचे दी गई छवि कमांड लाइन को दो बार दिखाती है ताकि आप स्पष्ट रूप से फर्स्ट कमांड लाइन को पहली पंक्ति में देख सकें क्योंकि दूसरी पंक्ति में वह हिस्सा है जिसे संदर्भ मेनू से
ओपन मैन पेज पर वास्तविक क्लिकिंग से पहले दिखाया गया है ।

यहाँ छवि विवरण दर्ज करें

नीचे दी गई छवि वही है जो cliclick कमांड लाइन निष्पादित होने पर दिखाई दी थी और क्लिक की गई थी

यहाँ छवि विवरण दर्ज करें

नीचे दी गई छवि को क्रॉप किया गया है लेकिन यह दिखाने के लिए प्रस्तुत किया गया है कि इसके लिए मैनुअल पेज को खोलने की कोशिश की गई है cliclick

यहाँ छवि विवरण दर्ज करें

मैं FastScripts का उपयोग नहीं करता हूं, हालांकि उदाहरण के कमांड से आपको यह समझने में मदद करनी चाहिए कि आप cliclickजो भी करने की कोशिश कर रहे हैं उसे करने के लिए क्या करना है।

cliclickकमांड लाइन विस्तार से बताया:

  • cliclick kd:ctrl c:+0,+0 ku:ctrl m:+5,+5 c:+0,+0 - पूर्ण कमांड लाइन।
  • cliclick - द्विआधारी निष्पादन योग्य।
  • kd:ctrl- controlकुंजी दबाएं ।
  • c:+0,+0 - वर्तमान में माउस के सापेक्ष क्लिक करें।
  • ku:ctrl- controlकुंजी को छोड़ दें।
  • m:+5,+5जहां माउस वर्तमान में है, उसके सापेक्ष माउस को पांच x, y अक्ष पर ले जाएं ।
  • c:+0,+0 - वर्तमान में माउस के सापेक्ष क्लिक करें।

  • नोट: ऊपर दी गई पूरी कमांड लाइन को भी व्यक्त किया जा सकता है ,
    cliclick kd:ctrl c:. ku:ctrl m:+5,+5 c:.क्योंकि माउस की सापेक्ष स्थिति के लिए x, y अक्ष निर्देशांक जैसे x. का उपयोग किया जा सकता है । मैं व्यक्तिगत रूप से उत्तरार्द्ध में पूर्व का उपयोग करना पसंद करता हूं, हालांकि दोनों रूप काम करते हैं।+0,+0

जैसा कि आप पहली छवि में देख सकते हैं cliclickजिसे चुना गया था और माउस, एक टेक्स्ट कर्सर के रूप में दिखा, चयन पर सही है, फिर जब cliclick कमांड निष्पादित किए गए, तो उसने इसके लिए मैन पेज टर्मिनल विंडो खोली, हालांकि ये एक नहीं है । हालांकि, यह दर्शाता है कि एक राइट-क्लिक किया गया था और माउस को संदर्भ-मेनू पर प्रविष्टि में ले जाया गया और क्लिक किया गया।

AppleScript में उपरोक्त कमांड लाइन को do shell script कमांड में लपेटा जाएगा जैसा कि नीचे दिखाया गया है:

do shell script "/usr/local/bin/cliclick kd:ctrl c:+0,+0 ku:ctrl m:+5,+5 c:+0,+0"

ध्यान दें: cliclickबाइनरी एक्ज़ीक्यूटेबल के लिए पूरी तरह से योग्य पथनाम का उपयोग करें यदि यह उस स्थान पर है जो PATHAppleScript में पारित नहीं हुआ है ।


विस्तृत उत्तर के लिए धन्यवाद। मेरे पास लगभग सही स्क्रिप्ट है। मैं टेक्स्ट को हाइलाइट करने के लिए इस स्क्रिप्ट का उपयोग कर रहा हूं और फिर टेक्स्ट को राइट-क्लिक करें। क्या राइट-क्लिक के बाद टेक्स्ट को हाइलाइटेड / सिलेक्टेड रहने का एक तरीका है (जैसे यह सामान्य रूप से होगा)? यह मेरा पूरा कोड है: do shell script "/usr/local/bin/cliclick dc:+0,+0 kd:ctrl c:+0,+0"। जब यह राइट-क्लिक होता है, तो मेरा कोड चयनित टेक्स्ट को अन-सलेक्ट करता है।
रुबिक का गोला

@ रूबिक का क्षेत्र, मेरा मानना ​​है कि लिखित रूप में पूछे गए असली सवाल के बारे में मेरा जवाब है, कि किस तरह से राइट-क्लिक किया जा रहा है cliclickऔर यह डिबग करने की जगह नहीं है कि आप इसके साथ क्या करने की कोशिश कर रहे हैं। मेरा सुझाव है कि किसी भी मुद्दे को दोहराने के लिए आवश्यक सभी जानकारी प्रदान करते हुए एक और प्रश्न शुरू करें। उस ने कहा, आपकी cliclick आज्ञा , जैसा लिखा गया है, ठीक वैसा ही कर रही है, भले ही परिणाम सही न हों। आप उस बिंदु पर राइट-क्लिक भी क्यों कर रहे हैं जितना आप कर रहे हैं, यह एक संदर्भ मेनू है। आपको बाद में भी कुछ और करने की जरूरत है।
user3439894

@ रूबिक का क्षेत्र, यह भी ध्यान दें कि आपको आवश्यक रूप से कमांड लाइन के भीतर w:ms आदेशों का उपयोग करने की आवश्यकता हो सकती है। cliclick
user3439894

@ रूबिक का क्षेत्र, क्षमा करें, मैंने कभी आपका संपादन नहीं देखा, पैराग्राफ " संदर्भ पर विस्तृत करने के लिए " के साथ शुरू हुआ , अब तक हालांकि मैं जो पहले से ही कह चुका हूं, उसके साथ खड़ा हूं। BTW कि संपादित करें, और अधिक तब बना जब मैं मूल प्रश्न का उत्तर देने के एक घंटे बाद, प्रश्न के समग्र दायरे को बदलता हूं, जहां मेरे मूल उत्तर को कवर किया गया है, जिसे आप नहीं जानते कि मैं उसके बाद एक बिल्कुल अलग प्रश्न पर क्या विचार करूंगा। तथ्य। तो नए और अलग प्रश्न के साथ समस्या को अलग करता है।
user3439894

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.