Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โมดูล Keyboard ใน Python: ควบคีย์บอร์ดและบันทึกการกดปุ่ม

โมดูล keyboard ใน Python ช่วยให้ควบคุมและตรวจจับการกดปุ่มคีย์บอร์ดได้ รองรับการทำงานข้ามแพลตฟอร์ม (Windows, Linux, Mac) และเหมาะสำหรับการสร้างอัตโนมัติ (automation), การทดสอบ, หรือแอปพลิเคชันที่ต้องการโต้ตอบกับคีย์บอร์ดโดยตรง

การติดตั้ง

pip install keyboard

หมายเหตุ: บน Linux อาจต้องรันสคริปต์ด้วยสิทธิ์ root (sudo) เนื่องจากต้องเข้าถึงอุปกรณ์อินพุตระดับระบบ

คุณสมบัติหลัก

  • บล็อกการทำงานของปุ่มเฉพาะได้
  • จัดการเหตุการณ์ (event listeners) เมื่อมีการกด/ปล่อยปุ่ม
  • รองรับ Hotkeys และ Special Keys
  • บันทึกและเล่นซ้ำลำดับการกดปุ่ม (Record & Play)
  • ทำงานข้ามแพลตฟอร์ม

ตัวอย่างการใช้งานพื้นฐาน

1. พิมพ์ข้อความและจำลองการกดปุ่ม

import keyboard

# พิมพ์ข้อความ
keyboard.write("Tutorialspoint\n")

# กดและปล่อยปุ่ม (Shift+O, Shift+Y, Enter)
keyboard.press_and_release('shift+o, shift+y, enter')

# กดปุ่ม K และ J
keyboard.press_and_release('k, j')

# รอจนกว่าจะกด Ctrl
keyboard.wait('ctrl')

2. อีกตัวอย่าง

import keyboard

keyboard.write("tutor\n")
keyboard.press_and_release('shift+a, shift+w, enter')
keyboard.press_and_release('q, u')
keyboard.wait('enter')

การบันทึกและเล่นซ้ำ (Record & Playback)

import keyboard

# บันทึกการกดปุ่มจนกว่าจะกด 'esc'
recorded = keyboard.record(until='esc')

# เล่นซ้ำ
keyboard.play(recorded)

Hotkeys (ปุ่มลัด)

import keyboard

# ลงทะเบียน hotkey
keyboard.add_hotkey('ctrl+alt+q', lambda: print('Quit triggered!'))

# รอจนกว่าจะกด esc
keyboard.wait('esc')

การบล็อกปุ่ม

import keyboard

# บล็อกปุ่ม 'a' (ไม่ให้พิมพ์ได้)
keyboard.block_key('a')

# ยกเลิกการบล็อก
keyboard.unblock_key('a')

สรุป

โมดูล keyboard ให้ความสามารถในการควบคุมคีย์บอร์ดอย่างเต็มที่ เหมาะสำหรับการทำ Automation Testing, สร้าง Macro, หรือแอปที่ต้องการ Hotkey แบบ Global อย่างไรก็ตาม ควรใช้ด้วยความระมัดระวัง เนื่องจากต้องการสิทธิ์ระดับระบบในบาง OS