欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > keyboard库

keyboard库

2025/1/12 10:39:49 来源:https://blog.csdn.net/weixin_46107120/article/details/145079368  浏览:    关键词:keyboard库

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 库的一些主要功能:

  1. 监听键盘事件:可以实时监听键盘按键,包括按下和释放事件。
  2. 模拟键盘输入:可以模拟键盘按键,发送组合键等。
  3. 全局热键:可以为特定的键盘快捷键绑定回调函数,当用户按下这些快捷键时,会触发相应的回调函数。

看看官方文档
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”,然后释放它们并按下 “空格键” 时会触发。
    在这里插入图片描述

四、写在最后

这个还是蛮好玩的。
等后面有用到其他方法再继续补充

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com