क्या कमांड लाइन का उपयोग करके वैश्विक हॉटकी को निष्पादित करने का एक तरीका है?


0

OS: OS X 10.9.1 मावेरिक्स

क्या कमांड लाइन से किसी भी वैश्विक हॉटकी को निष्पादित करना संभव है?

उदाहरण के लिए, यदि मैं कॉपी और पेस्ट करना चाहता था, तो क्या मुझे सटीक हॉटकी टाइप करने और उसे निष्पादित करने की आज्ञा है?

इस तरह (यह कमांड केवल एक उदाहरण के लिए है, वास्तव में मौजूद नहीं है):

hotkey "ctrl+c"
hotkey "ctrl+v"

मुझे पता है कि "pbpaste" और "pbcopy" को कॉपी और पेस्ट करने के लिए पहले से ही एक कमांड है, मैं सिर्फ एक उदाहरण के रूप में कॉपी और पेस्ट का उपयोग कर रहा था।

यह उन कमांड को निष्पादित करने के लिए बहुत उपयोगी होगा जो कमांड लाइन पर बहुत लंबा हो सकता है। यदि आप कमांड लाइन पर कंप्यूटर को लॉक करना चाहते हैं तो आपको कुछ ऐसा करना होगा:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

यदि हॉटकीज़ को निष्पादित करने की आज्ञा है, तो आपको बस इतना करना होगा:

hotkey "ctrl+shift+eject"

जवाबों:


1

AppleScript है keystrokeऔर key codeकमांड:

osascript -e 'tell app "System Events" to keystroke "a" using command down'

osascript -e 'tell app "System Events" to key code 126 using {control down, shift down}'

हालांकि इजेक्ट की के लिए कोई कुंजी कोड नहीं है।


बहुत बढ़िया जवाब! लेकिन क्या AppleScript का उपयोग किए बिना ऐसा करने का एक और तरीका है? यदि कोई नहीं है, तो मैं आपके उत्तर को स्वीकार करूंगा। लिखने के लिए समय निकालने के लिए धन्यवाद, मैं इसकी सराहना करता हूं।
टिम्बर

1
@TimothyOnggowasito, यदि आप उपयोगकर्ता इनपुट (कीबोर्ड कमांड) को नियंत्रित करने की उम्मीद कर रहे हैं, तो OS X में वास्तव में कोई अन्य तरीका नहीं है जिससे मैं अवगत हूं; अगर कोई रास्ता नहीं होता तो लॉरी रांता बहुत अच्छी तरह से एकमात्र ऐसा व्यक्ति होता जो जानता होगा।
l'L'l

@LauriRanta लगता है कि कोई और रास्ता नहीं है, मैं आपका जवाब स्वीकार करूंगा और इस जवाब को इनाम के साथ :)। आपका बहुत बहुत धन्यवाद!
टिम्बर

2

आप लॉरी के AppleScript को हॉटकी-बेस्ड सिस्टम (क्विकसिल्वर, कीबोर्ड मेस्ट्रो, आदि) के साथ जोड़कर जटिल कमांड चलाने के लिए हॉटकी बना सकते हैं। लेकिन "हॉटकीज़" सामान्य रूप से जीयूआई वातावरण का हिस्सा हैं, सीएलआई नहीं। वे टर्मिनल में दिखाई नहीं देते हैं, हालांकि यदि आप टेक्स्ट में पेस्ट करने के लिए कमांड-वी का उपयोग कर रहे हैं तो उनके परिणाम हो सकते हैं।

क्या आपने शेल उपनामों में देखा है? आप "लॉक" नामक एक उपनाम बना सकते हैं जो "/ सिस्टम / लाइब्रेरी / CoreServices / Menu \ Extras / User.menu / Contents / Resources / CGSession -suspend" को मैप करता है। यह (GUI) हॉटकी नहीं है, लेकिन चूंकि आपने विशेष रूप से CLI के बारे में पूछा है, शायद यह मदद करेगा।

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