परिचय
कीबोर्ड इनपुट को ऑटोमेट करना और कीबोर्ड इवेंट को हैंडल करना एप्लिकेशन टेस्टिंग और कस्टम स्क्रिप्ट बनाने के लिए बहुत ज़रूरी है। जब आपको प्रोग्रामेटिक रूप से कीज़ दबानी हों, इनपुट पर रिएक्ट करना हो या अपनी हॉटकी बनानी हों, तो Python की keyboard लाइब्रेरी एक बेहतरीन टूल है।
keyboard एक पावरफुल क्रॉस-प्लेटफॉर्म लाइब्रेरी है जो ऑपरेटिंग सिस्टम लेवल पर कीबोर्ड को कंट्रोल करती है। यह एक लिसनर और जनरेटर दोनों की तरह काम करती है - आप कीबोर्ड इनपुट को इंटरसेप्ट और इम्युलेट दोनों कर सकते हैं।
इस आर्टिकल में हम keyboard लाइब्रेरी को इंस्टॉलेशन से लेकर एडवांस्ड सीनारियो तक विस्तार से कवर करेंगे, जिसमें मैक्रो बनाना, ग्लोबल हॉटकी, लॉगर और कॉम्बो कमांड शामिल हैं।
इंस्टॉलेशन और आवश्यकताएँ
लाइब्रेरी को pip के ज़रिए इंस्टॉल करें:
pip install keyboard
सिस्टम आवश्यकताएँ
Windows: बिना किसी अतिरिक्त सेटिंग के काम करती है।
Linux: ग्लोबल कीबोर्ड इवेंट कैप्चर करने के लिए रूट एक्सेस चाहिए। लोकल उपयोग के लिए sudo से चलाएँ।
macOS: आंशिक रूप से सीमित है और सिक्योरिटी सेटिंग्स में अतिरिक्त अनुमतियाँ चाहिए। एक्सेसिबिलिटी फीचर्स तक एक्सेस देना ज़रूरी है।
लाइब्रेरी की मुख्य क्षमताएँ
keyboard लाइब्रेरी कीबोर्ड के साथ काम करने के लिए कई फीचर्स प्रदान करती है:
की प्रेस का अनुकरण (इम्युलेशन)
यह लाइब्रेरी प्रोग्रामेटिक रूप से की प्रेस को इम्युलेट करती है, जो रूटीन टास्क को ऑटोमेट करने में मददगार है।
कीबोर्ड इवेंट को इंटरसेप्ट करना
रीयल-टाइम में की प्रेस को ट्रैक करके अपने कस्टम इवेंट हैंडलर बनाने की सुविधा।
हॉटकी बनाना
फंक्शंस तक त्वरित पहुँच के लिए ग्लोबल की कॉम्बिनेशन रजिस्टर करना।
मैक्रो रिकॉर्ड और प्लेबैक
की प्रेस के सीक्वेंस को रिकॉर्ड करके बाद में प्ले करने की सुविधा।
की इम्युलेशन के बेसिक फंक्शन
टेक्स्ट इनपुट
import keyboard
# सरल टेक्स्ट इनपुट
keyboard.write("Hello, world!")
# कैरेक्टर के बीच देरी के साथ इनपुट
keyboard.write("धीमा इनपुट", delay=0.1)
की दबाना और छोड़ना
# की दबाएँ (छोड़ें नहीं)
keyboard.press("ctrl")
# की छोड़ें
keyboard.release("ctrl")
# दबाएँ और तुरंत छोड़ें
keyboard.press_and_release("enter")
की कॉम्बिनेशन
# कॉम्बिनेशन दबाना
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")
# वैकल्पिक तरीका
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")
हॉटकी के साथ काम करना
हॉटकी रजिस्टर करना
import keyboard
def launch_notepad():
print("नोटपैड खोल रहे हैं!")
# यहाँ एप्लिकेशन लॉन्च करने का कोड जोड़ें
# हॉटकी रजिस्टर करें
keyboard.add_hotkey("ctrl+alt+n", launch_notepad)
# Esc दबाने पर बाहर निकलने का इंतज़ार
keyboard.wait("esc")
एकाधिक कॉम्बिनेशन
# कई लगातार प्रेस का कॉम्बिनेशन
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("जटिल कॉम्बिनेशन!"))
हॉटकी मैनेजमेंट
# किसी विशेष हॉटकी को हटाना
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("Hotkey!"))
keyboard.remove_hotkey(hotkey)
# सभी हॉटकी साफ़ करना
keyboard.clear_hotkeys()
कीबोर्ड इवेंट हैंडलिंग
प्रेस ट्रैक करना
def on_key_press(event):
print(f"की दबाई गई: {event.name}")
def on_key_release(event):
print