展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 如何精准检测鼠标与键盘空闲时间(排除游戏手柄等其他输入设备)

如何精准检测鼠标与键盘空闲时间(排除游戏手柄等其他输入设备)

基于pynput库实现仅响应鼠标与键盘的空闲时间检测,通过低级钩子过滤输入源,排除游戏手柄等非目标设备干扰,避免系统GetLastInputInfo()误判。方案跨平台、无需管理员权限,并支持事件粒度控制,适用于精准用户行为监控场景。

本文目录
    本文介绍使用 Python 的 pynput 库实现仅响应鼠标和键盘输入的空闲时间检测方案,避免 GetLastInputInfo() 因捕获游戏控制器等非目标设备事件而导致误判的问题。

    在 Windows 平台上做用户行为监控、自动锁屏或节能策略时,一个绕不开的问题就是:怎么判断用户是不是真的“空闲”了?系统自带的 GetLastInputInfo() 用起来确实方便,可它有个“小毛病”——底层监听的是所有原始输入设备,包括游戏手柄、绘图板、VR 控制器这类 HID 设备。换句话说,哪怕用户根本没碰键盘鼠标,只是无意间晃了下手柄,空闲计时器就被重置了。这在游戏场景或专业外设环境中尤其让人头疼。

    更精确的做法是主动监听,并且把设备类型限定死:只关注鼠标和键盘,其他 HID 设备一概忽略。pynput 这个 Python 库正好派上用场——它跨平台、轻量、开箱即用,底层通过操作系统原生接口(Windows 上是 Raw Input + WH_KEYBOARD_LL / WH_MOUSE_LL 钩子)捕获输入,默认只响应标准键鼠设备,天然不会受非目标外设干扰。

    下面是一个完整可运行的示例代码:

    from time import time
    from pynput.keyboard import Listener as KeyListener
    from pynput.mouse import Listener as MouseListener
    
    idle_time = time()
    txt = "You've been idle for {:.1f} seconds."
    
    def on_activity():
        global idle_time
        print(txt.format(time() - idle_time))
        idle_time = time()
    
    if __name__ == '__main__':
        # 启动键盘监听:任意按键触发重置
        KeyListener(on_press=lambda key: on_activity()).start()
    
        # 启动鼠标监听:移动、点击、滚动均触发重置
        with MouseListener(
            on_move=lambda x, y: on_activity(),
            on_click=lambda x, y, button, pressed: on_activity(),
            on_scroll=lambda x, y, dx, dy: on_activity()
        ) as mouse_listener:
            mouse_listener.join()  # 阻塞主线程,保持监听活跃

    ✅ 关键优势说明:

    • ✅ 设备隔离性:pynput 不依赖全局输入队列,而是通过低级钩子直接过滤输入源,游戏手柄、触摸屏、语音设备都不会触发回调。
    • ✅ 事件粒度可控:可以单独启用或禁用 on_move、on_click 等事件。比如只关心按键和点击,忽略微小的鼠标移动,让空闲判定更合理。
    • ✅ 无需管理员权限:相比直接调用 RegisterRawInputDevices,pynput 已经封装好了权限与线程同步,开箱即用。

    ⚠️ 注意事项:

    • 用 PyInstaller 打包时,记得加 --hidden-import=pynput,否则可能因为动态导入失败而翻车。
    • 如果需要在后台长期运行(比如服务程序),建议把监听逻辑放到独立线程里,配合 threading.Event 来实现优雅退出。
    • macOS 和 Linux 下的行为一致,但底层机制不同(例如 macOS 使用 Quartz Event Taps),不过无需额外适配,直接跑就行。

    总而言之,当精度比系统调用的简洁性更重要时,pynput 给出了一条平衡开发效率与设备选择自由度的路径——它让“用户是否真的在用电脑”这个判断回归到最核心的交互设备(键盘和鼠标),而不是被外围硬件噪声干扰得七零八落。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。