كيف يستمع بايثون الى الكيبورد و الماوس ؟
في بايثون، يمكنك استخدام مكتبة `keyboard` للاستماع إلى أحداث لوحة المفاتيح ومكتبة `pynput` للاستماع إلى أحداث الفأرة. هنا مثال بسيط يوضح كيفية استخدام كلتي المكتبتين:
1. استماع إلى أحداث لوحة المفاتيح باستخدام مكتبة `keyboard`:
import keyboard
def on_key_press(event):
print(“Key Pressed:”, event.name)
keyboard.on_press(on_key_press)
keyboard.wait(‘esc’) # انتظر حتى الضغط على مفتاح الـ Esc لإيقاف البرنامج
“`
في هذا المثال، تم استخدام دالة `on_key_press` للاستماع إلى حدث ضغط المفاتيح. عندما يتم الضغط على أي مفتاح، ستتم استدعاء الدالة وسيتم طباعة اسم المفتاح.
2. استماع إلى أحداث الفأرة باستخدام مكتبة `pynput`:
from pynput import mouse
def on_click(x, y, button, pressed):
if pressed:
print(“Mouse Clicked:”, button)
mouse_listener = mouse.Listener(on_click=on_click)
mouse_listener.start()
mouse_listener.join() # انتظر حتى يتم إيقاف البرنامج
في هذا المثال، تم استخدام الدالة `on_click` للاستماع إلى حدث النقر بالماوس. عند النقر على أي زر في الماوس، ستتم استدعاء الدالة وسيتم طباعة نوع الزر المنقر.
تذكر أنه في حالة البرامج النصية التفاعلية (مثل Python REPL)، قد تحتاج إلى تشغيل البرنامج في وضع مستمر حتى يتم استمرار استماعك إلى أحداث لوحة المفاتيح والفأرة.