You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python代码检测左键按下及0.5秒内双击Alt键?

实现左键按下时检测0.5秒内Alt键连续双击的Python方案

需求:检测左键是否被按下,同时检测在约0.5秒的时间范围内Alt键是否被连续按下两次。

原代码存在的问题

  1. while True的else分支永远不会执行,状态重置逻辑完全失效
  2. 第三次elif仅判断时间范围,未检测Alt键是否被再次按下,会导致时间窗口内持续触发提示
  3. 缺少按键松开后的状态重置逻辑,比如左键松开后未重置Alt相关标记

修正后的代码

import keyboard
import time

def main():
    left_pressed = False
    first_alt_time = 0
    alt_double_clicked = False
    double_click_window = 0.5  # 0.5秒的检测窗口

    while True:
        # 检测左键按下/松开状态
        if keyboard.is_pressed('left'):
            if not left_pressed:
                print('左键已按下')
                left_pressed = True
                # 按下左键时重置Alt相关状态
                first_alt_time = 0
                alt_double_clicked = False
        else:
            if left_pressed:
                left_pressed = False
                print('左键已松开')
        
        # 左键按下状态下检测Alt键
        if left_pressed:
            if keyboard.is_pressed('alt'):
                if not first_alt_time:
                    # 第一次按下Alt,记录时间
                    print('第一次按下Alt')
                    first_alt_time = time.time()
                    alt_double_clicked = False
                else:
                    # 已记录过第一次Alt的时间,检查是否在窗口内再次按下
                    current_time = time.time()
                    if current_time - first_alt_time <= double_click_window and not alt_double_clicked:
                        print('0.5秒内连续按下两次Alt')
                        alt_double_clicked = True
            else:
                # 松开Alt时,若超过窗口时间则重置第一次Alt的记录
                if first_alt_time and time.time() - first_alt_time > double_click_window:
                    first_alt_time = 0
        
        time.sleep(0.01)  # 降低CPU占用

if __name__ == "__main__":
    main()

代码说明

  • 用left_pressed跟踪左键的按下状态,松开时自动重置Alt相关标记
  • first_alt_time记录第一次按下Alt的时间,alt_double_clicked标记是否已触发过双击提示
  • 左键按下状态下,第一次按Alt记录时间;0.5秒内再次按Alt则触发双击提示
  • 松开Alt且超过检测窗口后,重置第一次Alt的记录,允许重新触发双击检测
  • 添加time.sleep(0.01)减少循环对CPU的占用

内容的提问来源于stack exchange,提问作者White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:01:23