لوحة المفاتيح (Keyboard) – التعامل مع لوحة المفاتيح

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة

تُعد أتمتة الإدخال ومعالجة أحداث لوحة المفاتيح من الجوانب المهمة سواء لاختبار التطبيقات أو لإنشاء نصوص برمجية وأدوات مخصصة. عندما تحتاج إلى الضغط على الأزرار برمجيًا، أو الاستجابة للإدخال، أو إنشاء اختصاراتك الخاصة، تقدم لك بايثون مكتبة رائعة وهي keyboard.

مكتبة keyboard هي أداة قوية متعددة المنصات تتيح لك التحكم بلوحة المفاتيح على مستوى نظام التشغيل. تعمل كمستمع ومولد للأحداث: يمكنك اعتراض الإدخال من لوحة المفاتيح أو محاكاته.

في هذا المقال، سنشرح مكتبة keyboard بالتفصيل بدءًا من التثبيت وصولاً إلى السيناريوهات المتقدمة، بما في ذلك إنشاء الماكرو، والاختصارات العامة، ومسجلات الأحداث، ومعالجة الأوامر المركبة.

التثبيت والمتطلبات

يتم تثبيت المكتبة عبر pip:

pip install keyboard

المتطلبات النظامية

Windows: تعمل المكتبة دون أي إعدادات إضافية.

Linux: تتطلب صلاحيات الجذر (root) لاعتراض أحداث لوحة المفاتيح العامة. للاستخدام المحلي، يمكن تشغيلها باستخدام sudo.

macOS: محدودة جزئيًا وتتطلب أذونات إضافية في إعدادات الأمان. يجب منح صلاحية الوصول إلى ميزات الوصول الشامل.

الإمكانيات الأساسية للمكتبة

توفر مكتبة keyboard مجموعة واسعة من الوظائف للتعامل مع لوحة المفاتيح:

محاكاة الضغط على الأزرار

تتيح لك المكتبة محاكاة الضغط على الأزرار برمجيًا، وهو مفيد لأتمتة المهام الروتينية.

اعتراض أحداث لوحة المفاتيح

إمكانية تتبع الضغطات على الأزرار في الوقت الفعلي، وإنشاء معالجات أحداث مخصصة.

إنشاء اختصارات لوحة المفاتيح

تسجيل مجموعات أزرار عامة للوصول السريع إلى الوظائف.

تسجيل وتشغيل الماكرو

وظيفة لتسجيل سلسلة من الضغطات على الأزرار ثم تشغيلها لاحقًا.

الوظائف الأساسية لمحاكاة الأزرار

إدخال نص

import keyboard

# إدخال نص بسيط
keyboard.write("مرحبًا بالعالم!")

# إدخال مع تأخير بين الأحرف
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("اختصار!"))
keyboard.remove_hotkey(hotkey)

# مسح جميع الاختصارات
keyboard.clear_hotkeys()

معالجة أحداث لوحة المفاتيح

تتبع الضغطات

def on_key_press(event):
    print(f"تم الضغط على الزر: {event.name}")

def on_key_release(event):
    print                    

توصيات