کتابخانه keyboard پایتون

زمان مطالعه: 6 دقیقه ویرایش: 1404/04/05

کنترل کیبورد در پایتون با کتابخانه keyboard ⌨️

سلام دوست خوبم! توی این مقاله قراره با یکی از جالب‌ترین کتابخونه‌های پایتون آشنا بشیم: keyboard با این کتابخونه می‌تونی فشردن کلیدها رو کنترل کنی، میان‌بر بسازی، کلید شبیه‌سازی کنی، کلیدها رو ضبط کنی و کلی کار باحال دیگه!

بریم مرحله به مرحله یاد بگیریم چطوری از keyboard استفاده کنیم و چند تا پروژه ساده هم باهاش انجام بدیم 😍

کتابخانه keyboard پایتون


کتابخانه keyboard چیه؟

کتابخونه‌ی keyboard یه ابزار قدرتمنده برای کار با صفحه‌کلید. می‌تونه:

  • کلیدهای فشرده‌شده رو شناسایی کنه
  • با زدن کلید خاص، یه کار خاص انجام بده (Hotkey)
  • کلید بزنه! یعنی شبیه‌سازی کنه که مثلاً کلید 'a' زده شده
  • ورودی‌های کیبورد رو ضبط کنه و دوباره پخش کنه

این کتابخونه فقط توی سیستم‌عامل‌های ویندوز و لینوکس درست کار می‌کنه (در مک، محدودیت داره).


نصب کتابخانه keyboard

برای نصب، از pip استفاده کن:

pip install keyboard

🔴 نکته مهم: برای اینکه بتونه کلیدها رو کنترل کنه، معمولاً نیاز به دسترسی administrator (یا root در لینوکس) داره.


نمونه اول: تشخیص فشردن یک کلید

می‌خوایم وقتی کاربر یه کلید خاص رو فشار داد، یه پیام چاپ شه:

import keyboard

keyboard.wait("enter")
print("You pressed Enter!")

🔹 این کد منتظر می‌مونه تا کاربر کلید Enter رو بزنه، بعد پیام چاپ می‌شه.


نمونه دوم: اجرای دستور با میان‌بر

فرض کن بخوای با زدن ctrl+alt+h یه پیام چاپ بشه:

import keyboard

keyboard.add_hotkey('ctrl+alt+h', lambda: print("Hello from mrpy.ir!"))

keyboard.wait('esc')  # esc for exit

🔹 وقتی کاربر این شورت‌کات رو بزنه، تابع اجرا می‌شه. تا زمانی که Esc نزنی، برنامه در حال اجراست.


نمونه سوم: شبیه‌سازی فشردن کلید

می‌خوای برنامه‌ت خودش یه چیزی تایپ کنه؟

import keyboard

keyboard.write("Hello from mrpy.ir!")
keyboard.press_and_release('enter')

🔹 کلمه رو تایپ می‌کنه و بعد کلید Enter رو می‌زنه.


نمونه چهارم: بررسی اینکه کلیدی پایین هست یا نه

می‌تونی بررسی کنی آیا کاربر یه کلید خاص رو نگه‌داشته یا نه:

if keyboard.is_pressed("a"):
    print("You are holding down the 'a' key!")


نمونه پنجم: ضبط و پخش کلیدها

این کد، همه کلیدهایی که کاربر فشار می‌ده رو ضبط می‌کنه، بعد از 5 ثانیه، همون‌ها رو دوباره پخش می‌کنه:

import keyboard
import time

print("Recording... Press keys now!")
events = keyboard.record(duration=5)

print("Replaying in 2 seconds...")
time.sleep(2)

keyboard.play(events)

🔹 خیلی باحاله برای ساخت اتوماسیون یا تست!


ساخت برنامه‌ای که با کلید esc خارج می‌شه

خیلی وقتا لازمه برنامه همیشه اجرا باشه ولی بشه با یه کلید مثل esc خارج شد:

import keyboard

print("Press 'esc' to stop the program.")
keyboard.wait("esc")


نکات مهم امنیتی و دسترسی

  • این کتابخونه سطح پایین کار می‌کنه، پس بعضی آنتی‌ویروس‌ها ممکنه بلاکش کنن
  • در ویندوز، باید پایتون رو با "Run as Administrator" اجرا کنی تا کامل کار کنه
  • در لینوکس، باید با sudo اجرا بشه: sudo python your_script.py

تمرین برای تو 🎯

  • برنامه‌ای بنویس که با زدن کلید "s"، پیام "Saved!" چاپ کنه
  • برنامه‌ای بساز که هرچی کاربر تایپ کرد ضبط کنه و بعداً خودش تایپ کنه
  • با زدن کلید F2 یه پیام تبریک چاپ کنه

جمع‌بندی

کتابخانه keyboard ابزاری قدرتمند و سرگرم‌کننده‌ست برای کار با ورودی‌های کیبورد. مخصوصاً برای ساخت برنامه‌های اتوماسیون، تست نرم‌افزار، ابزارهای ساده و حتی بازی!

فقط یادت باشه که برای اجرا نیاز به سطح دسترسی بالا داره و روی همه سیستم‌عامل‌ها دقیق یکسان عمل نمی‌کنه.

مقاله‌های بیشتر درباره‌ی اتوماسیون و پایتون رو می‌تونی در mrpy.ir دنبال کنی 😉

منتظر تمرین‌هات هستم! بیا یه چیزی بساز که با فشردن کلیدها یه پیام مخفی بده 😎



1
user نوشته شده توسط عرفان سلیمی برنامه نویس پایتون


دیدگاه


برای ثبت دیدگاه، وارد شوید