ضد سخت افزار - قسمت ۳ : این بار ، سندروم کیبورد بی قرار در پایتون :: Mr Python | مستر پایتون

ضد سخت افزار - قسمت ۳ : این بار ، سندروم کیبورد بی قرار در پایتون

  • ۸۲۳

ضد سخت افزار - قسمت ۳ : این بار ، سندروم کیبورد بی قرار در پایتون

درود به همه !

 

با قسمت سوم از سری دنباله دار ضد سخت افزار در خدمت شما هستیم . در این سری آموزشی قصد داریم اسکریپت هایی بنویسیم که سخت افزار های مختلف رو هدف قرار بدند . امروز کیبورد رو هدف قرار میدیم . در قسمت قبلی ضد سخت افزار اومدیم سندروم cdrom بی قرار رو نوشتیم . میدونم که میدونید سندروم کیبورد بی قرار هم وجود داره :) . در این پست اسکریپتی بسیار ساده مینویسیم که وقتی اونو اجرا میکنیم باعث میشه کلا کیبورد کاربر (کیبورد مجازی یا کیبورد فیزیکیش) بی استفاده بشه .

خب اما چطوری قراره اینکارو بکنیم ؟ خیلی سادس . ما کاری میکنیم که اسکریپت شنود کنه ببینه کاربر هر کلیدی که فشار داد سریع همون موقع یه backspace بزنه تا اون کاراکتری که نوشته پاک بشه . بعد از اینکه پاک شد هم میتونیم خودمون براش یه متن بنویسیم :)‌. حالا سورس رو مینویسیم متوجه میشید .

برای نوشتن سورس امروز از کتابخونه ی keyboard استفاده میکنیم . با ابزار pip میتونیم این کتابخونه رو نصب کنیم :

نصب keyboard در لینوکس :

MrPython@debian:~$ sudo pip3 install keyboard

نصب keyboard در ویندوز :

C:\> pip install keyboard

بریم سراغ سورس کد .

سورس کد :

import keyboard as k

def onpress(key):
    k.press_and_release("backspace") # Press Back Space To Delete Wrote Character
    k.write("HAHAHA :) ") # Write HAHAHA :)

k.on_press(onpress) # if Pressed Any key , call onpress() function
while True:
    pass

توضیح سورس کد :

سورس بسیار ساده و بسیار کاربردیه . در خط اول که کتابخونه ی keyboard رو ایمپورت کردیم . سپس یه تابع به نام onpress تعریف کردیم که هر وقت هر کلیدی روی کیبورد فشرده میشه این تابع خودکار فراخونی میشه . اما ببینیم داخل تابع چی گفتیم . در اولین خط از کد های داخل تابع onpress گفتیم که توسط تابع press_and_release کلید backspace زده بشه (این کار باعث میشه اگه کاراکتری نوشته شده پاک بشه) . سپس در خط بعد با استفاده از تابع write اومدیم یه متن با کیبورد نوشتیم . این دوخط کد داخل تابع باعث میشه بعد از اینکه کاربر هر کلیدی میزنه ، اول کاراکتری که نوشته شده پاک بشه و سپس یه متن به جاش نوشته بشه .

بعد از اتمام تابع ، اومدیم شنودگرمون رو با استفاده از تابع on_press ایجاد کردیم . این تابع یه ورودی میگیره و ما اسم تابع onpress که بالا تعریف کردیم رو بهش میدیم . این میاد شنود میکنه و هر کلیدی که زده میشه میره تابع onpress رو فراخونی میکنه .

نهایتا در آخر برنامه یه حلقه ی بینهایت خالی نوشتیم تا برنامه بسته نشه .

میریم برای تست سورسمون . نکته ای که هست اینه که این سورس با ویندوز بیشتر جوره . رو لینوکس احتمال کرش کردنش بیشتره .

خب من روی یه ویندوز ۷ اجراش کردم . سپس شروع کردم کلید های کیبورد رو فشار بدم و  یه سری متن بنویسم . در تصویر زیر ببینید چه اتفاقی افتاد :

در واقع هر کلیدی که فشار میدیم تبدیل میشه به یه HAHAHAH :) و تا وقتی که اسکریپت در حال اجراس هیچی به هیچی !

یا حق !

Telegram Channel : @mrpythonblog

  • اینم یه جورشه فقط اینجا حجممون یکم بالا میره چون pyautogui از این ماژول مستر بزرگ تره :

     

     

    import pyautogui

    while True:

        pyautogui.write('mamaro lolo bord ')

    پاسخ:
    آره اینم میشه !👌
  • اوه عالی مستر

    نمیدونم سازنده ی این کتابخونه فازش چی بوده /: اصلا غیر از همین سندروم کیبورد بی قرار نوشتن هیچ کاربردی نداره /:

    پاسخ:
    😉😁
  • عجب چیز خفنی بود😮😮

    پاسخ:
    مچکرم 😁😁
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی