โมดูล 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