keyboard库
- 一、什么是keyboard库
- 二、keyboard的安装
- 三、keyboard的一些用法
- 3.0、event
- 3.1、keyboard.wait
- 3.2、keyboard.hook
- 3.3、keyboard.on_press
- 3.4、keyboard.add_hotkey
- 四、写在最后
一、什么是keyboard库
keyboard 是一个用于监听和控制键盘事件的 Python 库。
它允许你检测键盘按键、模拟键盘输入以及绑定快捷键来执行特定的回调函数。这个库在需要处理键盘输入的自动化任务、游戏脚本、宏命令和其他类似应用中非常有用。
keyboard 库的一些主要功能:
- 监听键盘事件:可以实时监听键盘按键,包括按下和释放事件。
- 模拟键盘输入:可以模拟键盘按键,发送组合键等。
- 全局热键:可以为特定的键盘快捷键绑定回调函数,当用户按下这些快捷键时,会触发相应的回调函数。
看看官方文档
https://pypi.org/project/keyboard/
https://github.com/boppreh/keyboard?tab=readme-ov-file
二、keyboard的安装
参考官方文档
pip install keyboard
三、keyboard的一些用法
3.0、event
- name: 字符的 Unicode 表示(例如 “&”)或描述(例如 “space”)。名称始终为小写。
- scan_code: 代表物理键的数字,例如 55。
- time: 事件发生的时间戳,精度由操作系统提供。
- event_type:按键的状态
3.1、keyboard.wait
阻塞主线程,保持程序运行
import keyboard# 这里按一个键有两个输出,因为按下和回弹是两个事件,触发了hook方法,可以用if来限制
def on_key_event(event):print(f"Key {event.name} + {event.event_type}")# 注册一个全局键盘事件监听器
keyboard.hook(on_key_event)# 阻塞主线程,保持程序运行
# 当你按下esc(即退出键),就会停止程序
keyboard.wait('esc')
3.2、keyboard.hook
监听键盘上任何变化
import keyboarddef on_key_event(event):print(f"Key {event.name} + {event.event_type}")# 注册一个全局键盘事件监听器
# 只要键盘任何一个键,按下或者弹起,都会触发hook方法,进而调用on_key_event方法
keyboard.hook(on_key_event)# 阻塞主线程,保持程序运行
keyboard.wait('esc')
3.3、keyboard.on_press
监听键盘上的按下事件
import keyboarddef on_key_event(event):print(f"Key {event.name} + {event.event_type}")# 注册一个全局键盘按下事件监听器
# 只要按下了,就调用方法
keyboard.on_press(on_key_event)# 阻塞主线程,保持程序运行
keyboard.wait('esc')
3.4、keyboard.add_hotkey
添加一个热键或组合键,例如 ‘ctrl+shift+a’
import keyboarddef on_hotkey():print("Hotkey pressed!")# 注册一个全局热键 'ctrl+shift+a'
# keyboard.add_hotkey('ctrl+shift+a', on_hotkey)
keyboard.add_hotkey('a+s+d, space', on_hotkey)# 阻塞主线程,保持程序运行
keyboard.wait('esc')
- ‘ctrl+shift+a’:只要同时按住这三个键,就会调用任务
- ‘a+s+d, space’:我尝试了即便,触发的概率有点低,没有规律的复现。按文档说是每次按下热键时调用回调函数。热键必须以
ctrl+shift+a, s
的格式表示。这意味着当用户同时按住 a、s和 “d”,然后释放它们并按下 “空格键” 时会触发。
四、写在最后
这个还是蛮好玩的。
等后面有用到其他方法再继续补充