Keyboard 键盘库:Python 键盘操作与自动化指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

简介

键盘输入自动化与事件处理,无论是用于应用测试,还是创建自定义脚本和实用工具,都是至关重要的环节。当需要程序化地按下按键、响应输入或创建专属热键时,Python 提供了一个出色的库——keyboard。

keyboard 是一个功能强大的跨平台工具,允许你在操作系统层面控制键盘。它既能作为事件监听器,也能作为事件生成器:既可以拦截键盘输入,也可以模拟键盘操作。

本文将深入讲解 keyboard 库,从安装到高级应用场景,涵盖宏录制、全局热键、日志记录以及组合键处理等内容。

安装与环境要求

通过 pip 即可安装该库:

pip install keyboard

系统要求

Windows: 无需额外配置,开箱即用。

Linux: 捕获全局键盘事件需要 root 权限。本地使用时,可通过 sudo 运行。

macOS: 功能部分受限,需要在安全设置中授予额外权限。必须为辅助功能提供访问权限。

核心功能概览

keyboard 库提供了丰富的键盘操作功能:

模拟按键

程序化地模拟按键操作,适用于自动化重复性任务。

键盘事件监听

实时追踪按键事件,创建自定义的事件处理器。

创建热键

注册全局组合键,快速调用特定功能。

宏录制与回放

录制按键序列,并支持后续回放。

基础按键模拟

输入文本

import keyboard

# 简单文本输入
keyboard.write("Hello, world!")

# 带延迟的输入
keyboard.write("慢速输入", delay=0.1)

按下与释放按键

# 按下按键(不释放)
keyboard.press("ctrl")

# 释放按键
keyboard.release("ctrl")

# 按下并立即释放
keyboard.press_and_release("enter")

组合键

# 发送组合键
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")

# 另一种方式
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")

热键操作

注册热键

import keyboard

def launch_notepad():
    print("启动记事本!")
    # 此处可添加启动应用的代码

# 注册热键
keyboard.add_hotkey("ctrl+alt+n", launch_notepad)

# 等待按下 Esc 退出
keyboard.wait("esc")

多重组合键

# 多个连续按键的组合
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("复杂组合键!"))

热键管理

# 移除特定热键
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("热键触发!"))
keyboard.remove_hotkey(hotkey)

# 清除所有热键
keyboard.clear_hotkeys()

键盘事件处理

监听按键

def on_key_press(event):
    print(f"按下的键:{event.name}")

def on_key_release(event):
    print                    

推荐